diff options
Diffstat (limited to 'clang')
-rw-r--r-- | clang/test/Driver/Inputs/stdc-predef/usr/include/stdc-predef.h | 12 | ||||
-rw-r--r-- | clang/test/Driver/stdc-predef.c | 25 | ||||
-rw-r--r-- | clang/test/Driver/stdc-predef.i | 16 |
3 files changed, 53 insertions, 0 deletions
diff --git a/clang/test/Driver/Inputs/stdc-predef/usr/include/stdc-predef.h b/clang/test/Driver/Inputs/stdc-predef/usr/include/stdc-predef.h new file mode 100644 index 00000000000..ddf0103beca --- /dev/null +++ b/clang/test/Driver/Inputs/stdc-predef/usr/include/stdc-predef.h @@ -0,0 +1,12 @@ +#ifndef _STDC_PREDEF_H +#define _STDC_PREDEF_H 1 + +#define DUMMY_STDC_PREDEF 1 + +#endif +#ifndef _STDC_PREDEF_H +#define _STDC_PREDEF_H 1 + +#define DUMMY_STDC_PREDEF 1 + +#endif diff --git a/clang/test/Driver/stdc-predef.c b/clang/test/Driver/stdc-predef.c new file mode 100644 index 00000000000..48dce2448ff --- /dev/null +++ b/clang/test/Driver/stdc-predef.c @@ -0,0 +1,25 @@ +// Test that clang preincludes stdc-predef.h, if the include file is available +// +// RUN: %clang %s -### -c 2>&1 \ +// RUN: --sysroot=%S/Inputs/stdc-predef \ +// RUN: | FileCheck -check-prefix CHECK-PREDEF %s +// RUN: %clang %s -### -c -ffreestanding 2>&1 \ +// RUN: --sysroot=%S/Inputs/stdc-predef \ +// RUN: | FileCheck --implicit-check-not "stdc-predef.h" %s +// RUN: %clang %s -c -E 2>&1 \ +// RUN: --sysroot=%S/Inputs/basic_linux_tree \ +// RUN: | FileCheck --implicit-check-not "stdc-predef.h" %s +// RUN: %clang -c %s -Xclang -verify -DCHECK_DUMMY=1 \ +// RUN: --sysroot=%S/Inputs/stdc-predef +// expected-no-diagnostics +// RUN: %clang -x cpp-output %s -### -c 2>&1 \ +// RUN: --sysroot=%S/Inputs/stdc-predef \ +// RUN: | FileCheck --implicit-check-not "stdc-predef.h" %s + +// CHECK-PREDEF: "-fsystem-include-if-exists" "stdc-predef.h" +int i; +#if CHECK_DUMMY +#if !DUMMY_STDC_PREDEF + #error "Expected macro symbol DUMMY_STDC_PREDEF is not defined." +#endif +#endif diff --git a/clang/test/Driver/stdc-predef.i b/clang/test/Driver/stdc-predef.i new file mode 100644 index 00000000000..63ed3d275b7 --- /dev/null +++ b/clang/test/Driver/stdc-predef.i @@ -0,0 +1,16 @@ +// The automatic preinclude of stdc-predef.h should not occur if +// the source filename indicates a preprocessed file. +// +// RUN: %clang %s -### -c 2>&1 \ +// RUN: --sysroot=%S/Inputs/stdc-predef \ +// RUN: | FileCheck --implicit-check-not "stdc-predef.h" %s + +int i; +// The automatic preinclude of stdc-predef.h should not occur if +// the source filename indicates a preprocessed file. +// +// RUN: %clang %s -### -c 2>&1 \ +// RUN: --sysroot=%S/Inputs/stdc-predef \ +// RUN: | FileCheck --implicit-check-not "stdc-predef.h" %s + +int i; |