r217995 - Instantiate exception specifications when instantiating function types (other

Hans Wennborg hans at chromium.org
Thu Sep 18 09:13:14 PDT 2014


On Thu, Sep 18, 2014 at 6:26 AM, Aaron Ballman <aaron at aaronballman.com> wrote:
>>>>>> ==============================================================================
>>>>>> --- cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp (original)
>>>>>> +++ cfe/trunk/lib/Sema/SemaTemplateInstantiate.cpp Wed Sep 17 18:57:05
>>>>>> 2014
>>>>>> @@ -788,12 +788,14 @@ namespace {
>>>>>>      /// pack.
>>>>>>      ExprResult TransformFunctionParmPackExpr(FunctionParmPackExpr *E);
>>>>>>
>>>>>> -    QualType TransformFunctionProtoType(TypeLocBuilder &TLB,
>>>>>> -                                        FunctionProtoTypeLoc TL);
>>>>>> +    // Pull in the base class overload; it just forwards to our
>>>>>> function.
>>>>>> +    using inherited::TransformFunctionProtoType;
>
> I think that this using declaration is the root cause. It is pulling
> in all of the inherited declarations of TransformFunctionProtoType,
> but that is causing ambiguity for MSVC -- and it's because of the
> template parameter.

I've reverted Richard's patch and follow-ups in r218058 until we can
figure out how to fix this.



More information about the cfe-commits mailing list