Home | History | Annotate | Download | only in Lexer
      1 /*
      2   RUN: %clang_cc1 -E -ftrigraphs %s | grep bar
      3   RUN: %clang_cc1 -E -ftrigraphs %s | grep foo
      4   RUN: %clang_cc1 -E -ftrigraphs %s | not grep qux
      5   RUN: %clang_cc1 -E -ftrigraphs %s | not grep xyz
      6   RUN: %clang_cc1 -fsyntax-only -ftrigraphs -verify %s
      7 */
      8 
      9 // This is a simple comment, /*/ does not end a comment, the trailing */ does.
     10 int i = /*/ */ 1;
     11 
     12 /* qux
     13 
     14 next comment ends with normal escaped newline:
     15 */
     16 
     17 /* expected-warning {{escaped newline}} expected-warning {{backslash and newline}}  *\
     18 /
     19 
     20 int bar /* expected-error {{expected ';' after top level declarator}} */
     21 
     22 /* xyz
     23 
     24 next comment ends with a trigraph escaped newline: */
     25 
     26 /* expected-warning {{escaped newline between}}   expected-warning {{backslash and newline separated by space}}    expected-warning {{trigraph ends block comment}}   *??/
     27 /
     28 
     29 foo
     30 
     31 
     32 // rdar://6060752 - We should not get warnings about trigraphs in comments:
     33 // '????'
     34 /* ???? */
     35