summaryrefslogtreecommitdiffstats
path: root/clang/test/Modules/Inputs
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2014-10-10 22:37:41 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2014-10-10 22:37:41 +0000
commit337f7c971654d127adde6ed7232bba5b2ad86ff2 (patch)
treef313a7db260f633708074de7163b22a0ba63cc86 /clang/test/Modules/Inputs
parenta8dd73229ebde88a130ad7b5fd668bf3593a8c58 (diff)
downloadbcm5719-llvm-337f7c971654d127adde6ed7232bba5b2ad86ff2.tar.gz
bcm5719-llvm-337f7c971654d127adde6ed7232bba5b2ad86ff2.zip
[modules] Delay loading the field declared with an anonymous tag declaration
until after we've had a chance to merge that tag. llvm-svn: 219539
Diffstat (limited to 'clang/test/Modules/Inputs')
-rw-r--r--clang/test/Modules/Inputs/cxx-templates-a.h8
-rw-r--r--clang/test/Modules/Inputs/cxx-templates-c.h7
2 files changed, 15 insertions, 0 deletions
diff --git a/clang/test/Modules/Inputs/cxx-templates-a.h b/clang/test/Modules/Inputs/cxx-templates-a.h
index c2ce74d195b..92333b377a1 100644
--- a/clang/test/Modules/Inputs/cxx-templates-a.h
+++ b/clang/test/Modules/Inputs/cxx-templates-a.h
@@ -89,3 +89,11 @@ typedef PartiallyInstantiatePartialSpec<int*> PartiallyInstantiatePartialSpecHel
void InstantiateWithAliasTemplate(WithAliasTemplate<int>::X<char>);
inline int InstantiateWithAnonymousDeclsA(WithAnonymousDecls<int> x) { return (x.k ? x.a : x.b) + (x.k ? x.s.c : x.s.d) + x.e; }
inline int InstantiateWithAnonymousDeclsB2(WithAnonymousDecls<char> x);
+
+
+template<typename T1 = int>
+struct MergeAnonUnionMember {
+ MergeAnonUnionMember() { (void)values.t1; }
+ union { int t1; } values;
+};
+inline MergeAnonUnionMember<> maum_a() { return {}; }
diff --git a/clang/test/Modules/Inputs/cxx-templates-c.h b/clang/test/Modules/Inputs/cxx-templates-c.h
index 6daffadc6ce..6b4c5066706 100644
--- a/clang/test/Modules/Inputs/cxx-templates-c.h
+++ b/clang/test/Modules/Inputs/cxx-templates-c.h
@@ -11,3 +11,10 @@ template<typename T> struct MergeTemplateDefinitions {
static constexpr int g();
};
template<typename T> constexpr int MergeTemplateDefinitions<T>::g() { return 2; }
+
+template<typename T1 = int>
+struct MergeAnonUnionMember {
+ MergeAnonUnionMember() { (void)values.t1; }
+ union { int t1; } values;
+};
+inline MergeAnonUnionMember<> maum_c() { return {}; }
OpenPOWER on IntegriCloud