This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: CXX conversion: min g++ version pre-requisite?
- From: Richard Guenther <richard dot guenther at gmail dot com>
- To: Gary Funck <gary at intrepid dot com>
- Cc: Gcc Patches <gcc-patches at gcc dot gnu dot org>, "Paul H. Hargrove" <PHHargrove at lbl dot gov>, Nenad Vukicevic <nenad at intrepid dot com>
- Date: Sat, 18 Aug 2012 09:51:43 +0200
- Subject: Re: CXX conversion: min g++ version pre-requisite?
- References: <20120818013619.GA18994@intrepid.com>
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