summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2014-01-14 14:26:31 -0200
committerRichard Purdie <richard.purdie@linuxfoundation.org>2014-02-09 11:04:15 +0000
commitb1bf4ebb9db36cb6a4ff2040905b1aa7fda4a31f (patch)
treeb9f7c760c61954b186b51b1720ea844414c8eb8b /meta
parent0be9520921bf3ba9aff5ecc9bbd17d84b57ff714 (diff)
downloadpoky-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')
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8.inc1
-rw-r--r--meta/recipes-devtools/gcc/gcc-4.8/0048-PR57532.patch36
2 files changed, 37 insertions, 0 deletions
diff --git a/meta/recipes-devtools/gcc/gcc-4.8.inc b/meta/recipes-devtools/gcc/gcc-4.8.inc
index 8d50bf79d0..b34c7ae3c4 100644
--- a/meta/recipes-devtools/gcc/gcc-4.8.inc
+++ b/meta/recipes-devtools/gcc/gcc-4.8.inc
@@ -77,6 +77,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \
77 file://0045-gcc-4.8-PR57717-PowerPC-E500v2.patch \ 77 file://0045-gcc-4.8-PR57717-PowerPC-E500v2.patch \
78 file://0046-libatomic-deptracking.patch \ 78 file://0046-libatomic-deptracking.patch \
79 file://0047-repomembug.patch \ 79 file://0047-repomembug.patch \
80 file://0048-PR57532.patch \
80 " 81 "
81SRC_URI[md5sum] = "3b2386c114cd74185aa3754b58a79304" 82SRC_URI[md5sum] = "3b2386c114cd74185aa3754b58a79304"
82SRC_URI[sha256sum] = "545b44be3ad9f2c4e90e6880f5c9d4f0a8f0e5f67e1ffb0d45da9fa01bb05813" 83SRC_URI[sha256sum] = "545b44be3ad9f2c4e90e6880f5c9d4f0a8f0e5f67e1ffb0d45da9fa01bb05813"
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 @@
1Upstream-Status: Backport
2Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
3
4r200836 | 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
10Index: 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+}
21Index: 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: