CXX conversion: min g++ version pre-requisite?

NightStrike nightstrike@gmail.com
Sat Aug 18 12:53:00 GMT 2012


On Fri, Aug 17, 2012 at 9:51 PM, Richard Guenther
<richard.guenther@gmail.com> wrote:
> On Sat, Aug 18, 2012 at 3:36 AM, Gary Funck <gary@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?



More information about the Gcc-patches mailing list