blob: 20d9045221358ac569d5a79499b846a540f6cfde [file] [log] [blame]
Chris Lattner15008812006-06-18 07:00:07 +00001/*
Bill Wendlingfdddfc12007-06-27 07:26:41 +00002 RUN: clang -E %s | grep bar &&
3 RUN: clang -E %s | grep foo &&
4 RUN: clang -E %s | not grep abc &&
5 RUN: clang -E %s | not grep xyz &&
Bill Wendlingff1d2c82007-06-27 04:07:44 +00006 RUN: clang -parse-ast-check %s
7 */
Chris Lattner15008812006-06-18 07:00:07 +00008
Chris Lattnerc850ad62007-07-21 23:43:37 +00009// This is a simple comment, /*/ does not end a comment, the trailing */ does.
10int i = /*/ */ 1;
11
Chris Lattner15008812006-06-18 07:00:07 +000012/* abc
13
Chris Lattnerbdf3f732007-06-28 05:49:50 +000014next comment ends with normal escaped newline:
15*/
16
17/* expected-warning {{escaped newline}} expected-warning {{backslash and newline}} *\
18/
Chris Lattner15008812006-06-18 07:00:07 +000019
20bar
21
22/* xyz
23
Chris Lattnerbdf3f732007-06-28 05:49:50 +000024next comment ends with a trigraph escaped newline: */
Chris Lattner15008812006-06-18 07:00:07 +000025
Chris Lattnerbdf3f732007-06-28 05:49:50 +000026/* expected-warning {{escaped newline between}} expected-warning {{backslash and newline separated by space}} expected-warning {{trigraph ends block comment}} *??/
27/
Chris Lattner15008812006-06-18 07:00:07 +000028
Chris Lattnerbdf3f732007-06-28 05:49:50 +000029foo /* expected-error {{expected '=', ',', ';', 'asm', or '__attribute__' after declarator}} */
Chris Lattner15008812006-06-18 07:00:07 +000030