[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