Hi, this regression is about literal_type_p ICEing for types which cannot be completed. Indeed, for the testcase, complete_type cannot complete the type but doesn't error out either, just returns the type as-is, and the gcc_assert triggers. We could imagine handling such types in the caller - check_field_decls - but in my opinion makes more sense to just allow such types and return false. I also considered changing literal_type_p to use complete_type_or_else but then it's easy to produce duplicate diagnostics, for example. What do you think? Tested x86_64-linux. Thanks, Paolo. PS: eventually I guess we want to fix this in mainline and 4.7.1. ///////////////////////////