diff options
Diffstat (limited to 'meta/recipes-devtools/gcc/gcc-4.8/0048-PR57532.patch')
-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: | ||