diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-08-30 04:46:40 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2013-08-30 04:46:40 +0000 |
commit | a4ba74c5f50a1f03fdf7ff23b6b1a2380fb58a8c (patch) | |
tree | f1811cdd67505f2fddaba0d9386044cd8d2b1f14 /clang/test | |
parent | 8568e576b0e638e94993e437b9dc4b685ae295ae (diff) | |
download | bcm5719-llvm-a4ba74c5f50a1f03fdf7ff23b6b1a2380fb58a8c.tar.gz bcm5719-llvm-a4ba74c5f50a1f03fdf7ff23b6b1a2380fb58a8c.zip |
Don't eagerly load all conversion operators when loading a class declaration
from a PCH/module.
llvm-svn: 189646
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/PCH/check-deserializations.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/clang/test/PCH/check-deserializations.cpp b/clang/test/PCH/check-deserializations.cpp index 66eb5b480b9..e4dafb7f54a 100644 --- a/clang/test/PCH/check-deserializations.cpp +++ b/clang/test/PCH/check-deserializations.cpp @@ -1,6 +1,6 @@ // RUN: %clang_cc1 -emit-pch -o %t.1 %s -// RUN: %clang_cc1 -error-on-deserialized-decl S1_keyfunc -include-pch %t.1 -emit-pch -o %t.2 %s -// RUN: %clang_cc1 -error-on-deserialized-decl S1_method -include-pch %t.2 -emit-llvm-only %s +// RUN: %clang_cc1 -error-on-deserialized-decl S1_keyfunc -error-on-deserialized-decl S3 -include-pch %t.1 -emit-pch -o %t.2 %s +// RUN: %clang_cc1 -error-on-deserialized-decl S1_method -error-on-deserialized-decl S3 -include-pch %t.2 -emit-llvm-only %s #ifndef HEADER1 #define HEADER1 @@ -11,17 +11,24 @@ struct S1 { virtual void S1_keyfunc(); }; +struct S3 {}; + +struct S2 { + operator S3(); +}; + #elif !defined(HEADER2) #define HEADER2 // Chained PCH. -S1 *p; +S1 *s1; +S2 *s2; #else // Using the headers. -void test(S1*) { +void test(S1*, S2*) { } #endif |