diff options
author | Douglas Gregor <dgregor@apple.com> | 2008-11-19 19:09:45 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2008-11-19 19:09:45 +0000 |
commit | 487a75ab300552e42afa45b8199133f838a40e5f (patch) | |
tree | f57cfd74663dd31b8465880722dfc007b946aa0d /lib | |
parent | bd1f63a1ac89ba05c65d01c9e5310f06e28c612e (diff) |
Some tweaks suggested by Argiris
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59661 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Parse/ParseExprCXX.cpp | 10 | ||||
-rw-r--r-- | lib/Sema/Sema.h | 20 | ||||
-rw-r--r-- | lib/Sema/SemaExprCXX.cpp | 27 |
3 files changed, 28 insertions, 29 deletions
diff --git a/lib/Parse/ParseExprCXX.cpp b/lib/Parse/ParseExprCXX.cpp index 90caa859a1..46c7a135e0 100644 --- a/lib/Parse/ParseExprCXX.cpp +++ b/lib/Parse/ParseExprCXX.cpp @@ -150,12 +150,12 @@ Parser::ExprResult Parser::ParseCXXIdExpression() { case tok::kw_operator: { SourceLocation OperatorLoc = Tok.getLocation(); if (OverloadedOperatorKind Op = TryParseOperatorFunctionId()) { - return Actions.ActOnOperatorFunctionIdExpr(CurScope, OperatorLoc, Op, - Tok.is(tok::l_paren), &SS); + return Actions.ActOnCXXOperatorFunctionIdExpr(CurScope, OperatorLoc, Op, + Tok.is(tok::l_paren), SS); } else if (TypeTy *Type = ParseConversionFunctionId()) { - return Actions.ActOnConversionFunctionExpr(CurScope, OperatorLoc, - Type, Tok.is(tok::l_paren), - &SS); + return Actions.ActOnCXXConversionFunctionExpr(CurScope, OperatorLoc, + Type, Tok.is(tok::l_paren), + SS); } // We already complained about a bad conversion-function-id, diff --git a/lib/Sema/Sema.h b/lib/Sema/Sema.h index 983fa306d2..85acc3eb8f 100644 --- a/lib/Sema/Sema.h +++ b/lib/Sema/Sema.h @@ -612,16 +612,16 @@ public: IdentifierInfo &II, bool HasTrailingLParen, const CXXScopeSpec *SS = 0); - virtual ExprResult ActOnOperatorFunctionIdExpr(Scope *S, - SourceLocation OperatorLoc, - OverloadedOperatorKind Op, - bool HasTrailingLParen, - const CXXScopeSpec *SS = 0); - virtual ExprResult ActOnConversionFunctionExpr(Scope *S, - SourceLocation OperatorLoc, - TypeTy *Ty, - bool HasTrailingLParen, - const CXXScopeSpec *SS); + virtual ExprResult ActOnCXXOperatorFunctionIdExpr(Scope *S, + SourceLocation OperatorLoc, + OverloadedOperatorKind Op, + bool HasTrailingLParen, + const CXXScopeSpec &SS); + virtual ExprResult ActOnCXXConversionFunctionExpr(Scope *S, + SourceLocation OperatorLoc, + TypeTy *Ty, + bool HasTrailingLParen, + const CXXScopeSpec &SS); ExprResult ActOnDeclarationNameExpr(Scope *S, SourceLocation Loc, DeclarationName Name, bool HasTrailingLParen, diff --git a/lib/Sema/SemaExprCXX.cpp b/lib/Sema/SemaExprCXX.cpp index 94fca00779..0186fc3f14 100644 --- a/lib/Sema/SemaExprCXX.cpp +++ b/lib/Sema/SemaExprCXX.cpp @@ -19,36 +19,35 @@ #include "clang/Basic/Diagnostic.h" using namespace clang; -/// ActOnConversionFunctionExpr - Parse a C++ conversion function +/// ActOnCXXConversionFunctionExpr - Parse a C++ conversion function /// name (e.g., operator void const *) as an expression. This is /// very similar to ActOnIdentifierExpr, except that instead of /// providing an identifier the parser provides the type of the /// conversion function. -Sema::ExprResult Sema::ActOnConversionFunctionExpr(Scope *S, - SourceLocation OperatorLoc, - TypeTy *Ty, - bool HasTrailingLParen, - const CXXScopeSpec *SS) { +Sema::ExprResult +Sema::ActOnCXXConversionFunctionExpr(Scope *S, SourceLocation OperatorLoc, + TypeTy *Ty, bool HasTrailingLParen, + const CXXScopeSpec &SS) { QualType ConvType = QualType::getFromOpaquePtr(Ty); QualType ConvTypeCanon = Context.getCanonicalType(ConvType); DeclarationName ConvName = Context.DeclarationNames.getCXXConversionFunctionName(ConvTypeCanon); return ActOnDeclarationNameExpr(S, OperatorLoc, ConvName, HasTrailingLParen, - SS); + &SS); } -/// ActOnOperatorFunctionIdExpr - Parse a C++ overloaded operator +/// ActOnCXXOperatorFunctionIdExpr - Parse a C++ overloaded operator /// name (e.g., @c operator+ ) as an expression. This is very /// similar to ActOnIdentifierExpr, except that instead of providing /// an identifier the parser provides the kind of overloaded /// operator that was parsed. -Sema::ExprResult Sema::ActOnOperatorFunctionIdExpr(Scope *S, - SourceLocation OperatorLoc, - OverloadedOperatorKind Op, - bool HasTrailingLParen, - const CXXScopeSpec *SS) { +Sema::ExprResult +Sema::ActOnCXXOperatorFunctionIdExpr(Scope *S, SourceLocation OperatorLoc, + OverloadedOperatorKind Op, + bool HasTrailingLParen, + const CXXScopeSpec &SS) { DeclarationName Name = Context.DeclarationNames.getCXXOperatorName(Op); - return ActOnDeclarationNameExpr(S, OperatorLoc, Name, HasTrailingLParen, SS); + return ActOnDeclarationNameExpr(S, OperatorLoc, Name, HasTrailingLParen, &SS); } /// ActOnCXXTypeidOfType - Parse typeid( type-id ). |