[cfe-dev] [Patch] Fix out of line constructor definition parsing.

Douglas Gregor dgregor at apple.com
Mon Jul 6 09:49:31 PDT 2009


Hi Piotr,

Somehow, your patch got lost in my inbox. It's finally committed, here:

	http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20090706/018769.html

Sorry for the massive delay! Feel free to ping me if this happens again.

	- Doug

On Feb 25, 2009, at 1:00 PM, Piotr Rak wrote:

> Hi,
>
> 2009/2/25 Piotr Rak <piotr.rak at gmail.com>:
>> Hi,
>>
>> I found small bug with where clang does not like:
>>
>> namespace A {
>>  struct S {
>>    S();
>>    S(int);
>>    void f1();
>>    void f2();
>>    operator int ();
>>    ~S();
>>  };
>> }
>>
>> A::S::S() {}
>>
>> void A::S::f1() {}
>>
>> struct S {};
>>
>> A::S::S(int) {}
>>
>> void A::S::f2() {}
>>
>> A::S::operator int() { return 1; }
>>
>> A::S::~S() {}
>>
>> t2.cc:18:7: error: out-of-line definition does not match any  
>> declaration in 'S'
>> A::S::S(int) {}
>> ~~~~~ ^
>> t2.cc:24:7: error: out-of-line definition does not match any  
>> declaration in 'S'
>> A::S::~S() {}
>> ~~~~~ ^
>>
>> Problem was that CXXScopeSpec was not passed to Actions.getTypeName 
>> (),
>> and unqualified lookup was performed instead of qualified.
>> Attached fix_ctor_parsing.patch solves this issue.
>>
>
> This does not apply anymore, resending updated version.
>
> Piotr
> < 
> fix_ctor_parsing_v2 
> .patch>_______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev




More information about the cfe-dev mailing list