[cfe-commits] r59661 - in /cfe/trunk: include/clang/Parse/Action.h lib/Parse/ParseExprCXX.cpp lib/Sema/Sema.h lib/Sema/SemaExprCXX.cpp
Douglas Gregor
doug.gregor at gmail.com
Wed Nov 19 11:09:46 PST 2008
Author: dgregor
Date: Wed Nov 19 13:09:45 2008
New Revision: 59661
URL: http://llvm.org/viewvc/llvm-project?rev=59661&view=rev
Log:
Some tweaks suggested by Argiris
Modified:
cfe/trunk/include/clang/Parse/Action.h
cfe/trunk/lib/Parse/ParseExprCXX.cpp
cfe/trunk/lib/Sema/Sema.h
cfe/trunk/lib/Sema/SemaExprCXX.cpp
Modified: cfe/trunk/include/clang/Parse/Action.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Parse/Action.h?rev=59661&r1=59660&r2=59661&view=diff
==============================================================================
--- cfe/trunk/include/clang/Parse/Action.h (original)
+++ cfe/trunk/include/clang/Parse/Action.h Wed Nov 19 13:09:45 2008
@@ -469,24 +469,24 @@
/// similar to ActOnIdentifierExpr, except that instead of providing
/// an identifier the parser provides the kind of overloaded
/// operator that was parsed.
- virtual ExprResult ActOnOperatorFunctionIdExpr(Scope *S,
- SourceLocation OperatorLoc,
- OverloadedOperatorKind Op,
- bool HasTrailingLParen,
- const CXXScopeSpec *SS = 0) {
+ virtual ExprResult ActOnCXXOperatorFunctionIdExpr(Scope *S,
+ SourceLocation OperatorLoc,
+ OverloadedOperatorKind Op,
+ bool HasTrailingLParen,
+ const CXXScopeSpec &SS) {
return 0;
}
- /// ActOnConversionFunctionExpr - Parse a C++ conversion function
+ /// ActOnCXXConversionFunctionExpr - Parse a C++ conversion function
/// name (e.g., @c 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.
- virtual ExprResult ActOnConversionFunctionExpr(Scope *S,
- SourceLocation OperatorLoc,
- TypeTy *Type,
- bool HasTrailingLParen,
- const CXXScopeSpec *SS = 0) {
+ virtual ExprResult ActOnCXXConversionFunctionExpr(Scope *S,
+ SourceLocation OperatorLoc,
+ TypeTy *Type,
+ bool HasTrailingLParen,
+ const CXXScopeSpec &SS) {
return 0;
}
Modified: cfe/trunk/lib/Parse/ParseExprCXX.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Parse/ParseExprCXX.cpp?rev=59661&r1=59660&r2=59661&view=diff
==============================================================================
--- cfe/trunk/lib/Parse/ParseExprCXX.cpp (original)
+++ cfe/trunk/lib/Parse/ParseExprCXX.cpp Wed Nov 19 13:09:45 2008
@@ -150,12 +150,12 @@
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,
Modified: cfe/trunk/lib/Sema/Sema.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/Sema.h?rev=59661&r1=59660&r2=59661&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/Sema.h (original)
+++ cfe/trunk/lib/Sema/Sema.h Wed Nov 19 13:09:45 2008
@@ -612,16 +612,16 @@
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,
Modified: cfe/trunk/lib/Sema/SemaExprCXX.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaExprCXX.cpp?rev=59661&r1=59660&r2=59661&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaExprCXX.cpp (original)
+++ cfe/trunk/lib/Sema/SemaExprCXX.cpp Wed Nov 19 13:09:45 2008
@@ -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 ).
More information about the cfe-commits
mailing list