summaryrefslogtreecommitdiff
path: root/test/PCH/pr27445.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'test/PCH/pr27445.cpp')
-rw-r--r--test/PCH/pr27445.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/test/PCH/pr27445.cpp b/test/PCH/pr27445.cpp
new file mode 100644
index 000000000000..2a4af5e82761
--- /dev/null
+++ b/test/PCH/pr27445.cpp
@@ -0,0 +1,14 @@
+// RUN: %clang_cc1 -triple x86_64-windows-msvc -fms-extensions -x c++ %S/Inputs/pr27445.h -emit-pch -o %t.pch
+// RUN: %clang_cc1 -triple x86_64-windows-msvc -fms-extensions %s -include-pch %t.pch -emit-llvm -o - | FileCheck %s
+
+class A;
+void fn1(A &) {}
+
+class __declspec(dllexport) A {
+ int operator=(A) { return field_; }
+ void (*on_arena_allocation_)(Info);
+ int field_;
+};
+
+// CHECK: %class.A = type { void (%struct.Info*)*, i32 }
+// CHECK: %struct.Info = type { i32 (...)** }