annotate clang/test/PCH/no-validate-pch.cl @ 180:680fa57a2f20

fix compile errors.
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sat, 30 May 2020 17:44:06 +0900
parents 1d019706d866
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
150
anatofuz
parents:
diff changeset
1 // RUN: %clang_cc1 -emit-pch -D TWO=2 -D X=4 -o %t %s -triple spir-unknown-unknown
anatofuz
parents:
diff changeset
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
anatofuz
parents:
diff changeset
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
anatofuz
parents:
diff changeset
4
anatofuz
parents:
diff changeset
5 #ifndef HEADER
anatofuz
parents:
diff changeset
6 #define HEADER
anatofuz
parents:
diff changeset
7 // Header.
anatofuz
parents:
diff changeset
8
anatofuz
parents:
diff changeset
9 #define ONE 1
anatofuz
parents:
diff changeset
10
anatofuz
parents:
diff changeset
11 #else
anatofuz
parents:
diff changeset
12 // Using the header.
anatofuz
parents:
diff changeset
13
anatofuz
parents:
diff changeset
14 // CHECK: warning: 'X' macro redefined
anatofuz
parents:
diff changeset
15 // CHECK: #define X 5
anatofuz
parents:
diff changeset
16 // CHECK: note: previous definition is here
anatofuz
parents:
diff changeset
17 // CHECK: #define X 4
anatofuz
parents:
diff changeset
18
anatofuz
parents:
diff changeset
19 // CHECK-VAL: error: __OPTIMIZE__ predefined macro was enabled in PCH file but is currently disabled
anatofuz
parents:
diff changeset
20 // CHECK-VAL: error: definition of macro 'X' differs between the precompiled header ('4') and the command line ('5')
anatofuz
parents:
diff changeset
21
anatofuz
parents:
diff changeset
22 void test(void) {
anatofuz
parents:
diff changeset
23 int a = ONE;
anatofuz
parents:
diff changeset
24 int b = TWO;
anatofuz
parents:
diff changeset
25 int c = THREE;
anatofuz
parents:
diff changeset
26
anatofuz
parents:
diff changeset
27 #ifndef VALIDATE
anatofuz
parents:
diff changeset
28 #if X != 5
anatofuz
parents:
diff changeset
29 #error Definition of X is not overridden!
anatofuz
parents:
diff changeset
30 #endif
anatofuz
parents:
diff changeset
31
anatofuz
parents:
diff changeset
32 #ifdef __OPTIMIZE__
anatofuz
parents:
diff changeset
33 #error Optimization is not off!
anatofuz
parents:
diff changeset
34 #endif
anatofuz
parents:
diff changeset
35 #endif
anatofuz
parents:
diff changeset
36
anatofuz
parents:
diff changeset
37 }
anatofuz
parents:
diff changeset
38
anatofuz
parents:
diff changeset
39 #endif