https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53932
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #8 from Jakub Jelinek <jakub at gcc dot gnu.org> --- It isn't just references: static union { int i; }; int &r = i; int s = i; int *t = &i; void foo (int **p, int *q) { *p = &i; *q = i; } Inside of the function or global constructor for s it works ok.