diff options
author | Otavio Salvador <otavio@ossystems.com.br> | 2014-01-14 14:26:31 -0200 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2014-02-09 11:04:15 +0000 |
commit | b1bf4ebb9db36cb6a4ff2040905b1aa7fda4a31f (patch) | |
tree | b9f7c760c61954b186b51b1720ea844414c8eb8b /meta/recipes-devtools/gcc/gcc-4.8 | |
parent | 0be9520921bf3ba9aff5ecc9bbd17d84b57ff714 (diff) | |
download | poky-b1bf4ebb9db36cb6a4ff2040905b1aa7fda4a31f.tar.gz |
gcc-4.8: Backport PR c++/57532 fix from 4.8.2
Bug: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57532
Log:
r200836 | jason | 2013-07-09 14:52:17 -0300 (Tue, 09 Jul 2013) | 3 lines
PR c++/57532
* parser.c (cp_parser_ref_qualifier_opt): Don't tentatively parse
a ref-qualifier in C++98 mode.
(From OE-Core rev: dd2891db2e25f09a15f621d1b132603128c9a673)
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-4.8')
-rw-r--r-- | meta/recipes-devtools/gcc/gcc-4.8/0048-PR57532.patch | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.8/0048-PR57532.patch b/meta/recipes-devtools/gcc/gcc-4.8/0048-PR57532.patch new file mode 100644 index 0000000000..4a05d33443 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.8/0048-PR57532.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | Upstream-Status: Backport | ||
2 | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> | ||
3 | |||
4 | r200836 | jason | 2013-07-09 14:52:17 -0300 (Tue, 09 Jul 2013) | 3 lines | ||
5 | |||
6 | PR c++/57532 | ||
7 | * parser.c (cp_parser_ref_qualifier_opt): Don't tentatively parse | ||
8 | a ref-qualifier in C++98 mode. | ||
9 | |||
10 | Index: gcc/testsuite/g++.dg/parse/ref-qual2.C | ||
11 | =================================================================== | ||
12 | --- a/gcc/testsuite/g++.dg/parse/ref-qual2.C (revision 0) | ||
13 | +++ b/gcc/testsuite/g++.dg/parse/ref-qual2.C (revision 200836) | ||
14 | @@ -0,0 +1,6 @@ | ||
15 | +// PR c++/57532 | ||
16 | + | ||
17 | +int main() | ||
18 | +{ | ||
19 | + return (int() & int()); | ||
20 | +} | ||
21 | Index: gcc/cp/parser.c | ||
22 | =================================================================== | ||
23 | --- a/gcc/cp/parser.c (revision 200835) | ||
24 | +++ b/gcc/cp/parser.c (revision 200836) | ||
25 | @@ -16986,6 +16986,11 @@ | ||
26 | { | ||
27 | cp_ref_qualifier ref_qual = REF_QUAL_NONE; | ||
28 | cp_token *token = cp_lexer_peek_token (parser->lexer); | ||
29 | + | ||
30 | + /* Don't try to parse bitwise '&' as a ref-qualifier (c++/57532). */ | ||
31 | + if (cxx_dialect < cxx11 && cp_parser_parsing_tentatively (parser)) | ||
32 | + return ref_qual; | ||
33 | + | ||
34 | switch (token->type) | ||
35 | { | ||
36 | case CPP_AND: | ||