diff --git a/gcc/gcc/cp/parse.y b/gcc/gcc/cp/parse.y index 7b5d3bdede..ea047f8bfd 100644 --- a/gcc/gcc/cp/parse.y +++ b/gcc/gcc/cp/parse.y @@ -3354,10 +3354,18 @@ simple_stmt: /* This is the case with input operands as well. */ | asm_keyword maybe_cv_qualifier '(' string ':' asm_operands ':' asm_operands ')' ';' { finish_asm_stmt ($2, $4, $6, $8, NULL_TREE); } + | asm_keyword maybe_cv_qualifier '(' string SCOPE asm_operands ')' ';' + { finish_asm_stmt ($2, $4, NULL_TREE, $6, NULL_TREE); } /* This is the case with clobbered registers as well. */ | asm_keyword maybe_cv_qualifier '(' string ':' asm_operands ':' asm_operands ':' asm_clobbers ')' ';' { finish_asm_stmt ($2, $4, $6, $8, $10); } + | asm_keyword maybe_cv_qualifier '(' string SCOPE asm_operands ':' + asm_clobbers ')' ';' + { finish_asm_stmt ($2, $4, NULL_TREE, $6, $8); } + | asm_keyword maybe_cv_qualifier '(' string ':' asm_operands SCOPE + asm_clobbers ')' ';' + { finish_asm_stmt ($2, $4, $6, NULL_TREE, $8); } | GOTO '*' expr ';' { if (pedantic)