summaryrefslogtreecommitdiffstats
path: root/clang/test/SemaCXX/value-initialization.cpp
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2010-04-15 00:00:53 +0000
committerDouglas Gregor <dgregor@apple.com>2010-04-15 00:00:53 +0000
commit454a5b65d4025d155788617a4880662ad8e039ae (patch)
treec66588b411da7e327cc0aab5d51f1a7f8ba241bd /clang/test/SemaCXX/value-initialization.cpp
parent97bdf94da37d8780c0f08ad18494e682ba28b544 (diff)
downloadbcm5719-llvm-454a5b65d4025d155788617a4880662ad8e039ae.tar.gz
bcm5719-llvm-454a5b65d4025d155788617a4880662ad8e039ae.zip
Warn about non-aggregate classes with no user-declared constructors
that have reference or const scalar members, since those members can never be initializer or modified. Fixes <rdar://problem/7804350>. llvm-svn: 101316
Diffstat (limited to 'clang/test/SemaCXX/value-initialization.cpp')
-rw-r--r--clang/test/SemaCXX/value-initialization.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/clang/test/SemaCXX/value-initialization.cpp b/clang/test/SemaCXX/value-initialization.cpp
index 16a7a1d0c9b..00bd1aaa40b 100644
--- a/clang/test/SemaCXX/value-initialization.cpp
+++ b/clang/test/SemaCXX/value-initialization.cpp
@@ -1,7 +1,9 @@
// RUN: %clang_cc1 -fsyntax-only -verify %s -std=c++0x
-struct A { // expected-error {{implicit default constructor for 'A' must explicitly initialize the const member 'i'}}
- const int i; // expected-note {{declared at}}
+struct A { // expected-error {{implicit default constructor for 'A' must explicitly initialize the const member 'i'}} \
+ // expected-warning{{struct 'A' does not declare any constructor to initialize its non-modifiable members}}
+ const int i; // expected-note {{declared at}} \
+ // expected-note{{const member 'i' will never be initialized}}
virtual void f() { }
};
OpenPOWER on IntegriCloud