[PATCH,c++] rewrite vtable initialization construction to use VECs

Steve Ellcey sje@cup.hp.com
Thu Jun 10 17:12:00 GMT 2010


Nathan,

Sorry for not replying sooner but I was on vacation.  This change has
broken the ia64-hp-hpux11.23 build where
TARGET_VTABLE_DATA_ENTRY_DISTANCE is set.  HP-UX is different then Linux
because it has a 32 bit mode where the value of this is 2 instead of 1
and I think that is why it works on Linux but not on HP-UX.

Here is what I get during my HP-UX build:

make[4]: Entering directory `/proj/opensrc_nobackup/nightly2/build-ia64-hp-hpux11.23-trunk/obj_gcc/ia64-hp-hpux11.23/libstdc++-v3/include'
mkdir -p ./ia64-hp-hpux11.23/bits/stdc++.h.gch
/proj/opensrc_nobackup/nightly2/build-ia64-hp-hpux11.23-trunk/obj_gcc/./gcc/xgcc -shared-libgcc -B/proj/opensrc_nobackup/nightly2/build-ia64-hp-hpux11.23-trunk/obj_gcc/./gcc -nostdinc++ -L/proj/opensrc_nobackup/nightly2/build-ia64-hp-hpux11.23-trunk/obj_gcc/ia64-hp-hpux11.23/libstdc++-v3/src -L/proj/opensrc_nobackup/nightly2/build-ia64-hp-hpux11.23-trunk/obj_gcc/ia64-hp-hpux11.23/libstdc++-v3/src/.libs -B/proj/opensrc_nobackup/nightly2/gcc-ia64-hp-hpux11.23-trunk/ia64-hp-hpux11.23/bin/ -B/proj/opensrc_nobackup/nightly2/gcc-ia64-hp-hpux11.23-trunk/ia64-hp-hpux11.23/lib/ -isystem /proj/opensrc_nobackup/nightly2/gcc-ia64-hp-hpux11.23-trunk/ia64-hp-hpux11.23/include -isystem /proj/opensrc_nobackup/nightly2/gcc-ia64-hp-hpux11.23-trunk/ia64-hp-hpux11.23/sys-include    -x c++-header -g -O2 -I/proj/opensrc_nobackup/nightly2/build-ia64-hp-hpux11.23-trunk/obj_gcc/ia64-hp-hpux11.23/libstdc++-v3/include/ia64-hp-hpux11.23 -I/proj/opensrc_nobackup/nightly2/build-ia64-hp-hpux11.23-trunk/obj
 _gcc/ia64-hp-hpux11.23/libstdc++-v3/include -I/proj/opensrc_nobackup/nightly2/src/trunk/libstdc++-v3/libsupc++ -O2 -g -std=gnu++0x /proj/opensrc_nobackup/nightly2/src/trunk/libstdc++-v3/include/precompiled/stdc++.h \
-o ia64-hp-hpux11.23/bits/stdc++.h.gch/O2ggnu++0x.gch
In file included from /proj/opensrc_nobackup/nightly2/build-ia64-hp-hpux11.23-trunk/obj_gcc/ia64-hp-hpux11.23/libstdc++-v3/include/ios:40:0,
                 from /proj/opensrc_nobackup/nightly2/build-ia64-hp-hpux11.23-trunk/obj_gcc/ia64-hp-hpux11.23/libstdc++-v3/include/istream:40,
                 from /proj/opensrc_nobackup/nightly2/build-ia64-hp-hpux11.23-trunk/obj_gcc/ia64-hp-hpux11.23/libstdc++-v3/include/sstream:39,
                 from /proj/opensrc_nobackup/nightly2/build-ia64-hp-hpux11.23-trunk/obj_gcc/ia64-hp-hpux11.23/libstdc++-v3/include/complex:47,
                 from /proj/opensrc_nobackup/nightly2/build-ia64-hp-hpux11.23-trunk/obj_gcc/ia64-hp-hpux11.23/libstdc++-v3/include/ccomplex:42,
                 from /proj/opensrc_nobackup/nightly2/src/trunk/libstdc++-v3/include/precompiled/stdc++.h:53:
/proj/opensrc_nobackup/nightly2/src/trunk/libstdc++-v3/libsupc++/exception:61:9: internal compiler error: vector VEC(constructor_elt,base) index domain error, in build_vtbl_initializer at cp/class.c:7629
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://gcc.gnu.org/bugs.html> for instructions.
make[4]: *** [ia64-hp-hpux11.23/bits/stdc++.h.gch/O2ggnu++0x.gch] Error 1
make[4]: Leaving directory `/proj/opensrc_nobackup/nightly2/build-ia64-hp-hpux11.23-trunk/obj_gcc/ia64-hp-hpux11.23/libstdc++-v3/include'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/proj/opensrc_nobackup/nightly2/build-ia64-hp-hpux11.23-trunk/obj_gcc/ia64-hp-hpux11.23/libstdc++-v3'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/proj/opensrc_nobackup/nightly2/build-ia64-hp-hpux11.23-trunk/obj_gcc/ia64-hp-hpux11.23/libstdc++-v3'
make[1]: *** [all-target-libstdc++-v3] Error 2
make[1]: Leaving directory `/proj/opensrc_nobackup/nightly2/build-ia64-hp-hpux11.23-trunk/obj_gcc'
make: *** [all] Error 2



Steve Ellcey
sje@cup.hp.com



More information about the Gcc-patches mailing list