diff options
author | Jason Merrill <jason@redhat.com> | 2019-09-19 15:41:17 -0400 |
---|---|---|
committer | Jason Merrill <jason@gcc.gnu.org> | 2019-09-19 15:41:17 -0400 |
commit | e0710fcf7dc70054a9a20ab1b8d77f4fef26ef2c (patch) | |
tree | 3b605b8399609b69b2a3b0b85ffe87790878be05 | |
parent | a519efbef81fbd8ae9c4766f878e64ed7a0d8f7d (diff) | |
download | gcc-e0710fcf7dc70054a9a20ab1b8d77f4fef26ef2c.zip gcc-e0710fcf7dc70054a9a20ab1b8d77f4fef26ef2c.tar.gz gcc-e0710fcf7dc70054a9a20ab1b8d77f4fef26ef2c.tar.bz2 |
Handle [[likely]] on compound-statement.
I overlooked this case when adding [[likely]] handling to
cp_parser_statement.
* parser.c (cp_parser_statement): Handle [[likely]] on
compound-statement.
From-SVN: r275978
-rw-r--r-- | gcc/cp/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/cp/parser.c | 5 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/cpp2a/attr-likely5.C | 9 |
3 files changed, 18 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index de1677f..3015d68 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2019-09-17 Jason Merrill <jason@redhat.com> + + * parser.c (cp_parser_statement): Handle [[likely]] on + compound-statement. + 2019-09-19 Jason Merrill <jason@redhat.com> Revert: diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 165039e..da0ffac 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -11297,7 +11297,10 @@ cp_parser_statement (cp_parser* parser, tree in_statement_expr, } /* Anything that starts with a `{' must be a compound-statement. */ else if (token->type == CPP_OPEN_BRACE) - statement = cp_parser_compound_statement (parser, NULL, BCS_NORMAL, false); + { + std_attrs = process_stmt_hotness_attribute (std_attrs, attrs_loc); + statement = cp_parser_compound_statement (parser, NULL, BCS_NORMAL, false); + } /* CPP_PRAGMA is a #pragma inside a function body, which constitutes a statement all its own. */ else if (token->type == CPP_PRAGMA) diff --git a/gcc/testsuite/g++.dg/cpp2a/attr-likely5.C b/gcc/testsuite/g++.dg/cpp2a/attr-likely5.C new file mode 100644 index 0000000..1662148 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp2a/attr-likely5.C @@ -0,0 +1,9 @@ +// { dg-do compile { target c++11 } } + +void f(int i) +{ + if (i) [[likely]] + { + ++i; + } +} |