Hi again, I managed to spend much more time on the issue and I'm starting a new thread with a mature - IMHO - proposal: the big thing is the use of the existing check_array_designated_initializer in process_init_constructor_array,  which calls maybe_constant_value, as we want, and covers all the ill-formed cases which I can imagine. I'm also tweaking a bit the parser to check the return value of require_potential_rvalue_constant_expression in order to avoid redundant diagnostic in some cases. Also, a couple more testcases beyond the bug report. Tested x86_64-linux. Thanks, Paolo. ////////////////////////