> Sure. So far I don't see a problem though. > > > > IE if we have something very funky like: > > > > static int c; > > static int d; > > static struct foo *a = &{&c, &d}; > > > > (and if you look, andrew found a case where we are producing > > &<constructor>, so this is a possibility, AFAICT) > > I disbelieve you can get this in C or C++. The fragment above > is a syntax error. AFAIK, all of this is simple laziness in the > Ada front end: generating &<constructor> is how things were done > at the beginning of time, and it was easier to change this in the > gimplifier than to modify the code that generated this directly.
Actually we do get it for C++. See PR 23171. Thanks, Andrew Pinski