On Apr 9, 2013, at 6:46 , Serge Pavlov <[email protected]> wrote:

> Hi Richard,
> 
> I've changed the check as you recommended before.
> 
> 2013/4/9 Richard Smith <[email protected]>:
>> This check still looks wrong to me. CodeGen has special cases for VLAs,
>> void, and function types; any other zero-size type should get a diagnostic.
>> Right now, it looks like you're missing at least the case of an array with a
>> zero-sized element type (such as an array of empty records). I think that's
>> the only other case for GNU C, but Objective-C might add some more
>> possibilities?
> 
> Yes, array of empty records is another king of zero-size object, which I 
> missed.
> As for Objective-C, I couldn't invent something new...

I think it's safe to ignore Objective-C. In theory you can declare a zero-size 
object (which will then be recognized by the runtime somehow, like tagged 
pointers), but in practice it won't happen in user code. You can't take the 
size of an Objective-C object in the non-fragile runtime, and even in the 
fragile runtime you can't create an Objective-C object on the stack.

Jordan
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to