diff options
author | Richard Smith <richard-llvm@metafoo.co.uk> | 2011-10-15 05:09:34 +0000 |
---|---|---|
committer | Richard Smith <richard-llvm@metafoo.co.uk> | 2011-10-15 05:09:34 +0000 |
commit | 7fe6208c3fa91f835813bb78236ef5c2bbf81053 (patch) | |
tree | 2f5f5925c085d33e113c8aa57f552196e330af90 /lib/Parse/ParseExprCXX.cpp | |
parent | 8b11b5e6ce086fcaa7344bf84cffefcf4b53f9f6 (diff) |
Implement -Wc++98-compat warnings for the parser.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@142056 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Parse/ParseExprCXX.cpp')
-rw-r--r-- | lib/Parse/ParseExprCXX.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/lib/Parse/ParseExprCXX.cpp b/lib/Parse/ParseExprCXX.cpp index d079aa1d3d..33348a9aab 100644 --- a/lib/Parse/ParseExprCXX.cpp +++ b/lib/Parse/ParseExprCXX.cpp @@ -679,6 +679,8 @@ bool Parser::TryParseLambdaIntroducer(LambdaIntroducer &Intro) { /// expression. ExprResult Parser::ParseLambdaExpressionAfterIntroducer( LambdaIntroducer &Intro) { + Diag(Intro.Range.getBegin(), diag::warn_cxx98_compat_lambda); + // Parse lambda-declarator[opt]. DeclSpec DS(AttrFactory); Declarator D(DS, Declarator::PrototypeContext); @@ -1743,6 +1745,7 @@ bool Parser::ParseUnqualifiedIdOperator(CXXScopeSpec &SS, bool EnteringContext, // operator "" identifier if (getLang().CPlusPlus0x && Tok.is(tok::string_literal)) { + Diag(Tok.getLocation(), diag::warn_cxx98_compat_literal_operator); if (Tok.getLength() != 2) Diag(Tok.getLocation(), diag::err_operator_string_not_empty); ConsumeStringToken(); @@ -2104,6 +2107,8 @@ Parser::ParseCXXNewExpression(bool UseGlobal, SourceLocation Start) { return ExprError(); } } else if (Tok.is(tok::l_brace) && getLang().CPlusPlus0x) { + Diag(Tok.getLocation(), + diag::warn_cxx98_compat_generalized_initializer_lists); // FIXME: Have to communicate the init-list to ActOnCXXNew. ParseBraceInitializer(); } |