diff --git a/Driver/PrintPreprocessedOutput.cpp b/Driver/PrintPreprocessedOutput.cpp
index 923439c..deb005c 100644
--- a/Driver/PrintPreprocessedOutput.cpp
+++ b/Driver/PrintPreprocessedOutput.cpp
@@ -438,7 +438,8 @@
     return isalnum(FirstChar) || Tok.is(tok::numeric_constant) ||
            FirstChar == '+' || FirstChar == '-' || FirstChar == '.';
   case tok::period:          // ..., .*, .1234
-    return FirstChar == '.' || FirstChar == '*' || isdigit(FirstChar);
+    return FirstChar == '.' || isdigit(FirstChar) ||
+           (FirstChar == '*' && PP.getLangOptions().CPlusPlus);
   case tok::amp:             // &&
     return FirstChar == '&';
   case tok::plus:            // ++
@@ -454,9 +455,11 @@
   case tok::pipe:            // ||
     return FirstChar == '|';
   case tok::percent:         // %>, %:
-    return FirstChar == '>' || FirstChar == ':';
+    return (FirstChar == '>' || FirstChar == ':') &&
+           PP.getLangOptions().Digraphs;
   case tok::colon:           // ::, :>
-    return FirstChar == ':' || FirstChar == '>';
+    return (FirstChar == ':' && PP.getLangOptions().CPlusPlus) ||
+           (FirstChar == '>' && PP.getLangOptions().Digraphs);
   case tok::hash:            // ##, #@, %:%:
     return FirstChar == '#' || FirstChar == '@' || FirstChar == '%';
   case tok::arrow:           // ->*
