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

            Bug ID: 115276
           Summary: libgm2 wraptime.InitTM returns NIL
           Product: gcc
           Version: 15.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: modula2
          Assignee: gaius at gcc dot gnu.org
          Reporter: gaius at gcc dot gnu.org
  Target Milestone: ---

As reported on the gm2 mailing list the following code fails:


MODULE hello5;

FROM StrIO IMPORT WriteString, WriteLn;
FROM NumberIO IMPORT WriteInt;
FROM wraptime IMPORT timeval, InitTimeval, KillTimeval, gettimeofday, timezone,
InitTimezone, KillTimezone, localtime_r, tm, InitTM, KillTM, GetYear, GetMonth,
GetDay;

VAR tv: timeval;
    tz: timezone;
    i: INTEGER;
    m: tm;

BEGIN

    tv := InitTimeval();
    tz := InitTimezone();
    m  := InitTM();
    i  := gettimeofday(tv, tz);
    m  := localtime_r(tv, m);

    WriteString("i = ");
    WriteInt(i, 0);
    WriteLn;
    WriteString("Year = ");
    WriteInt(GetYear(m), 0);
    WriteLn;
    WriteString("Month = ");
    WriteInt(GetMonth(m), 0);
    WriteLn;
    WriteString("Day = ");
    WriteInt(GetDay(m), 0);
    WriteLn;

    m  := KillTM(m);
    tv := KillTimeval(tv);
    tz := KillTimezone(tz);
END hello5.

reproduced by building gm2 trunk using:

Configured with: ../configure --prefix=/home/gaius/opt --disable-bootstrap
--disable-multilib --enable-languages=m2

$ gm2 -g hello5.mod
$ ./a.out

(On a debian x86_64 release 12 system)

Reply via email to