https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84082
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- build_functional_cast here creates CAST_EXPR with NULL TREE_TYPE as well as TREE_OPERAND (, 0) and cp_parser_constant_expression -> potential_rvalue_constant_expression -> potential_constant_expression_1 is called on it and doesn't handle that case: return (RECUR (TREE_OPERAND (t, 0), TREE_CODE (TREE_TYPE (t)) != REFERENCE_TYPE));