From 86785bb0bb3afd13cb7b63172c0d546dd4cd2de1 Mon Sep 17 00:00:00 2001 From: Erich Keane Date: Mon, 20 Nov 2017 21:15:01 +0000 Subject: [PATCH] Include test files for rL318668 Forgotten when doing my SVN commit. llvm-svn: 318694 --- .../Inputs/stdc-predef/usr/include/stdc-predef.h | 12 +++++++++++ clang/test/Driver/stdc-predef.c | 25 ++++++++++++++++++++++ clang/test/Driver/stdc-predef.i | 16 ++++++++++++++ 3 files changed, 53 insertions(+) create mode 100644 clang/test/Driver/Inputs/stdc-predef/usr/include/stdc-predef.h create mode 100644 clang/test/Driver/stdc-predef.c create mode 100644 clang/test/Driver/stdc-predef.i 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 0000000..ddf0103 --- /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 0000000..48dce24 --- /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 0000000..63ed3d27 --- /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; -- 2.7.4