/*
  RUN: %clang_cc1 -E -trigraphs %s | grep bar
  RUN: %clang_cc1 -E -trigraphs %s | grep foo
  RUN: %clang_cc1 -E -trigraphs %s | not grep abc
  RUN: %clang_cc1 -E -trigraphs %s | not grep xyz
  RUN: %clang_cc1 -fsyntax-only -trigraphs -verify %s  
*/

// This is a simple comment, /*/ does not end a comment, the trailing */ does.
int i = /*/ */ 1;

/* abc

next comment ends with normal escaped newline:
*/

/* expected-warning {{escaped newline}} expected-warning {{backslash and newline}}  *\  
/

int bar /* expected-error {{expected ';' after top level declarator}} */

/* xyz

next comment ends with a trigraph escaped newline: */

/* expected-warning {{escaped newline between}}   expected-warning {{backslash and newline separated by space}}    expected-warning {{trigraph ends block comment}}   *??/    
/

foo


// rdar://6060752 - We should not get warnings about trigraphs in comments:
// '????'
/* ???? */





/*
  RUN: %clang_cc1 -E -trigraphs %s | grep bar
  RUN: %clang_cc1 -E -trigraphs %s | grep foo
  RUN: %clang_cc1 -E -trigraphs %s | not grep qux
  RUN: %clang_cc1 -E -trigraphs %s | not grep xyz
  RUN: %clang_cc1 -fsyntax-only -trigraphs -verify %s  
*/

// This is a simple comment, /*/ does not end a comment, the trailing */ does.
int i = /*/ */ 1;

/* qux

next comment ends with normal escaped newline:
*/

/* expected-warning {{escaped newline}} expected-warning {{backslash and newline}}  *\  
/

int bar /* expected-error {{expected ';' after top level declarator}} */

/* xyz

next comment ends with a trigraph escaped newline: */

/* expected-warning {{escaped newline between}}   expected-warning {{backslash and newline separated by space}}    expected-warning {{trigraph ends block comment}}   *??/    
/

foo


// rdar://6060752 - We should not get warnings about trigraphs in comments:
// '????'
/* ???? */

Change magic string "abc" to better magic string "qux".
Change magic string "abc" to better magic string "qux".

Wait, what?

So, we run Clang (and LLVM) tests in an environment where the md5sum of the
input files becomes a component of the path. When testing the preprocessor,
the path becomes part of the output (in line directives). In this test, we
were grepping for the absence of "abc" in the output. When the stars aligned
properly, the md5sum component of the path contained "abc" and the test
failed. Oops.

git-svn-id: ffe668792ed300d6c2daa1f6eba2e0aa28d7ec6c@131147 91177308-0d34-0410-b5e6-96231b3b80d8
