[cfe-dev] Small change to ObjC builtin type definition

David Chisnall csdavec at swansea.ac.uk
Tue Sep 9 04:36:26 PDT 2008


On 9 Sep 2008, at 08:23, Jean-Daniel Dupas wrote:

>
> Le 9 sept. 08 à 02:23, David Chisnall a écrit :
>
>> On 8 Sep 2008, at 18:30, Daniel Dunbar wrote:
>>
>>> This causes several failure in the test suite
>>> (Parser/objc-forcollection-*) if I apply. Can
>>> you investigate?
>>
>> I see.  The problem was that now the new id type is being used, but
>> ASTContext doesn't recognise it as the ObjC type.  I've tweaked it
>> to set it in ASTContext and removed the assert()s here that check it
>> isn't already set.  Note that this will now leak, but I'm not sure
>> what the best way of fixing this is (can we safely delete the old
>> version?  Should we lazily create them somewhere if they're
>> referenced before first use (and if so where)?).
>>
>> The attached version passes all of the tests that it was passing
>> before the patch.
>
> I not aware of any objc file that does not include at least an header
> with the definition of the objc runtime base types (id, SEL, BOOL, …).
> Why where these types hard-coded in clang first ?

That was the question I asked last week.  Having received no answer, I  
presumed that there was some good reason.  If there isn't, then we can  
delete them from Sema.cpp and reinstate the asserts.

David



More information about the cfe-dev mailing list