diff --git a/gcc/gcc/config/m68k/m68k.c b/gcc/gcc/config/m68k/m68k.c index d872486f58..d66ea01a9f 100644 --- a/gcc/gcc/config/m68k/m68k.c +++ b/gcc/gcc/config/m68k/m68k.c @@ -5207,6 +5207,7 @@ output_call (rtx x) while(arg) { tree word_tree = TREE_VALUE(arg); + gcc_assert(TREE_CODE(word_tree) == INTEGER_CST); if (TREE_CODE(word_tree) == INTEGER_CST) { int word = TREE_INT_CST_LOW(word_tree); diff --git a/gcc/gcc/cp/parser.c b/gcc/gcc/cp/parser.c index 26497b8432..7396614ef0 100644 --- a/gcc/gcc/cp/parser.c +++ b/gcc/gcc/cp/parser.c @@ -41505,6 +41505,7 @@ static tree cp_parser_inline_opcodes(cp_parser * parser) tree val = cp_parser_constant_expression (parser, /*allow_non_constant_p=*/false, NULL); + val = cp_fully_fold(val); vec_safe_push (expr_list, val); if(cp_lexer_next_token_is(parser->lexer, CPP_COMMA))