summaryrefslogtreecommitdiff
path: root/test/PCH/pch-hdrstop-err.cpp
diff options
context:
space:
mode:
authorMike Rice <michael.p.rice@intel.com>2018-09-11 17:10:44 +0000
committerMike Rice <michael.p.rice@intel.com>2018-09-11 17:10:44 +0000
commit3886719cbbfb304f2eb93fba42b904959a8e77c3 (patch)
tree9f43b1ea80ad36a744d8179a60271e184b2e043c /test/PCH/pch-hdrstop-err.cpp
parent0a8a76da18b28bea9500c5f4539fe9c65075b4ac (diff)
downloadclang-3886719cbbfb304f2eb93fba42b904959a8e77c3.tar.gz
[clang-cl, PCH] Support for /Yc and /Yu without filename and #pragma hdrstop
With clang-cl, when the user specifies /Yc or /Yu without a filename the compiler uses a #pragma hdrstop in the main source file to determine the end of the PCH. If a header is specified with /Yc or /Yu #pragma hdrstop has no effect. The optional #pragma hdrstop filename argument is not yet supported. Differential Revision: https://reviews.llvm.org/D51391 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@341963 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/PCH/pch-hdrstop-err.cpp')
-rw-r--r--test/PCH/pch-hdrstop-err.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/PCH/pch-hdrstop-err.cpp b/test/PCH/pch-hdrstop-err.cpp
new file mode 100644
index 0000000000..7e66c96eec
--- /dev/null
+++ b/test/PCH/pch-hdrstop-err.cpp
@@ -0,0 +1,14 @@
+// Create PCH with #pragma hdrstop
+// RUN: %clang_cc1 -I %S -emit-pch -pch-through-hdrstop-create \
+// RUN: -fms-extensions -o %t.pch -x c++-header %s
+
+// Use PCH with no #pragma hdrstop
+// RUN: not %clang_cc1 -I %S -emit-obj -include-pch %t.pch \
+// RUN: -pch-through-hdrstop-use -fms-extensions -o %t.obj -x c++ %s 2>&1 \
+// RUN: | FileCheck --check-prefix=CHECK-U %s
+
+#include "Inputs/pch-through1.h"
+static int bar() { return 42; }
+#include "Inputs/pch-through2.h"
+int pch();
+//CHECK-U: hdrstop not seen while attempting to use precompiled header