https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116418
--- Comment #2 from Valentin Tolmer <valentin at tolmer dot fr> --- Sorry, typo in the last sentence: "the templated function doesn't have to be instantiated to trigger the bug". See https://godbolt.org/z/3xosx5dn4 for a reproduction. Adding an instantiation gives an additional knock-on error: <source>: In instantiation of 'void fn() [with <template-parameter-1-1> = int]': <source>:10:12: required from here <source>:3:21: error: variable or field 'v' declared void 3 | ({ decltype(auto) v = ({3;});}); // breaks | ^ Richard, are you sure you compiled with -O1?