From c07a494b376f75f33759cf09ad188b11ef3fa9d5 Mon Sep 17 00:00:00 2001 From: Douglas Gregor Date: Sun, 15 Nov 2009 08:51:10 +0000 Subject: Don't gratuitously mark the default constructors of base or member initializers as used git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@88847 91177308-0d34-0410-b5e6-96231b3b80d8 --- test/SemaCXX/constructor-initializer.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'test/SemaCXX/constructor-initializer.cpp') diff --git a/test/SemaCXX/constructor-initializer.cpp b/test/SemaCXX/constructor-initializer.cpp index ec871764cf..43186013aa 100644 --- a/test/SemaCXX/constructor-initializer.cpp +++ b/test/SemaCXX/constructor-initializer.cpp @@ -158,3 +158,18 @@ class CopyConstructorTest { B(B), // expected-warning {{field is uninitialized when used here}} C(rhs.C || C) { } // expected-warning {{field is uninitialized when used here}} }; + +// Make sure we aren't marking default constructors when we shouldn't be. +template +struct NDC { + T &ref; + + NDC() { } + NDC(T &ref) : ref(ref) { } +}; + +struct X0 : NDC { + X0(int &ref) : NDC(ref), ndc(ref) { } + + NDC ndc; +}; -- cgit v1.2.3-70-g09d2