Message ID | 20140828220006.GS12042@lug-owl.de |
---|---|
State | New |
Headers | show |
On Thu, Aug 28, 2014 at 3:00 PM, Jan-Benedict Glaw <jbglaw@lug-owl.de> wrote: > Hi! > > The following patch silences two warnings in the mep-elf target, > fixing the config-list.mk build: I thought -Werror was only on when the versions of GCC match. Thanks, Andrew > > > First one: > ~~~~~~~~~~ > g++ -c -DIN_GCC_FRONTEND -DIN_GCC_FRONTEND -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc/gcc/../libbacktrace -DCLOOG_INT_GMP -DCLOOG_INT_GMP -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc/gcc/../libbacktrace -DCLOOG_INT_GMP -DCLOOG_INT_GMP ../../../gcc/gcc/config/mep/mep-pragma.c > ../../../gcc/gcc/config/mep/mep-pragma.c: In function ‘void mep_pragma_coprocessor(cpp_reader*)’: > ../../../gcc/gcc/config/mep/mep-pragma.c:271:18: error: ‘rclass’ may be used uninitialized in this function [-Werror=maybe-uninitialized] > enum reg_class rclass; > ^ > cc1plus: all warnings being treated as errors > make[2]: *** [mep-pragma.o] Error 1 > > > This is actually a misbehavior of current GCC, the code itself looks 100% okay > to me. Shall I report that as a bug, too? > > > > Second one: > ~~~~~~~~~~~ > g++ -c -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror -fno-common -DHAVE_CONFIG_H -I. -I. -I../../../gcc/gcc -I../../../gcc/gcc/. -I../../../gcc/gcc/../include -I../../../gcc/gcc/../libcpp/include -I/opt/cfarm/mpc/include -I../../../gcc/gcc/../libdecnumber -I../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../gcc/gcc/../libbacktrace -o mep.o -MT mep.o -MMD -MP -MF ./.deps/mep.TPo ../../../gcc/gcc/config/mep/mep.c > ../../../gcc/gcc/config/mep/mep.c:3448:0: error: "VECTOR_TYPE_P" redefined [-Werror] > #define VECTOR_TYPE_P(t) (TREE_CODE(t) == VECTOR_TYPE) > ^ > In file included from ../../../gcc/gcc/config/mep/mep.c:26:0: > ../../../gcc/gcc/tree.h:474:0: note: this is the location of the previous definition > #define VECTOR_TYPE_P(TYPE) (TREE_CODE (TYPE) == VECTOR_TYPE) > ^ > cc1plus: all warnings being treated as errors > make[2]: *** [mep.o] Error 1 > > > > > > This patch should fix it. Okay to apply? > > > 2014-08-28 Jan-Benedict Glaw <jbglaw@lug-owl.de> > > * config/mep/mep-pragma.c (mep_pragma_coprocessor_subclass): Rework > to silence warning. > * config/mep/mep.c (VECTOR_TYPE_P): Remove duplicate definition. > > > diff --git a/gcc/config/mep/mep-pragma.c b/gcc/config/mep/mep-pragma.c > index 632e92d..7bda297 100644 > --- a/gcc/config/mep/mep-pragma.c > +++ b/gcc/config/mep/mep-pragma.c > @@ -274,24 +274,21 @@ mep_pragma_coprocessor_subclass (void) > if (type != CPP_CHAR) > goto syntax_error; > class_letter = tree_to_uhwi (val); > - if (class_letter >= 'A' && class_letter <= 'D') > - switch (class_letter) > - { > - case 'A': > - rclass = USER0_REGS; > - break; > - case 'B': > - rclass = USER1_REGS; > - break; > - case 'C': > - rclass = USER2_REGS; > - break; > - case 'D': > - rclass = USER3_REGS; > - break; > - } > - else > + switch (class_letter) > { > + case 'A': > + rclass = USER0_REGS; > + break; > + case 'B': > + rclass = USER1_REGS; > + break; > + case 'C': > + rclass = USER2_REGS; > + break; > + case 'D': > + rclass = USER3_REGS; > + break; > + default: > error ("#pragma GCC coprocessor subclass letter must be in [ABCD]"); > return; > } > diff --git a/gcc/config/mep/mep.c b/gcc/config/mep/mep.c > index 3c71b95..eb0adf8 100644 > --- a/gcc/config/mep/mep.c > +++ b/gcc/config/mep/mep.c > @@ -3445,8 +3445,6 @@ mep_expand_builtin_saveregs (void) > return XEXP (regbuf, 0); > } > > -#define VECTOR_TYPE_P(t) (TREE_CODE(t) == VECTOR_TYPE) > - > static tree > mep_build_builtin_va_list (void) > { > > > MfG, JBG > > -- > Jan-Benedict Glaw jbglaw@lug-owl.de +49-172-7608481 > Signature of: http://perl.plover.com/Questions.html > the second :
> This patch should fix it. Okay to apply? Ok. Thanks! > 2014-08-28 Jan-Benedict Glaw <jbglaw@lug-owl.de> > > * config/mep/mep-pragma.c (mep_pragma_coprocessor_subclass): Rework > to silence warning. > * config/mep/mep.c (VECTOR_TYPE_P): Remove duplicate definition.
On Thu, 2014-08-28 15:47:07 -0700, Andrew Pinski <pinskia@gmail.com> wrote: > On Thu, Aug 28, 2014 at 3:00 PM, Jan-Benedict Glaw <jbglaw@lug-owl.de> wrote: > > Hi! > > > > The following patch silences two warnings in the mep-elf target, > > fixing the config-list.mk build: > > > I thought -Werror was only on when the versions of GCC match. Exactly that's the case. The config-list.mk backend ensures that a g++ of the very same revision is used. It's first in $PATH. MfG, JBG
On Thu, 2014-08-28 15:47:07 -0700, Andrew Pinski <pinskia@gmail.com> wrote: > On Thu, Aug 28, 2014 at 3:00 PM, Jan-Benedict Glaw <jbglaw@lug-owl.de> wrote: > > The following patch silences two warnings in the mep-elf target, > > fixing the config-list.mk build: > > > I thought -Werror was only on when the versions of GCC match. See https://plus.google.com/112436047517408844110/posts/UE2dPJra4Qj , https://plus.google.com/112436047517408844110/posts/duprj3yMRT9 and https://plus.google.com/112436047517408844110/posts/j53pZGTHerx . MfG, JBG
diff --git a/gcc/config/mep/mep-pragma.c b/gcc/config/mep/mep-pragma.c index 632e92d..7bda297 100644 --- a/gcc/config/mep/mep-pragma.c +++ b/gcc/config/mep/mep-pragma.c @@ -274,24 +274,21 @@ mep_pragma_coprocessor_subclass (void) if (type != CPP_CHAR) goto syntax_error; class_letter = tree_to_uhwi (val); - if (class_letter >= 'A' && class_letter <= 'D') - switch (class_letter) - { - case 'A': - rclass = USER0_REGS; - break; - case 'B': - rclass = USER1_REGS; - break; - case 'C': - rclass = USER2_REGS; - break; - case 'D': - rclass = USER3_REGS; - break; - } - else + switch (class_letter) { + case 'A': + rclass = USER0_REGS; + break; + case 'B': + rclass = USER1_REGS; + break; + case 'C': + rclass = USER2_REGS; + break; + case 'D': + rclass = USER3_REGS; + break; + default: error ("#pragma GCC coprocessor subclass letter must be in [ABCD]"); return; } diff --git a/gcc/config/mep/mep.c b/gcc/config/mep/mep.c index 3c71b95..eb0adf8 100644 --- a/gcc/config/mep/mep.c +++ b/gcc/config/mep/mep.c @@ -3445,8 +3445,6 @@ mep_expand_builtin_saveregs (void) return XEXP (regbuf, 0); } -#define VECTOR_TYPE_P(t) (TREE_CODE(t) == VECTOR_TYPE) - static tree mep_build_builtin_va_list (void) {