------- Comment #2 from rsandifo at gcc dot gnu dot org 2006-02-23 09:01 ------- In keeping with your choice of "target" category, I think this is a Darwin-specific thing. ASM_DECLARE_OBJECT_NAME() in config/darwin.h says:
/* Darwin doesn't support zero-size objects, so give them a \ byte. */ \ if (tree_low_cst (DECL_SIZE_UNIT (DECL), 1) == 0) \ assemble_zeros (1); \ Adding extra data behind varasm's back is going to play havoc with any attempt to place objects correctly. I'm considering adding equivalent code to varasm.c. This will fix an inconsistency in the handling of zero-sized decls: sometimes they get a byte of storage allocated to them (giving them a unique address) and sometimes they don't. If the patch works out, I'll remove the code above. Not assigning myself until I get further though. -- rsandifo at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rsandifo at gcc dot gnu dot | |org Status|UNCONFIRMED |NEW Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2006-02-23 09:01:26 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26427