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
