Sorry, ping for maintainer. We'd do need this for 4.8.3.
Thanks, Daniel. On Tue, Apr 22, 2014 at 9:15 AM, Daniel Gutson <daniel.gut...@tallertechnologies.com> wrote: > Ping for maintainer please. > > Thanks, > > Daniel. > > On Tue, Apr 15, 2014 at 7:05 PM, Daniel Gutson > <daniel.gut...@tallertechnologies.com> wrote: >> On Tue, Apr 15, 2014 at 6:12 PM, Richard Sandiford >> <rdsandif...@googlemail.com> wrote: >>> cc:ing Jason, who's the C++ maintainer. >> >> >> FWIW: I created http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60850 >> >>> >>> Daniel Gutson <daniel.gut...@tallertechnologies.com> writes: >>>> ping for maintainer. >>>> >>>> Could this be considered for 4.8.3 please? >>>> >>>> Thanks, >>>> >>>> Daniel. >>>> >>>> >>>> On Tue, Apr 1, 2014 at 2:46 PM, Daniel Gutson >>>> <daniel.gut...@tallertechnologies.com> wrote: >>>>> >>>>> I just realized I posted the patch in the wrong list. >>>>> >>>>> >>>>> ---------- Forwarded message ---------- >>>>> From: Daniel Gutson <daniel.gut...@tallertechnologies.com> >>>>> Date: Tue, Apr 1, 2014 at 10:43 AM >>>>> Subject: [PATCH] pedantic warning behavior when casting void* to >>>>> ptr-to-func, 4.8 and 4.9 >>>>> To: gcc Mailing List <g...@gcc.gnu.org> >>>>> >>>>> >>>>> Hi, >>>>> >>>>> I observed two different behaviors in gcc 4.8.2 and 4.9 regarding >>>>> the same issue, IMO both erroneous. >>>>> >>>>> Regarding 4.8.2, #pragma GCC diagnostic ignored "-pedantic" doesn't >>>>> work in cases such as: >>>>> void* p = 0; >>>>> #pragma GCC diagnostic ignored "-pedantic" >>>>> F* f2 = reinterpret_cast<F*>(p); >>>>> >>>>> (see testcase in the patch). >>>>> >>>>> The attached patch attempts to fix this issue. Since I no longer have >>>>> write access, please >>>>> apply this for me if correct (is the 4.8 branch still alive for adding >>>>> fixes?). >>>>> >>>>> Regarding 4.9, gcc fails to complain at all when -pedantic is passed, >>>>> even specifying -std=c++03. >>>>> Please let me know if this is truly a bug, in which case I could also >>>>> fix it for the latest version as well >>>>> (if so, please let me know if I should look into trunk or any other >>>>> branch). >>>>> >>>>> Thanks, >>>>> >>>>> Daniel. >>>>> >>>>> 2014-03-31 Daniel Gutson <daniel.gut...@tallertechnologies.com> >>>>> >>>>> gcc/cp/ >>>>> * typeck.c (build_reinterpret_cast_1): Pass proper argument to >>>>> warn() in pedantic. >>>>> >>>>> gcc/testsuite/g++.dg/ >>>>> * diagnostic/pedantic.C: New test case. >>> >>> --- gcc-4.8.2-orig/gcc/cp/typeck.c 2014-03-31 22:29:42.736367936 -0300 >>> +++ gcc-4.8.2/gcc/cp/typeck.c 2014-03-31 14:26:43.536747050 -0300 >>> @@ -6639,7 +6639,7 @@ >>> where possible, and it is necessary in some cases. DR 195 >>> addresses this issue, but as of 2004/10/26 is still in >>> drafting. */ >>> - warning (0, "ISO C++ forbids casting between pointer-to-function >>> and pointer-to-object"); >>> + warning (OPT_Wpedantic, "ISO C++ forbids casting between >>> pointer-to-function and pointer-to-object"); >>> return fold_if_not_in_template (build_nop (type, expr)); >>> } >>> else if (TREE_CODE (type) == VECTOR_TYPE) >>> --- gcc-4.8.2-orig/gcc/testsuite/g++.dg/diagnostic/pedantic.C 1969-12-31 >>> 21:00:00.000000000 -0300 >>> +++ gcc-4.8.2/gcc/testsuite/g++.dg/diagnostic/pedantic.C 2014-03-31 >>> 17:24:42.532607344 -0300 >>> @@ -0,0 +1,12 @@ >>> +// { dg-do compile } >>> +// { dg-options "-pedantic" } >>> +typedef void F(void); >>> + >>> +void foo() >>> +{ >>> + void* p = 0; >>> + F* f1 = reinterpret_cast<F*>(p); // { dg-warning "ISO" } >>> +#pragma GCC diagnostic ignored "-pedantic" >>> + F* f2 = reinterpret_cast<F*>(p); >>> +} >>> + >> >> >> >> -- >> >> Daniel F. Gutson >> Chief Engineering Officer, SPD >> >> >> San Lorenzo 47, 3rd Floor, Office 5 >> >> Córdoba, Argentina >> >> >> Phone: +54 351 4217888 / +54 351 4218211 >> >> Skype: dgutson > > > > -- > > Daniel F. Gutson > Chief Engineering Officer, SPD > > > San Lorenzo 47, 3rd Floor, Office 5 > > Córdoba, Argentina > > > Phone: +54 351 4217888 / +54 351 4218211 > > Skype: dgutson -- Daniel F. Gutson Chief Engineering Officer, SPD San Lorenzo 47, 3rd Floor, Office 5 Córdoba, Argentina Phone: +54 351 4217888 / +54 351 4218211 Skype: dgutson