• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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