From f6cc25ce1214e7e52769c3ffba118cf2af3b42ca Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 10 Mar 2013 23:28:13 -0700 Subject: gcc-4.7: Fix incorrect warning with -Wcast-qual This patch backport the fix where -Wcast-qual reports a bogus warning with 4.7.2, There is no workaround in code that can be done to avoid it hence the fix to gcc is backported. (From OE-Core rev: 5d8ef98225773a6ec88b5e1a76ce01d76163b3a5) Signed-off-by: Khem Raj Signed-off-by: Saul Wold Signed-off-by: Richard Purdie --- meta/recipes-devtools/gcc/gcc-4.7.inc | 3 +- .../gcc/gcc-4.7/wcast-qual-PR55383.patch | 43 ++++++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-devtools/gcc/gcc-4.7/wcast-qual-PR55383.patch diff --git a/meta/recipes-devtools/gcc/gcc-4.7.inc b/meta/recipes-devtools/gcc/gcc-4.7.inc index 8735e48896..49f4010b49 100644 --- a/meta/recipes-devtools/gcc/gcc-4.7.inc +++ b/meta/recipes-devtools/gcc/gcc-4.7.inc @@ -1,6 +1,6 @@ require gcc-common.inc -PR = "r18" +PR = "r19" # Third digit in PV should be incremented after a minor release # happens from this branch on gcc e.g. currently its 4.7.1 @@ -75,6 +75,7 @@ SRC_URI = "${GNU_MIRROR}/gcc/gcc-${PV}/gcc-${PV}.tar.bz2 \ file://0001-crtstuff.c-USE_PT_GNU_EH_FRAME-Define-for-systems-us.patch \ file://0001-Makefile.in-vis_hide-gen-hide-list-Do-not-make-defin.patch \ file://use-ml-conf-files-from-B.patch \ + file://wcast-qual-PR55383.patch \ " SRC_URI[md5sum] = "cc308a0891e778cfda7a151ab8a6e762" SRC_URI[sha256sum] = "8a9283d7010fb9fe5ece3ca507e0af5c19412626384f8a5e9434251ae100b084" diff --git a/meta/recipes-devtools/gcc/gcc-4.7/wcast-qual-PR55383.patch b/meta/recipes-devtools/gcc/gcc-4.7/wcast-qual-PR55383.patch new file mode 100644 index 0000000000..7c5bbe7620 --- /dev/null +++ b/meta/recipes-devtools/gcc/gcc-4.7/wcast-qual-PR55383.patch @@ -0,0 +1,43 @@ +This is a backport from gcc bugzilla + +http://gcc.gnu.org/bugzilla/show_bug.cgi?id=55383 + +fixes wrong warning behavior which has no workaround +other than disabling the warning + +Upstream-Status: Backport + +Signed-off-by: Khem Raj + +Index: gcc-4.7.2/gcc/c-typeck.c +=================================================================== +--- gcc-4.7.2.orig/gcc/c-typeck.c 2012-09-13 10:04:44.000000000 -0700 ++++ gcc-4.7.2/gcc/c-typeck.c 2013-03-10 23:09:17.610899536 -0700 +@@ -4557,7 +4557,7 @@ + /* There are qualifiers present in IN_OTYPE that are not present + in IN_TYPE. */ + warning_at (loc, OPT_Wcast_qual, +- "cast discards %q#v qualifier from pointer target type", ++ "cast discards %qv qualifier from pointer target type", + discarded); + + if (added || discarded) +Index: gcc-4.7.2/gcc/testsuite/c-c++-common/Wcast-qual-1.c +=================================================================== +--- gcc-4.7.2.orig/gcc/testsuite/c-c++-common/Wcast-qual-1.c 2011-04-07 14:47:38.000000000 -0700 ++++ gcc-4.7.2/gcc/testsuite/c-c++-common/Wcast-qual-1.c 2013-03-10 23:15:45.610894589 -0700 +@@ -85,11 +85,11 @@ + void + f4 (void * const **bar) + { +- const void ***p9 = (const void ***) bar; /* { dg-warning "cast" } */ ++ const void ***p9 = (const void ***) bar; /* { dg-warning "cast discards .const. qualifier" } */ + void * const **p11 = (void * const **) bar; +- void ** const *p13 = (void ** const *) bar; /* { dg-warning "cast" } */ ++ void ** const *p13 = (void ** const *) bar; /* { dg-warning "cast discards .const. qualifier" } */ + const void * const **p15 = (const void * const **) bar; /* { dg-warning "cast" } */ +- const void ** const *p17 = (const void ** const *) bar; /* { dg-warning "cast" } */ ++ const void ** const *p17 = (const void ** const *) bar; /* { dg-warning "cast discards .const. qualifier" } */ + void * const * const * p19 = (void * const * const *) bar; + const void * const * const *p21 = (const void * const * const *) bar; + } -- cgit v1.2.3-54-g00ecf