2010-07-21 04:18:03 +08:00
|
|
|
// Preamble detection test: see below for comments and test commands.
|
2010-07-22 03:40:01 +08:00
|
|
|
//
|
2010-07-21 04:18:03 +08:00
|
|
|
#include <blah>
|
|
|
|
#ifndef FOO
|
|
|
|
#else
|
|
|
|
#ifdef BAR
|
|
|
|
#elif WIBBLE
|
|
|
|
#endif
|
|
|
|
#pragma unknown
|
|
|
|
#endif
|
|
|
|
#ifdef WIBBLE
|
|
|
|
#include "honk"
|
|
|
|
#else
|
|
|
|
int foo();
|
|
|
|
#endif
|
|
|
|
|
|
|
|
// This test checks for detection of the preamble of a file, which
|
|
|
|
// includes all of the starting comments and #includes. Note that any
|
|
|
|
// changes to the preamble part of this file must be mirrored in
|
|
|
|
// Inputs/preamble.txt, since we diff against it.
|
|
|
|
|
|
|
|
// RUN: %clang_cc1 -print-preamble %s > %t
|
2010-07-22 10:22:24 +08:00
|
|
|
// RUN: echo END. >> %t
|
2010-07-22 03:40:01 +08:00
|
|
|
// RUN: FileCheck < %t %s
|
2010-07-22 06:09:09 +08:00
|
|
|
// XFAIL: win32
|
2010-07-22 03:40:01 +08:00
|
|
|
|
|
|
|
// CHECK: // Preamble detection test: see below for comments and test commands.
|
|
|
|
// CHECK-NEXT: //
|
|
|
|
// CHECK-NEXT: #include <blah>
|
|
|
|
// CHECK-NEXT: #ifndef FOO
|
|
|
|
// CHECK-NEXT: #else
|
|
|
|
// CHECK-NEXT: #ifdef BAR
|
|
|
|
// CHECK-NEXT: #elif WIBBLE
|
|
|
|
// CHECK-NEXT: #endif
|
|
|
|
// CHECK-NEXT: #pragma unknown
|
|
|
|
// CHECK-NEXT: #endif
|
2010-07-22 10:22:24 +08:00
|
|
|
// CHECK-NEXT: END.
|