AW: Problem porting gcc 12

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




> -----Ursprüngliche Nachricht-----
> Von: Gcc-help <gcc-help-bounces+bebbo=bejy.net@xxxxxxxxxxx> Im
> Auftrag von Kalamatee via Gcc-help
> Gesendet: Montag, 10. April 2023 14:34
> An: Jonathan Wakely <jwakely.gcc@xxxxxxxxx>
> Cc: gcc-help <gcc-help@xxxxxxxxxxx>
> Betreff: Re: Problem porting gcc 12
> 
> Thanks, I'll check that out.
> 
> On Mon, 10 Apr 2023, 13:15 Jonathan Wakely, <jwakely.gcc@xxxxxxxxx>
> wrote:
> 
> >
> >
> > On Mon, 10 Apr 2023, 12:34 Kalamatee via Gcc-help,
> > <gcc-help@xxxxxxxxxxx>
> > wrote:
> >
> >> Hi,
> >>
> >> When im trying to build gcc12, I get the following error -:
> >>
> >> /bin/bash ../../libtool --tag CXX --tag disable-shared   --mode=compile
> >> /home/test/gcc12/./gcc/xgcc -shared-libgcc -B/home/test/gcc12/./gcc
> >> -nostdinc++ -L/home/test/gcc12/x86_64-aros/libstdc++-v3/src
> >> -L/home/test/gcc12/x86_64-aros/libstdc++-v3/src/.libs
> >> -L/home/test/gcc12/x86_64-aros/libstdc++-v3/libsupc++/.libs
> >>
> >> -B/home/kalam/builds/pc-x86_64-gcc12-clean/bin/linux-x86_64/tools/cro
> >> sstools/x86_64-aros/bin/
> >>
> >> -B/home/kalam/builds/pc-x86_64-gcc12-clean/bin/linux-x86_64/tools/cro
> >> sstools/x86_64-aros/lib/
> >> -isystem
> >>
> >> /home/kalam/builds/pc-x86_64-gcc12-clean/bin/linux-x86_64/tools/cross
> >> tools/x86_64-aros/include
> >> -isystem
> >>
> >> /home/kalam/builds/pc-x86_64-gcc12-clean/bin/linux-
> x86_64/tools/crosstools/x86_64-aros/sys-include
> >>    -I/home/test/gcc12/src/gcc-12.2.0/libstdc++-v3/../libgcc
> >> -I/home/test/gcc12/x86_64-aros/libstdc++-v3/include/x86_64-aros
> >> -I/home/test/gcc12/x86_64-aros/libstdc++-v3/include
> >> -I/home/test/gcc12/src/gcc-12.2.0/libstdc++-v3/libsupc++   -std=gnu++17
> >> -nostdinc++   -fno-implicit-templates  -Wall -Wextra -Wwrite-strings
> >> -Wcast-qual -Wabi=2  -fdiagnostics-show-location=once
> >> -ffunction-sections -fdata-sections
> >> -frandom-seed=floating_from_chars.lo
> >> -fimplicit-templates
> >> -g -O2  -c -o floating_from_chars.lo
> >>
> >> /home/test/gcc12/src/gcc-12.2.0/libstdc++-v3/src/c++17/floating_from_
> >> chars.cc
> >> libtool: compile:  /home/test/gcc12/./gcc/xgcc -shared-libgcc
> >> -B/home/test/gcc12/./gcc -nostdinc++
> >> -L/home/test/gcc12/x86_64-aros/libstdc++-v3/src
> >> -L/home/test/gcc12/x86_64-aros/libstdc++-v3/src/.libs
> >> -L/home/test/gcc12/x86_64-aros/libstdc++-v3/libsupc++/.libs
> >>
> >> -B/home/kalam/builds/pc-x86_64-gcc12-clean/bin/linux-x86_64/tools/cro
> >> sstools/x86_64-aros/bin/
> >>
> >> -B/home/kalam/builds/pc-x86_64-gcc12-clean/bin/linux-x86_64/tools/cro
> >> sstools/x86_64-aros/lib/
> >> -isystem
> >>
> >> /home/kalam/builds/pc-x86_64-gcc12-clean/bin/linux-x86_64/tools/cross
> >> tools/x86_64-aros/include
> >> -isystem
> >>
> >> /home/kalam/builds/pc-x86_64-gcc12-clean/bin/linux-x86_64/tools/cross
> >> tools/x86_64-aros/sys-include
> >> -I/home/test/gcc12/src/gcc-12.2.0/libstdc++-v3/../libgcc
> >> -I/home/test/gcc12/x86_64-aros/libstdc++-v3/include/x86_64-aros
> >> -I/home/test/gcc12/x86_64-aros/libstdc++-v3/include
> >> -I/home/test/gcc12/src/gcc-12.2.0/libstdc++-v3/libsupc++ -std=gnu++17
> >> -nostdinc++ -fno-implicit-templates -Wall -Wextra -Wwrite-strings
> >> -Wcast-qual -Wabi=2 -fdiagnostics-show-location=once
> >> -ffunction-sections -fdata-sections
> >> -frandom-seed=floating_from_chars.lo -fimplicit-templates -g -O2 -c
> >>
> >> /home/test/gcc12/src/gcc-12.2.0/libstdc++-v3/src/c++17/floating_from_
> >> chars.cc
> >> -o floating_from_chars.o
> >> In file included from
> >>
> >> /home/test/gcc12/src/gcc-12.2.0/libstdc++-
> v3/src/c++17/floating_from_chars.cc:77:
> >>
> >> /home/test/gcc12/src/gcc-12.2.0/libstdc++-
> v3/src/c++17/fast_float/fast_float.h:
> >> In function 'void
> >> {anonymous}::fast_float::round_nearest_tie_even(adjusted_mantissa&,
> >> int32_t, callback)':
> >>
> >> /home/test/gcc12/src/gcc-12.2.0/libstdc++-
> v3/src/c++17/fast_float/fast_float.h:2500:12:
> >> error: 'UINT64_MAX' was not declared in this scope
> >>  2500 |     mask = UINT64_MAX;
> >>       |            ^~~~~~~~~~
> >>
> >> /home/test/gcc12/src/gcc-12.2.0/libstdc++-
> v3/src/c++17/fast_float/fast_float.h:1:1:
> >> note: 'UINT64_MAX' is defined in header '<cstdint>'; did you forget
> >> to '#include <cstdint>'?
> >>   +++ |+#include <cstdint>
> >>     1 | // fast_float by Daniel Lemire
> >> make[7]: *** [Makefile:585: floating_from_chars.lo] Error 1
> >>
> >> I can see from the preprocessor output, the necessary header is
> >> included - but is protected with #if !defined(__cplusplus) ||
> >> defined(__STDC_LIMIT_MACROS) #endif
> >>
> >> And since the compiler doesn't define __STDC_LIMIT_MACROS on the
> >> command line, or in the source file - it is resolved.
> >>
> >> I'm not sure though, where is the correct place to fix this?
> >>
> >
> >
> > In the C library. The C++ standard is very clear that
> > __STDC_LIMIT_MACROS has no meaning whatsoever in C++. The C library's
> > <stdint.h> must define those macros unconditionally for C++. The C99
> > standard said the macros are required for C++, so some C libraries
> > follow that rule, but they should follow the C++ standard for C++
> > code, since C99 only defines C and had no business trying to specify how
> C++ works.
> >
> > If you cannot fix the libc headers then you can #define
> > __STDC_LIMIT_MACROS in your target's os_defines.h header in libstdc++
> > (I think that's the right workaround, but I'm not at my desk to check it ...
> > Search for that macro in the libstdc++ source to see how other targets
> > handle non-conforming libc headers.
> >
> >>


This header file is what you need:

https://raw.githubusercontent.com/bebbo/amiga-gcc/master/sys-include/stdint.h







[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux