https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84046
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |WAITING Known to work| |4.9.4 Version|unknown |8.0 Keywords| |wrong-code Last reconfirmed| |2018-01-26 CC| |jsm28 at gcc dot gnu.org Ever confirmed|0 |1 Summary|global zero-sized objects |[6/7/8 Regression] global |may have same address |zero-sized objects may have | |same address Target Milestone|--- |6.5 Known to fail| |5.1.0 --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. I think the C language doesn't specify this since zero-sized arrays are a GNU extension and thus in C no zero-sized types/decls exist? So not sure if there's anything to fix - Joseph? Note that for global unique addresses you can use global objects of size 1, like a char object. Not sure why you think using a GNU extension is superior?