summaryrefslogtreecommitdiffstats
path: root/clang/lib
diff options
context:
space:
mode:
authorRichard Smith <richard-llvm@metafoo.co.uk>2011-09-30 00:33:19 +0000
committerRichard Smith <richard-llvm@metafoo.co.uk>2011-09-30 00:33:19 +0000
commit7b729cdbffab7b9b4c93f6350ba1307ec21fe2f8 (patch)
treecc40035e2c051ed89ab8ece93d675bb9f9d1bef4 /clang/lib
parent2c024b2d6a91274af3400e52e0ee06cdd818c3bd (diff)
downloadbcm5719-llvm-7b729cdbffab7b9b4c93f6350ba1307ec21fe2f8.tar.gz
bcm5719-llvm-7b729cdbffab7b9b4c93f6350ba1307ec21fe2f8.zip
Suggest adding 'constexpr' if the GNU extension for in-class initializers for static const float members is used in C++11 mode.
llvm-svn: 140828
Diffstat (limited to 'clang/lib')
-rw-r--r--clang/lib/Sema/SemaDecl.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/clang/lib/Sema/SemaDecl.cpp b/clang/lib/Sema/SemaDecl.cpp
index 7bb3aa15110..3ba9464cb12 100644
--- a/clang/lib/Sema/SemaDecl.cpp
+++ b/clang/lib/Sema/SemaDecl.cpp
@@ -5879,6 +5879,10 @@ void Sema::AddInitializerToDecl(Decl *RealDecl, Expr *Init,
} else if (T->isFloatingType()) { // also permits complex, which is ok
Diag(VDecl->getLocation(), diag::ext_in_class_initializer_float_type)
<< T << Init->getSourceRange();
+ if (getLangOptions().CPlusPlus0x)
+ Diag(VDecl->getLocation(),
+ diag::note_in_class_initializer_float_type_constexpr)
+ << FixItHint::CreateInsertion(VDecl->getLocStart(), "constexpr ");
if (!Init->isValueDependent() &&
!Init->isConstantInitializer(Context, false)) {
OpenPOWER on IntegriCloud