[cfe-commits] r83000 - in /cfe/trunk: lib/Sema/SemaOverload.cpp test/CodeGenCXX/convert-to-fptr.cpp www/cxx_status.html

Fariborz Jahanian fjahanian at apple.com
Mon Sep 28 12:07:54 PDT 2009


Sure enough.

- Fariborz

On Sep 28, 2009, at 11:58 AM, Anders Carlsson wrote:

>
> On Sep 28, 2009, at 11:35 AM, Fariborz Jahanian wrote:
>
>> Author: fjahanian
>> Date: Mon Sep 28 13:35:46 2009
>> New Revision: 83000
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=83000&view=rev
>> Log:
>> Patch for AST representation for the implicit conversion to a  
>> function
>> reference/pointer. And a test case for code gen.
>
> Nice!
>
>> +
>> +    // Create an implicit member expr to refer to the conversion  
>> operator.
>> +    MemberExpr *ME =
>> +      new (Context) MemberExpr(Object, /*IsArrow=*/false, Conv,
>> +                               SourceLocation(), Conv->getType());
>> +    QualType ResultType = Conv- 
>> >getConversionType().getNonReferenceType();
>> +    CXXMemberCallExpr *CE =
>> +      new (Context) CXXMemberCallExpr(Context, ME, 0, 0,
>> +                                      ResultType,
>> +                                      SourceLocation());
>> +
>> +    return ActOnCallExpr(S, ExprArg(*this, CE), LParenLoc,
>>                         MultiExprArg(*this, (ExprTy**)Args, NumArgs),
>>                         CommaLocs, RParenLoc).release();
>
> I see the same code in Sema::BuildCXXCastArgument. Could you factor  
> this out into a helper member function that both  
> BuildCXXCastArgument and this could use?
>
> Anders
>




More information about the cfe-commits mailing list