Clang Project

clang_source_code/test/Headers/stdbool.cpp
1// RUN: %clang_cc1 -std=gnu++98 -E -dM %s | FileCheck --check-prefix=CHECK-GNU-COMPAT-98 %s
2// RUN: %clang_cc1 -std=gnu++11 -E -dM %s | FileCheck --check-prefix=CHECK-GNU-COMPAT-11 %s
3// RUN: %clang_cc1 -std=c++98 -E -dM %s | FileCheck --check-prefix=CHECK-CONFORMING %s
4// RUN: %clang_cc1 -fsyntax-only -std=gnu++98 -verify -Weverything %s
5#include <stdbool.h>
6#define zzz
7
8// CHECK-GNU-COMPAT-98: #define _Bool bool
9// CHECK-GNU-COMPAT-98: #define bool bool
10// CHECK-GNU-COMPAT-98: #define false false
11// CHECK-GNU-COMPAT-98: #define true true
12
13// CHECK-GNU-COMPAT-11: #define _Bool bool
14// CHECK-GNU-COMPAT-11-NOT: #define bool bool
15// CHECK-GNU-COMPAT-11-NOT: #define false false
16// CHECK-GNU-COMPAT-11-NOT: #define true true
17
18// CHECK-CONFORMING-NOT: #define _Bool
19// CHECK-CONFORMING: #define __CHAR_BIT__
20// CHECK-CONFORMING-NOT: #define false false
21// CHECK-CONFORMING: #define zzz
22
23zzz
24// expected-no-diagnostics
25extern bool x;
26