On Fri, Aug 17, 2012 at 9:51 PM, Richard Guenther <richard.guent...@gmail.com> wrote: > On Sat, Aug 18, 2012 at 3:36 AM, Gary Funck <g...@intrepid.com> wrote: >> >> Paul Hargrove noted the following build failure on >> an older x86-32 Linux (Redhat 8.0) system. >> >> g++ -c -g -O2 -DIN_GCC -fno-exceptions -fno-rtti -W -Wall >> -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -fno-common >> -DHAVE_CONFIG_H -DGENERATOR_FILE -I. -Ibuild >> -I/usr/local/pkg/upc/nightly/compiler/gupc-src/gcc >> -I/usr/local/pkg/upc/nightly/compiler/gupc-src/gcc/build >> -I/usr/local/pkg/upc/nightly/compiler/gupc-src/gcc/../include >> -I/usr/local/pkg/upc/nightly/compiler/gupc-src/gcc/../libcpp/include >> -I/usr/local/pkg/gmp-4.2.4/include -I/usr/local/pkg/mpfr-2.4.2/include >> -I/usr/local/pkg/mpc-0.8/include >> -I/usr/local/pkg/upc/nightly/compiler/gupc-src/gcc/../libdecnumber >> -I/usr/local/pkg/upc/nightly/compiler/gupc-src/gcc/../libdecnumber/bid >> -I../libdecnumber \ >> -o build/genoutput.o >> /usr/local/pkg/upc/nightly/compiler/gupc-src/gcc/genoutput.c >> /usr/local/pkg/upc/nightly/compiler/gupc-src/gcc/genoutput.c: In function >> `void note_constraint(rtx_def*, int)': >> /usr/local/pkg/upc/nightly/compiler/gupc-src/gcc/genoutput.c:1178: error: >> reinterpret_cast from type `const char (*)[1]' to type `char*' casts away >> constness >> make[2]: *** [build/genoutput.o] Error 1 >> make[2]: Leaving directory `/usr/local/pkg/upc/nightly/compiler/bld/gcc' >> make[1]: *** [all-gcc] Error 2 >> make[1]: Leaving directory `/usr/local/pkg/upc/nightly/compiler/bld' >> make: *** [all] Error 2 >> >> >> The g++ version is: g++ (GCC) 3.4.0 >> >> Currently, install.texi states: >> >> @heading Tools/packages necessary for building GCC >> @table @asis >> @item ISO C90 compiler >> Necessary to bootstrap GCC, although versions of GCC prior >> to 3.4 also allow bootstrapping with a traditional (K&R) C compiler. >> >> To build all languages in a cross-compiler or other configuration where >> 3-stage bootstrap is not performed, you need to start with an existing >> GCC binary (version 2.95 or later) because source code for language >> frontends other than C might use GCC extensions. >> >> This appears to be out-of-date with respect to new C++ stage 1 >> build requirement. >> >> Please advise. > > The code is clearly buggy and should use CONST_CAST - well, or now, > finally, const_cast to cast const char * to char *. > > Richard. > >> Thanks, >> - Gary
Why do newer compilers not error out?