https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116130
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- BTW, the rule about composite types sounds fairly dangerous in the ?: operator case. For redeclarations it is the right thing, but for ?: yielding the union of the standard attributes will cause problems say on: int foo (int); [[unsequenced]] int bar (int); int baz (int x, int y) { int a = (y ? &foo : &bar) (x); int b = (y ? &foo : &bar) (x); return a + b; }