https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114065

            Bug ID: 114065
           Summary: gnat build with -D_TIME_BITS=64 -D_FILE_OFFSET_BITS=64
                    fails on 32bit archs
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: ada
          Assignee: unassigned at gcc dot gnu.org
          Reporter: doko at gcc dot gnu.org
                CC: dkm at gcc dot gnu.org
  Target Milestone: ---

trying to build with time_t64 on 32bit archs fails with:

g-socket.adb:2860:26: error: value not in range of type "time_t" defined at
g-sothco.ads:47
g-socket.adb:2860:26: error: static expression fails Constraint_Check
g-socket.adb:2862:26: error: value not in range of type "time_t" defined at
g-sothco.ads:47
g-socket.adb:2862:26: error: static expression fails Constraint_Check
make[8]: *** [../gcc-interface/Makefile:301: g-socket.o] Error 1
make[8]: Leaving directory '/<<PKGBUILDDIR>>/build/gcc/ada/rts'

this can be fixed with

--- a/gcc/ada/libgnat/s-parame.ads
+++ b/gcc/ada/libgnat/s-parame.ads
@@ -102,7 +102,7 @@
    -- Characteristics of time_t type --
    ------------------------------------

-   time_t_bits : constant := Long_Integer'Size;
+   time_t_bits : constant := Long_Long_Integer'Size;
    --  Number of bits in type time_t

    ----------------------------------------------

however that's not the correct fix. Is there any way to fix this in a better
way?

Plust, this uncovered a bootstrap error on hppa-linux See PR114062

Reply via email to