[Bug bootstrap/59496] New: [4.9 Regression] Bootstrap fails on powerpc-apple-darwin9 after r205685
dominiq at lps dot ens.fr
gcc-bugzilla@gcc.gnu.org
Fri Dec 13 14:52:00 GMT 2013
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59496
Bug ID: 59496
Summary: [4.9 Regression] Bootstrap fails on
powerpc-apple-darwin9 after r205685
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: bootstrap
Assignee: unassigned at gcc dot gnu.org
Reporter: dominiq at lps dot ens.fr
CC: iains at gcc dot gnu.org, jsm28 at gcc dot gnu.org,
mpolacek at gcc dot gnu.org
Host: powerpc-apple-darwin9
Target: powerpc-apple-darwin9
Build: powerpc-apple-darwin9
Bootstrap fails on powerpc-apple-darwin9 after r205685 and is not fixed by
r205705:
/opt/gcc/rel_build/./prev-gcc/xg++ -B/opt/gcc/rel_build/./prev-gcc/
-B/opt/gcc/gcc4.9r/powerpc-apple-darwin9.8.0/bin/ -nostdinc++
-B/opt/gcc/rel_build/prev-powerpc-apple-darwin9.8.0/libstdc++-v3/src/.libs
-B/opt/gcc/rel_build/prev-powerpc-apple-darwin9.8.0/libstdc++-v3/libsupc++/.libs
-I/opt/gcc/rel_build/prev-powerpc-apple-darwin9.8.0/libstdc++-v3/include/powerpc-apple-darwin9.8.0
-I/opt/gcc/rel_build/prev-powerpc-apple-darwin9.8.0/libstdc++-v3/include
-I/opt/gcc/rel_work/libstdc++-v3/libsupc++
-L/opt/gcc/rel_build/prev-powerpc-apple-darwin9.8.0/libstdc++-v3/src/.libs
-L/opt/gcc/rel_build/prev-powerpc-apple-darwin9.8.0/libstdc++-v3/libsupc++/.libs
-c -DIN_GCC_FRONTEND -DIN_GCC_FRONTEND -g -O2 -mdynamic-no-pic -gtoggle
-DIN_GCC -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall
-Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic
-Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror
-DHAVE_CONFIG_H -I. -Ic-family -I../../rel_work/gcc
-I../../rel_work/gcc/c-family -I../../rel_work/gcc/../include -I./../intl
-I../../rel_work/gcc/../libcpp/include -I/opt/mp/include
-I../../rel_work/gcc/../libdecnumber -I../../rel_work/gcc/../libdecnumber/dpd
-I../libdecnumber -I../../rel_work/gcc/../libbacktrace -DCLOOG_INT_GMP
-I/opt/mp/include -o c-family/c-common.o -MT c-family/c-common.o -MMD -MP -MF
c-family/.deps/c-common.TPo ../../rel_work/gcc/c-family/c-common.c
../../rel_work/gcc/c-family/c-common.c: In function 'tree_node*
c_sizeof_or_alignof_type(location_t, tree, bool, bool, int)':
../../rel_work/gcc/c-family/c-common.c:5009:9: error: unused variable 'field'
[-Werror=unused-variable]
tree field = build_decl (UNKNOWN_LOCATION, FIELD_DECL, NULL_TREE,
^
cc1plus: all warnings being treated as errors
The problem comes from the fact that ADJUST_FIELD_ALIGN is defined in
gcc/config/rs6000/darwin.h as
#define ADJUST_FIELD_ALIGN(FIELD, COMPUTED) \
(TARGET_ALIGN_NATURAL ? (COMPUTED) \
: (COMPUTED) == 128 ? 128 \
: MIN ((COMPUTED), 32))
and does not use FIELD, as seen in the preprocessed file
...
tree field = build_decl_stat (((source_location) 0), FIELD_DECL, (tree)
__null, type )
;
field_align = ((global_options.x_rs6000_alignment_flags & 0x00000001) ?
(field_align) : (field_align) == 128 ? 128 : (((field_align)) < (32) ?
((field_align)) : (32)));
align = ((align) < (field_align) ? (align) : (field_align));
...
I have fixed the problem with the following patch:
--- gcc/c-family/c-common.c 2013-12-11 13:43:47.000000000 +0100
+++ ../work/gcc/c-family/c-common.c 2013-12-08 00:14:27.000000000 +0100
@@ -5002,7 +5006,7 @@ c_sizeof_or_alignof_type (location_t loc
#endif
unsigned int field_align = align;
#ifdef ADJUST_FIELD_ALIGN
- tree field = build_decl (UNKNOWN_LOCATION, FIELD_DECL, NULL_TREE,
+ tree __attribute__((unused)) field = build_decl (UNKNOWN_LOCATION,
FIELD_DECL, NULL_TREE,
type);
field_align = ADJUST_FIELD_ALIGN (field, field_align);
#endif
Yes I know, the line is too long and patches should go to gcc-patches. I'll do
it if there is a consensus that it is the right fix.
More information about the Gcc-bugs
mailing list