[NFC][analyzer][docs] Crosslink MallocChecker's ownership attributes (#121939)
[llvm-project.git] / clang / test / PCH / no-validate-pch.cl
blobaa228ee2052192c5e025007d96751ae864158213
1 // RUN: %clang_cc1 -emit-pch -D TWO=2 -D X=4 -o %t %s -triple spir-unknown-unknown
2 // RUN: %clang_cc1 -include-pch %t -D THREE=3 -D X=5 -O0 -U__OPTIMIZE__ -fno-validate-pch %s -triple spir-unknown-unknown 2>&1 | FileCheck %s
3 // RUN: not %clang_cc1 -include-pch %t -D THREE=3 -D X=5 -D VALIDATE -O0 -fsyntax-only %s -triple spir-unknown-unknown 2>&1 | FileCheck --check-prefix=CHECK-VAL %s
5 #ifndef HEADER
6 #define HEADER
7 // Header.
9 #define ONE 1
11 #else
12 // Using the header.
14 // CHECK: warning: 'X' macro redefined
15 // CHECK: #define X 5
16 // CHECK: note: previous definition is here
17 // CHECK: #define X 4
19 // CHECK-VAL: error: __OPTIMIZE__ predefined macro was enabled in AST file '{{.*}}' but is currently disabled
20 // CHECK-VAL: error: definition of macro 'X' differs between the AST file '{{.*}}' ('4') and the command line ('5')
22 void test(void) {
23 int a = ONE;
24 int b = TWO;
25 int c = THREE;
27 #ifndef VALIDATE
28 #if X != 5
29 #error Definition of X is not overridden!
30 #endif
32 #ifdef __OPTIMIZE__
33 #error Optimization is not off!
34 #endif
35 #endif
39 #endif