i386: Allow all register_operand SUBREGs in x86_ternlog_idx.
[official-gcc.git] / libgm2 / ChangeLog
blob6a19c73817f1c87619561e61ddeecfab95f3404e
1 2024-05-29  Gaius Mulley  <gaiusmod2@gmail.com>
3         PR modula2/115276
4         * config.h.in: Regenerate.
5         * configure: Regenerate.
6         * configure.ac: Use AC_HEADER_TIME.
7         * libm2iso/wraptime.cc (InitTM): Check HAVE_SYS_TIME_H
8         before using struct tm to obtain the size.
10 2024-05-02  Gaius Mulley  <gaiusmod2@gmail.com>
12         * Makefile.in: Regenerate.
13         * libm2cor/Makefile.in: Ditto.
14         * libm2iso/Makefile.in: Ditto.
15         * libm2log/Makefile.in: Ditto.
16         * libm2min/Makefile.in: Ditto.
17         * libm2pim/Makefile.in: Ditto.
18         * aclocal.m4: Ditto.
20 2024-04-02  Jakub Jelinek  <jakub@redhat.com>
22         * configure.host: Fix duplicated words; the the -> the.
24 2024-02-25  Gaius Mulley  <gaiusmod2@gmail.com>
26         PR modula2/113749
27         * libm2pim/wrapc.cc: Include fcntl.h.
28         (SeekSet): New function.
29         (SeekEnd): Ditto.
30         (ReadOnly): Ditto.
31         (WriteOnly): Ditto.
33 2024-02-13  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
35         * libm2iso/wraptime.cc [HAVE_STRUCT_TIMEZONE && HAVE_GETTIMEOFDAY]
36         (EXPORT(gettimeofday)): Cast tv to struct timeval *.
37         [HAVE_STRUCT_TIMEZONE && HAVE_SETTIMEOFDAY]
38         (EXPORT(settimeofday)): Likewise.
40 2024-02-12  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
42         PR modula2/113888
43         * configure.ac (GM2_CHECK_LIB): Rename gettimeofday guard to
44         HAVE_GETTIMEOFDAY.
45         (GM_CHECK_LIB): Check for settimeofday.
46         (GM2_CHECK_LIB): Check for exp10, exp10f, exp10l in libm.
47         (AC_CHECK_DECLS): Check for getenv.
48         * configure, config.h.in: Regenerate.
49         * libm2pim/dtoa.cc: Rename <strings.h>, <string.h> guards to
50         HAVE_STRINGS_H, HAVE_STRING_H.
51         * libm2pim/ldtoa.cc: Likewise.
53 2024-01-18  Gaius Mulley  <gaiusmod2@gmail.com>
55         PR modula2/111956
56         * Makefile.am (TARGET_LONGDOUBLE_ABI): Remove.
57         * Makefile.in: Regenerate.
58         * libm2cor/Makefile.am (TARGET_LONGDOUBLE_ABI): Remove.
59         * libm2cor/Makefile.in: Regenerate.
60         * libm2iso/Makefile.am (TARGET_LONGDOUBLE_ABI): Remove.
61         * libm2iso/Makefile.in: Regenerate.
62         * libm2log/Makefile.am (TARGET_LONGDOUBLE_ABI): Remove.
63         * libm2log/Makefile.in: Regenerate.
64         * libm2min/Makefile.am (TARGET_LONGDOUBLE_ABI): Remove.
65         * libm2min/Makefile.in: Regenerate.
66         * libm2pim/Makefile.am (TARGET_LONGDOUBLE_ABI): Remove.
67         * libm2pim/Makefile.in: Regenerate.
69 2024-01-05  Gaius Mulley  <gaiusmod2@gmail.com>
71         * libm2iso/RTco.cc (initialized): Use bool instead of int.
73 2023-12-22  Christophe Lyon  <christophe.lyon@linaro.org>
75         * Makefile.am: Allow overriding EXEPCT.
76         * Makefile.in: Regenerate.
78 2023-12-13  Gaius Mulley  <gaiusmod2@gmail.com>
80         PR modula2/112921
81         * libm2iso/Makefile.am (M2DEFS): Add ConvStringShort.def,
82         ShortConv.def, ShortMath.def and ShortStr.def.
83         (M2MODS): Add ConvStringShort.mod,
84         ShortConv.mod, ShortMath.mod and ShortStr.mod.
85         * libm2iso/Makefile.in: Regenerate.
87 2023-12-12  Gaius Mulley  <gaiusmod2@gmail.com>
89         * libm2iso/Makefile.am (libm2iso_la_M2FLAGS): Added line breaks.
90         * libm2iso/Makefile.in: Regenerate.
91         * libm2log/Makefile.am (libm2log_la_M2FLAGS): Added line breaks.
92         * libm2log/Makefile.in: Regenerate.
93         * libm2pim/Makefile.am (libm2pim_la_M2FLAGS): Added line breaks.
94         * libm2pim/Makefile.in: Regenerate.
96 2023-11-30  Gaius Mulley  <gaiusmod2@gmail.com>
98         * configure: Regenerate.
99         * configure.ac:(libtool_VERSION): Bump to 19:0:0.
101 2023-11-13  Gaius Mulley  <gaiusmod2@gmail.com>
103         PR modula2/110779
104         * Makefile.in: Regenerate.
105         * aclocal.m4: Regenerate.
106         * config.h.in: Regenerate.
107         * configure: Regenerate.
108         * configure.ac: Remove newline.
109         * libm2cor/Makefile.in: Regenerate.
110         * libm2iso/Makefile.in: Regenerate.
111         * libm2log/Makefile.in: Regenerate.
112         * libm2min/Makefile.in: Regenerate.
113         * libm2pim/Makefile.in: Regenerate.
114         * acinclude.m4: New file.
115         * configure.host: New file.
117 2023-10-27  Gaius Mulley  <gaiusmod2@gmail.com>
119         PR modula2/112110
120         * libm2iso/wrapclock.cc (timezone): Return 0 if unable
121         to get the timezone from the tm struct.
123 2023-10-27  Gaius Mulley  <gaiusmod2@gmail.com>
125         PR modula2/111530
126         * Makefile.in: Regenerate.
127         * aclocal.m4: Regenerate.
128         * config.h.in: Regenerate.
129         * configure: Regenerate.
130         * configure.ac (AC_CHECK_HEADERS): Include getopt.h.
131         (GM2_CHECK_LIB): getopt_long check.
132         (GM2_CHECK_LIB): getopt_long_only check.
133         * libm2cor/Makefile.in: Regenerate.
134         * libm2iso/Makefile.in: Regenerate.
135         * libm2log/Makefile.in: Regenerate.
136         * libm2min/Makefile.in: Regenerate.
137         * libm2pim/Makefile.in: Regenerate.
138         * libm2pim/cgetopt.cc: Re-write using conditional on configure
139         and long function code from libiberty/getopt.c.
141 2023-10-25  Gaius Mulley  <gaiusmod2@gmail.com>
143         PR modula2/111955
144         * libm2pim/wrapc.cc (isnan): Export new function.
145         (isnanf): Export new function.
146         (isnanl): Export new function.
148 2023-10-22  Iain Sandoe  <iain@sandoe.co.uk>
150         * Makefile.am: Handle Darwin rpaths.
151         * Makefile.in: Regenerate.
152         * aclocal.m4: Regenerate.
153         * configure: Regenerate.
154         * configure.ac: Handle Darwin rpaths.
155         * libm2cor/Makefile.am: Handle Darwin rpaths.
156         * libm2cor/Makefile.in: Regenerate.
157         * libm2iso/Makefile.am: Handle Darwin rpaths.
158         * libm2iso/Makefile.in: Regenerate.
159         * libm2log/Makefile.am: Handle Darwin rpaths.
160         * libm2log/Makefile.in: Regenerate.
161         * libm2min/Makefile.am: Handle Darwin rpaths.
162         * libm2min/Makefile.in: Regenerate.
163         * libm2pim/Makefile.am: Handle Darwin rpaths.
164         * libm2pim/Makefile.in: Regenerate.
166 2023-09-29  Gaius Mulley  <gaiusmod2@gmail.com>
168         * libm2iso/wrapclock.cc (longint_t): New declaration.
169         (GetTimespec): Replace types for sec and nano with
170         longint_t.
171         (SetTimespec): Replace types for sec and nano with
172         longint_t.
174 2023-09-19  Gaius Mulley  <gaiusmod2@gmail.com>
176         * Makefile.am (TARGET_LONGDOUBLE_ABI): New variable set to
177         -mabi=ieeelongdouble if the target is powerpc64le.
178         (AM_MAKEFLAGS): Append TARGET_LONGDOUBLE_ABI.
179         * Makefile.in: Rebuild.
180         * libm2cor/Makefile.am (AM_MAKEFLAGS): Add CFLAGS_LONGDOUBLE and
181         TARGET_LONGDOUBLE_ABI.
182         (libm2cor_la_CFLAGS): Add TARGET_LONGDOUBLE_ABI.
183         (libm2cor_la_M2FLAGS): Add TARGET_LONGDOUBLE_ABI.
184         * libm2cor/Makefile.in: Rebuild.
185         * libm2iso/Makefile.am (AM_MAKEFLAGS): Add CFLAGS_LONGDOUBLE and
186         TARGET_LONGDOUBLE_ABI.
187         (libm2iso_la_CFLAGS): Add TARGET_LONGDOUBLE_ABI.
188         (libm2iso_la_M2FLAGS): Add TARGET_LONGDOUBLE_ABI.
189         * libm2iso/Makefile.in: Rebuild.
190         * libm2log/Makefile.am (AM_MAKEFLAGS): Add CFLAGS_LONGDOUBLE and
191         TARGET_LONGDOUBLE_ABI.
192         (libm2log_la_CFLAGS): Add TARGET_LONGDOUBLE_ABI.
193         (libm2log_la_M2FLAGS): Add TARGET_LONGDOUBLE_ABI.
194         * libm2log/Makefile.in: Rebuild.
195         * libm2min/Makefile.am (AM_MAKEFLAGS): Add CFLAGS_LONGDOUBLE and
196         TARGET_LONGDOUBLE_ABI.
197         (libm2min_la_CFLAGS): Add TARGET_LONGDOUBLE_ABI.
198         (libm2min_la_M2FLAGS): Add TARGET_LONGDOUBLE_ABI.
199         * libm2min/Makefile.in: Rebuild.
200         * libm2pim/Makefile.am (AM_MAKEFLAGS): Add CFLAGS_LONGDOUBLE and
201         TARGET_LONGDOUBLE_ABI.
202         (libm2pim_la_CFLAGS): Add TARGET_LONGDOUBLE_ABI.
203         (libm2pim_la_M2FLAGS): Add TARGET_LONGDOUBLE_ABI.
204         * libm2pim/Makefile.in: Rebuild.
206 2023-09-13  Gaius Mulley  <gaiusmod2@gmail.com>
208         * libm2cor/Makefile.am (libm2cor_la_M2FLAGS): Add
209         -Wcase-enum.
210         * libm2cor/Makefile.in: Regenerate.
211         * libm2iso/Makefile.am (libm2iso_la_M2FLAGS): Add
212         -Wcase-enum.
213         * libm2iso/Makefile.in: Regenerate.
214         * libm2log/Makefile.am (libm2log_la_M2FLAGS): Add
215         -Wcase-enum.
216         * libm2log/Makefile.in: Regenerate.
217         * libm2pim/Makefile.am (libm2pim_la_M2FLAGS): Add
218         -Wcase-enum.
219         * libm2pim/Makefile.in: Regenerate.
221 2023-08-12  Gaius Mulley  <gaiusmod2@gmail.com>
223         PR modula2/110779
224         * configure: Regenerate.
225         * configure.ac: Provide special case test for Darwin cross
226         configuration.
227         (GLIBCXX_CONFIGURE): New statement.
228         (GLIBCXX_CHECK_GETTIMEOFDAY): New statement.
229         (GLIBCXX_ENABLE_LIBSTDCXX_TIME): New statement.
230         * libm2iso/wrapclock.cc: New sys/time.h conditional include.
231         (sys/syscall.h): Conditional include.
232         (unistd.h): Conditional include.
233         (GetTimeRealtime): Re-implement.
234         (SetTimeRealtime): Re-implement.
235         (timezone): Re-implement.
236         (istimezone): New function.
237         (daylight): Re-implement.
238         (isdst): Re-implement.
239         (tzname): Re-implement.
241 2023-08-09  Gaius Mulley  <gaiusmod2@gmail.com>
243         PR modula2/110779
244         * config.h.in: Regenerate.
245         * configure: Regenerate.
246         * configure.ac (AC_CACHE_CHECK): Check for tm_gmtoff field in
247         struct tm.
248         (GM2_CHECK_LIB): Check for daylight, timezone and tzname.
249         * libm2iso/wrapclock.cc (timezone): Guard against absence of
250         struct tm and tm_gmtoff.
251         (daylight): Check for daylight.
252         (timezone): Check for timezone.
253         (isdst): Check for isdst.
254         (tzname): Check for tzname.
255         (GetTimeRealtime): Check for struct timespec.
256         (SetTimeRealtime): Check for struct timespec.
257         (InitTimespec): Check for struct timespec.
258         (KillTimespec): Check for struct timespec.
259         (SetTimespec): Check for struct timespec.
260         (GetTimespec): Check for struct timespec.
262 2023-08-07  Nick Alcock  <nick.alcock@oracle.com>
264         * configure: Regenerate.
266 2023-08-07  Alexander von Gluck IV  <kallisti5@unixzen.com>
268         * configure: Regenerate.
270 2023-08-07  Nick Alcock  <nick.alcock@oracle.com>
272         * configure: Regenerate.
274 2023-08-07  Nick Alcock  <nick.alcock@oracle.com>
276         * configure: Regenerate.
278 2023-08-07  H.J. Lu  <hjl.tools@gmail.com>
280         * configure: Regenerate.
282 2023-08-07  H.J. Lu  <hjl.tools@gmail.com>
284         * configure: Regenerate.
286 2023-08-05  Gaius Mulley  <gaiusmod2@gmail.com>
288         PR modula2/110779
289         * config.h.in: Regenerate.
290         * configure: Regenerate.
291         * configure.ac (GM2_CHECK_LIB): Check for clock_gettime
292         and clock_settime.
293         * libm2iso/Makefile.am (M2DEFS): Add wrapclock.def.
294         * libm2iso/Makefile.in: Regenerate.
295         * libm2iso/wraptime.cc: Replace HAVE_TIMEVAL with
296         HAVE_STRUCT_TIMEVAL.
297         * libm2iso/wrapclock.cc: New file.
299 2023-06-02  Thomas Schwinge  <thomas@codesourcery.com>
301         * configure.ac (PERL): Remove.
302         * configure: Regenerate.
303         * Makefile.in: Likewise.
304         * libm2cor/Makefile.in: Likewise.
305         * libm2iso/Makefile.in: Likewise.
306         * libm2log/Makefile.in: Likewise.
307         * libm2min/Makefile.in: Likewise.
308         * libm2pim/Makefile.in: Likewise.
310 2023-05-16  Gaius Mulley  <gaiusmod2@gmail.com>
312         PR modula2/109879
313         * Makefile.in: Regenerate.
314         * aclocal.m4: Regenerate.
315         * libm2cor/Makefile.in: Regenerate.
316         * libm2iso/Makefile.am (M2DEFS): Add TextUtil.def.
317         (M2MODS): Add TextUtil.mod.
318         * libm2iso/Makefile.in: Regenerate.
319         * libm2log/Makefile.in: Regenerate.
320         * libm2min/Makefile.in: Regenerate.
321         * libm2pim/Makefile.in: Regenerate.
323 2023-05-16  Gaius Mulley  <gaiusmod2@gmail.com>
325         PR modula2/108344
326         * libm2cor/KeyBoardLEDs.cc (initialize_module): New function.
327         (SwitchScroll): Call initialize_module.
328         (SwitchNum): Call initialize_module.
329         (SwitchCaps): Call initialize_module.
330         (SwitchLEDs): Call initialize_module.
331         (M2EXPORT): Remove initialization code.
333 2023-05-13  Gaius Mulley  <gaiusmod2@gmail.com>
335         * libm2cor/KeyBoardLEDs.cc (TRUE): Remove.
336         (FALSE): Remove.
337         (init): Replace TRUE with true.
338         * libm2iso/RTco.cc (TRUE): Remove.
339         (FALSE): Remove.
340         (initSem): Replace int with bool.
341         (init): Replace FALSE with false.
342         * libm2pim/sckt.cc (TRUE): Remove.
343         (FALSE): Remove.
344         * libm2pim/wrapc.cc: Replace TRUE with true
345         and FALSE with false.
346         (FALSE): Remove.
347         (TRUE): Remove.
349 2023-05-08  Thomas Schwinge  <thomas@codesourcery.com>
351         * autogen.sh: Remove.
353 2023-05-08  Thomas Schwinge  <thomas@codesourcery.com>
355         * autogen.sh: For 'aclocal', 'autoreconf', remove '-I .',
356         add '-I ..'.
357         * Makefile.am (ACLOCAL_AMFLAGS): Remove '-I .'.
358         * libm2cor/Makefile.am (ACLOCAL_AMFLAGS): Likewise.
359         * libm2iso/Makefile.am (ACLOCAL_AMFLAGS): Likewise.
360         * libm2log/Makefile.am (ACLOCAL_AMFLAGS): Likewise.
361         * libm2min/Makefile.am (ACLOCAL_AMFLAGS): Likewise.
362         * libm2pim/Makefile.am (ACLOCAL_AMFLAGS): Likewise.
363         * aclocal.m4: Regenerate.
364         * Makefile.in: Likewise.
365         * libm2cor/Makefile.in: Likewise.
366         * libm2iso/Makefile.in: Likewise.
367         * libm2log/Makefile.in: Likewise.
368         * libm2min/Makefile.in: Likewise.
369         * libm2pim/Makefile.in: Likewise.
371 2023-03-22  Gaius Mulley  <gaiusmod2@gmail.com>
373         * libm2pim/Makefile.am (M2DEFS): Remove M2LINK.def.
374         * libm2pim/Makefile.in: Rebuild.
376 2023-03-16  Gaius Mulley  <gaiusmod2@gmail.com>
378         * libm2cor/Makefile.am: Remove
379         * libm2cor/Makefile.in: Rebuild.
380         * libm2iso/RTco.cc (newSem): Halt parameters reordered.
381         (currentThread): Ditto.
382         (never): Ditto.
383         (defined): Ditto.
384         (initThread): Ditto.
385         * libm2iso/m2rts.h (m2iso_M2RTS_HaltC): Ditto.
387 2023-03-15  Gaius Mulley  <gaiusmod2@gmail.com>
389         PR modula2/109125
390         * libm2pim/dtoa.cc (TRUE): Remove.
391         (FALSE): Remove.  Replace int with bool.
392         * libm2pim/ldtoa.cc (TRUE): Remove.
393         (FALSE): Remove.  Replace int with bool.
395 2023-03-14  Gaius Mulley  <gaiusmod2@gmail.com>
397         PR modula2/109125
398         * libm2iso/ErrnoCategory.cc (FALSE): Remove.
399         (TRUE): Remove.
400         * libm2iso/wrapsock.c (TRUE): Remove.
401         (FALSE): Remove.
402         * libm2iso/wraptime.cc (TRUE): Remove.
403         (FALSE): Remove.
404         * libm2pim/cgetopt.cc: Replace int for bool for every BOOLEAN
405         parameter in the definition module.
406         * libm2pim/dtoa.cc: Ditto.
407         * libm2pim/ldtoa.cc: Ditto.
408         * libm2pim/termios.cc: Ditto.
409         (doSetUnset): Replace int for bool.
411 2023-02-27  Gaius Mulley  <gaiusmod2@gmail.com>
413         PR modula2/108944
414         * libm2pim/sckt.cc (getLocalIP): Correct parameter order.
416 2023-02-25  Gaius Mulley  <gaiusmod2@gmail.com>
418         PR modula2/108261
419         * libm2cor/KeyBoardLEDs.cc (EXPORT): New define.
420         (M2EXPORT): New define.
421         (M2LIBNAME): New define.
422         (KeyBoardLEDs_SwitchScroll): EXPORT.
423         (KeyBoardLEDs_SwitchNum): EXPORT.
424         (KeyBoardLEDs_SwitchCaps): EXPORT.
425         (KeyBoardLEDs_SwitchLeds): EXPORT.
426         (_M2_KeyBoardLEDs_init): M2EXPORT.
427         (_M2_KeyBoardLEDs_finish): M2EXPORT.
428         (_M2_KeyBoardLEDs_dep): M2EXPORT.
429         * libm2cor/Makefile.am (libm2cor_la_M2FLAGS): Define
430         path names.
431         * libm2cor/Makefile.in: Rebuild.
432         * libm2iso/ErrnoCategory.cc (EXPORT): New define.
433         (M2EXPORT): New define.
434         (M2LIBNAME): New define.
435         (ErrnoCategory_IsErrnoHard): EXPORT.
436         (ErrnoCategory_IsErrnoSoft): EXPORT.
437         (ErrnoCategory_UnAvailable): EXPORT.
438         (ErrnoCategory_GetOpenResults): EXPORT.
439         (_M2_ErrnoCategory_init): M2EXPORT.
440         (_M2_ErrnoCategory_fini): M2EXPORT.
441         (_M2_ErrnoCategory_dep): M2EXPORT.
442         (_M2_ErrnoCategory_ctor): M2EXPORT.
443         * libm2iso/Makefile.am (libm2iso_la_M2FLAGS): Define
444         path names.
445         * libm2iso/Makefile.in: Rebuild.
446         * libm2iso/RTco.cc (EXPORT): New define.
447         (M2EXPORT): New define.
448         (M2LIBNAME): New define.
449         (newSem): Add module libname prefix to HaltC.
450         (currentThread): Remove variable and replace with a function.
451         (never): Add module libname prefix to HaltC.
452         (initThread): Add module libname prefix to HaltC.
453         * libm2iso/m2rts.h (str): New define.
454         (M2RTS_RequestDependant): Change to the mangled name equivalent.
455         (M2RTS_RegisterModule): Change to the mangled name equivalent.
456         (m2iso_M2RTS_RequestDependant): Add libname parameter.
457         (m2iso_M2RTS_RegisterModule): Add libname parameter.
458         (m2pim_M2RTS_RegisterModule): Add libname parameter.
459         (_M2_M2RTS_init): Rename this...
460         (m2iso_M2_M2RTS_init): ...to this.
461         (M2RTS_ConstructModules): Change to the mangled name equivalent.
462         (M2RTS_Terminate): Change to the mangled name equivalent.
463         (M2RTS_DeconstructModules): Change to the mangled name equivalent.
464         (m2iso_M2RTS_ConstructModules): Add libname parameter.
465         (m2iso_M2RTS_Terminate): Add libname parameter.
466         (m2iso_M2RTS_DeconstructModules): Add libname parameter.
467         (M2RTS_HaltC): Rename this...
468         (m2iso_M2RTS_HaltC): ...to this.
469         * libm2iso/wrapsock.c (EXPORT): New define.
470         (IMPORT): New define.
471         (M2EXPORT): New define.
472         (M2LIBNAME): New define.
473         (m2iso_M2RTS_RequestDependant): Add prototype.
474         (wrapsock_clientOpen): EXPORT.
475         (wrapsock_clientOpenIP): EXPORT.
476         (wrapsock_getClientPortNo): EXPORT.
477         (wrapsock_getClientHostname): EXPORT.
478         (wrapsock_getClientSocketFd): EXPORT.
479         (wrapsock_getClientIP): EXPORT.
480         (wrapsock_getPushBackChar): EXPORT.
481         (wrapsock_setPushBackChar): EXPORT.
482         (wrapsock_getSizeOfClientInfo): EXPORT.
483         (_M2_wrapsock_init): M2EXPORT.
484         (_M2_wrapsock_fini): M2EXPORT.
485         (ctor): M2EXPORT.  New function.
486         * libm2iso/wraptime.c: Rename to...
487         * libm2iso/wraptime.cc: ...this.
488         (EXPORT): New define.
489         (M2EXPORT): New define.
490         (M2LIBNAME): New define.
491         (wraptime_InitTimeval): EXPORT.
492         (wraptime_KillTimeval): EXPORT.
493         (wraptime_InitTimezone): EXPORT.
494         (wraptime_KillTimezone): EXPORT.
495         (wraptime_InitTM): EXPORT.
496         (wraptime_KillTM): EXPORT.
497         (wraptime_gettimeofday): EXPORT.
498         (wraptime_settimeofday): EXPORT.
499         (wraptime_GetFractions): EXPORT.
500         (wraptime_localtime_r): EXPORT.
501         (wraptime_GetYear): EXPORT.
502         (wraptime_GetMonth): EXPORT.
503         (wraptime_GetDay): EXPORT.
504         (wraptime_GetHour): EXPORT.
505         (wraptime_GetMinute): EXPORT.
506         (wraptime_GetSecond): EXPORT.
507         (wraptime_GetSummerTime): EXPORT.
508         (wraptime_GetDST): EXPORT.
509         (wraptime_SetTimezone): EXPORT.
510         (wraptime_SetTimeval): EXPORT.
511         (_M2_wraptime_init): M2EXPORT.
512         (_M2_wraptime_fini): M2EXPORT.
513         (ctor): M2EXPORT.  New function.
514         * libm2log/Makefile.am (libm2log_la_M2FLAGS): Define
515         path names.
516         * libm2log/Makefile.in:
517         * libm2min/Makefile.am (libm2min_la_M2FLAGS): Define
518         path names.
519         * libm2min/Makefile.in:
520         * libm2pim/Makefile.am (libm2pim_la_M2FLAGS): Define
521         path names.
522         * libm2pim/Makefile.in:
523         * libm2pim/Selective.cc (EXPORT): New define.
524         (M2EXPORT): New define.
525         (M2LIBNAME): New define.
526         (Selective_Select): EXPORT.
527         (Selective_InitTime): EXPORT.
528         (Selective_GetTime): EXPORT.
529         (Selective_SetTime): EXPORT.
530         (Selective_KillTime): EXPORT.
531         (Selective_InitSet): EXPORT.
532         (Selective_KillSet): EXPORT.
533         (Selective_FdZero): EXPORT.
534         (Selective_FdSet): EXPORT.
535         (Selective_FdClr): EXPORT.
536         (Selective_FdIsSet): EXPORT.
537         (Selective_GetTimeOfDay): EXPORT.
538         (Selective_MaxFdsPlusOne): EXPORT.
539         (Selective_WriteCharRaw): EXPORT.
540         (Selective_ReadCharRaw): EXPORT.
541         (_M2_Selective_init): M2EXPORT.
542         (_M2_Selective_fini): M2EXPORT.
543         (_M2_Selective_dep): M2EXPORT.
544         (_M2_Selective_ctor): M2EXPORT.
545         * libm2pim/SysExceptions.cc (EXPORT): New define.
546         (M2EXPORT): New define.
547         (M2LIBNAME): New define.
548         (SysExceptions_InitExceptionHandlers): EXPORT.
549         (_M2_SysExceptions_init): M2EXPORT.
550         (_M2_SysExceptions_fini): M2EXPORT.
551         (_M2_SysExceptions_dep): M2EXPORT.
552         (_M2_SysExceptions_ctor): M2EXPORT.
553         * libm2pim/UnixArgs.cc (EXPORT): New define.
554         (M2EXPORT): New define.
555         (M2LIBNAME): New define.
556         (UnixArgs_GetArgC): EXPORT.
557         (UnixArgs_GetArgV): EXPORT.
558         (UnixArgs_GetEnvV): EXPORT.
559         (_M2_UnixArgs_init): M2EXPORT.
560         (_M2_UnixArgs_fini): M2EXPORT.
561         (_M2_UnixArgs_dep): M2EXPORT.
562         (_M2_UnixArgs_ctor): M2EXPORT.
563         * libm2pim/cgetopt.cc (EXPORT): New define.
564         (M2EXPORT): New define.
565         (M2LIBNAME): New define.
566         (cgetopt_getopt): EXPORT.
567         (cgetopt_getopt_long): EXPORT.
568         (cgetopt_getopt_long_only): EXPORT.
569         (cgetopt_InitOptions): EXPORT.
570         (cgetopt_KillOptions): EXPORT.
571         (cgetopt_SetOption): EXPORT.
572         (cgetopt_GetLongOptionArray): EXPORT.
573         (_M2_cgetopt_init): M2EXPORT.
574         (_M2_cgetopt_fini): M2EXPORT.
575         (_M2_cgetopt_dep): M2EXPORT.
576         (_M2_cgetopt_ctor): M2EXPORT.
577         * libm2pim/dtoa.cc (EXPORT): New define.
578         (M2EXPORT): New define.
579         (M2LIBNAME): New define.
580         (dtoa_strtod): EXPORT.
581         (dtoa_calcmaxsig): EXPORT.
582         (dtoa_calcdecimal): EXPORT.
583         (dtoa_calcsign): EXPORT.
584         (dtoa_dtoa): EXPORT.
585         (_M2_dtoa_init): M2EXPORT.
586         (_M2_dtoa_fini): M2EXPORT.
587         (_M2_dtoa_dep): M2EXPORT.
588         (_M2_dtoa_ctor): M2EXPORT.
589         * libm2pim/errno.cc (EXPORT): New define.
590         (M2EXPORT): New define.
591         (M2LIBNAME): New define.
592         (errno_geterrno): EXPORT.
593         (_M2_errno_init): M2EXPORT.
594         (_M2_errno_fini): M2EXPORT.
595         (_M2_errno_dep): M2EXPORT.
596         (_M2_errno_ctor): M2EXPORT.
597         * libm2pim/ldtoa.cc (EXPORT): New define.
598         (IMPORT): New define.
599         (M2EXPORT): New define.
600         (M2LIBNAME): New define.
601         (dtoa_calcmaxsig): EXPORT.
602         (dtoa_calcdecimal): EXPORT.
603         (dtoa_calcsign): EXPORT.
604         (ldtoa_strtold): EXPORT.
605         (ldtoa_ldtoa): EXPORT.
606         (_M2_ldtoa_init): M2EXPORT.
607         (_M2_ldtoa_fini): M2EXPORT.
608         (_M2_ldtoa_dep): M2EXPORT.
609         (_M2_ldtoa_ctor): M2EXPORT.
610         * libm2pim/sckt.cc (EXPORT): New define.
611         (M2EXPORT): New define.
612         (M2LIBNAME): New define.
613         (tcpServerEstablishPort): EXPORT.
614         (tcpServerEstablish): EXPORT.
615         (tcpServerAccept): EXPORT.
616         (tcpServerPortNo): EXPORT.
617         (tcpServerSocketFd): EXPORT.
618         (getLocalIP): EXPORT.
619         (tcpServerIP): EXPORT.
620         (tcpServerClientIP): EXPORT.
621         (tcpServerClientPortNo): EXPORT.
622         (tcpClientSocket): EXPORT.
623         (tcpClientSocketIP): EXPORT.
624         (tcpClientConnect): EXPORT.
625         (tcpClientPortNo): EXPORT.
626         (tcpClientSocketFd): EXPORT.
627         (tcpClientIP): EXPORT.
628         (_M2_sckt_init): M2EXPORT.
629         (_M2_sckt_finish): M2EXPORT.
630         (_M2_sckt_dep): M2EXPORT.
631         (_M2_sckt_ctor): M2EXPORT.
632         * libm2pim/termios.cc (EXPORT): New define.
633         (M2EXPORT): New define.
634         (M2LIBNAME): New define.
635         (_M2_termios_init): M2EXPORT.
636         (_M2_termios_fini): M2EXPORT.
637         (_M2_termios_dep): M2EXPORT.
638         (_M2_termios_ctor): M2EXPORT.
639         * libm2pim/wrapc.c (EXPORT): New define.
640         (M2EXPORT): New define.
641         (M2LIBNAME): New define.
642         (wrapc_strtime): EXPORT.
643         (wrapc_filesize): EXPORT.
644         (wrapc_filemtime): EXPORT.
645         (wrapc_fileinode): EXPORT.
646         (wrapc_getrand): EXPORT.
647         (wrapc_getusername): EXPORT.
648         (wrapc_getnameuidgid): EXPORT.
649         (wrapc_signbit): EXPORT.
650         (wrapc_signbitl): EXPORT.
651         (wrapc_signbitf): EXPORT.
652         (wrapc_isfinite): EXPORT.
653         (wrapc_isfinitel): EXPORT.
654         (wrapc_isfinitef): EXPORT.
655         (_M2_wrapc_init): M2EXPORT.
656         (_M2_wrapc_fini): M2EXPORT.
657         (_M2_wrapc_ctor): M2EXPORT.
658         * libm2pim/wrapc.cc: New file.
660 2023-02-19  Gaius Mulley  <gaiusmod2@gmail.com>
662         PR testsuite/108835
663         * libm2iso/RTco.cc: Re-implementation using a single lock
664         mutex and inlined wait/signal implementation within
665         transfer.
667 2023-02-13  Gaius Mulley  <gaiusmod2@gmail.com>
669         * libm2iso/RTco.cc (tprintf): Replace definition.
671 2023-02-01  Gaius Mulley  <gaiusmod2@gmail.com>
673         PR modula2/108612
674         PR modula2/108551
675         * libm2cor/Makefile.am (libm2cor_la_M2FLAGS): Add -Wreturn-type
676         -fcase.
677         * libm2cor/Makefile.in: Rebuild.
678         * libm2iso/Makefile.am (libm2iso_la_M2FLAGS): Add -Wreturn-type
679         -fcase.
680         * libm2iso/Makefile.in: Rebuild.
681         * libm2log/Makefile.am (libm2log_la_M2FLAGS): Add -Wreturn-type
682         -fcase.
683         * libm2log/Makefile.in: Rebuild.
684         * libm2pim/Makefile.am (libm2pim_la_M2FLAGS): Add -Wreturn-type
685         -fcase.
686         * libm2pim/Makefile.in: Rebuild.
688 2023-01-31  Richard Biener  <rguenther@suse.de>
690         PR modula2/108462
691         * libm2cor/Makefile.am: Remove static lib install from
692         install-data-local.
693         * libm2iso/Makefile.am: Likewise.
694         * libm2log/Makefile.am: Likewise.
695         * libm2min/Makefile.am: Likewise.
696         * libm2pim/Makefile.am: Likewise.
697         * libm2cor/Makefile.in: Regenerate.
698         * libm2iso/Makefile.in: Likewise.
699         * libm2log/Makefile.in: Likewise.
700         * libm2min/Makefile.in: Likewise.
701         * libm2pim/Makefile.in: Likewise.
703 2023-01-31  Gaius Mulley  <gaiusmod2@gmail.com>
705         * libm2log/Makefile.am (VPATH): Replace gm2-libs-pim
706         with gm2-libs-log.
707         (libm2log_la_M2FLAGS): Replace gm2-libs-pim with
708         gm2-libs-log.
709         (install-data-local): Replace gm2-libs-pim with
710         gm2-libs-log.
711         * libm2log/Makefile.in: Rebuilt.
713 2023-01-26  Gaius Mulley  <gaiusmod2@gmail.com>
715         * configure.ac (AM_INIT_AUTOMAKE): Specify 1.15.1.
717 2023-01-24  Co-Authored by: Iain Sandoe  <iain@sandoe.co.uk>
719         * libm2cor/Makefile.am (SYSTEM.def): Split path into
720         multiple -I components.
721         * libm2cor/Makefile.in: Rebuild.
722         * libm2min/Makefile.am (SYSTEM.def): Split path into
723         multiple -I components.
724         * libm2min/Makefile.in: Rebuild.
725         * libm2iso/Makefile.am (SYSTEM.def): Split path into
726         multiple -I components.
727         * libm2iso/Makefile.in: Rebuild.
729 2023-01-23  Richard Biener  <rguenther@suse.de>
731         PR modula2/108144
732         * libm2cor/Makefile.am: Revert previous change, instead
733         drop the redundant $(MULTIDIR).
734         * libm2iso/Makefile.am: Likewise.
735         * libm2log/Makefile.am: Likewise.
736         * libm2min/Makefile.am: Likewise.
737         * libm2pim/Makefile.am: Likewise.
738         * libm2cor/Makefile.in: Regenerate.
739         * libm2iso/Makefile.in: Likewise.
740         * libm2log/Makefile.in: Likewise.
741         * libm2min/Makefile.in: Likewise.
742         * libm2pim/Makefile.in: Likewise.
744 2023-01-23  Richard Biener  <rguenther@suse.de>
746         PR modula2/108144
747         * configure.ac: Apply config-ml.pl to the generated Makefiles.
748         Set multilib_arg, use AM_PROG_LIBTOOL.
749         * configure: Regenerate.
750         * Makefile.am (AM_MAKEFLAGS): Do not override MULTI* flags.
751         * Makefile.in: Regenerate.
752         * libm2cor/Makefile.am: Install to $(toolexeclibdir)$(M2LIBDIR)
753         rather than $(inst_libdir)/$(MULTIDIR)$(M2LIBDIR).
754         * libm2iso/Makefile.am: Likewise.
755         * libm2log/Makefile.am: Likewise.
756         * libm2min/Makefile.am: Likewise.
757         * libm2pim/Makefile.am: Likewise.
758         * libm2cor/Makefile.in: Regenerate.
759         * libm2iso/Makefile.in: Likewise.
760         * libm2log/Makefile.in: Likewise.
761         * libm2min/Makefile.in: Likewise.
762         * libm2pim/Makefile.in: Likewise.
764 2023-01-19  Richard Biener  <rguenther@suse.de>
766         PR modula2/108144
767         * configure.ac: Add GCC_BASE_VER.
768         * configure: Re-generate.
769         * Makefile.am: Use @get_gcc_base_ver@ for gcc_version.
770         * libm2cor/Makefile.am: Likewise.  Use gcc_version instead
771         of version.
772         * libm2iso/Makefile.am: Likewise.
773         * libm2log/Makefile.am: Likewise.
774         * libm2min/Makefile.am: Likewise.
775         * libm2pim/Makefile.am: Likewise.
776         * Makefile.in: Re-generate.
777         * libm2cor/Makefile.in: Likewise.
778         * libm2iso/Makefile.in: Likewise.
779         * libm2log/Makefile.in: Likewise.
780         * libm2min/Makefile.in: Likewise.
781         * libm2pim/Makefile.in: Likewise.
783 2023-01-17  Gaius Mulley  <gaiusmod2@gmail.com>
785         * libm2iso/RTco.cc (_M2_RTco_fini): Call M2RTS_HaltC.
786         (newSem): Call M2RTS_HaltC.
787         (currentThread): Call M2RTS_HaltC.
788         (never): Call M2RTS_HaltC.
789         (defined): Call M2RTS_HaltC.
790         (initThread): Call M2RTS_HaltC.
791         (RTco_transfer): Call M2RTS_HaltC.
792         * libm2iso/m2rts.h (M2RTS_Halt): Provide parameter names.
793         (M2RTS_HaltC): New procedure declaration.
795 2023-01-06  v  <gaiusmod2@gmail.com>
797         * configure: Regenerate.
798         * configure.ac (libtool_VERSION): Bump to 18:0:0.
800 2023-01-04  Iain Sandoe  <iain@sandoe.co.uk>
802         PR modula2/108183
803         * libm2cor/KeyBoardLEDs.cc (_M2_KeyBoardLEDs_ctor): Rework to use
804         an extern "C" function with 'constructor' attribute.
805         * libm2iso/ErrnoCategory.cc (_M2_ErrnoCategory_ctor): Likewise.
806         * libm2iso/RTco.cc (_M2_RTco_ctor): Likewise.
807         * libm2pim/Selective.cc (_M2_Selective_ctor): Likewise.
808         * libm2pim/SysExceptions.cc (_M2_SysExceptions_ctor): Likewise.
809         * libm2pim/UnixArgs.cc (_M2_UnixArgs_ctor): Likewise.
810         * libm2pim/cgetopt.cc (_M2_cgetopt_ctor): Likewise.
811         * libm2pim/dtoa.cc (_M2_dtoa_ctor): Likewise.
812         * libm2pim/errno.cc (_M2_errno_ctor): Likewise.
813         * libm2pim/ldtoa.cc (_M2_ldtoa_ctor): Likewise.
814         * libm2pim/sckt.cc (_M2_sckt_ctor): Likewise.
815         * libm2pim/termios.cc (_M2_termios_ctor): Likewise.
816         * libm2pim/wrapc.c: Add a new line to the file end.
818 2022-12-31  Iain Sandoe  <iain@sandoe.co.uk>
820         * configure: Regenerate.
821         * configure.ac: Make a conditional for configurations targeting
822         Darwin.
823         * libm2cor/Makefile.am: Use -undefined,dynamic_lookup on Darwin.
824         * libm2iso/Makefile.am: Likewise.
825         * libm2log/Makefile.am: Likewise.
826         * libm2pim/Makefile.am: Likewise
827         * libm2min/Makefile.am: Likewise
828         * libm2cor/Makefile.in: Regenerate.
829         * libm2iso/Makefile.in: Regenerate.
830         * libm2log/Makefile.in: Regenerate.
831         * libm2min/Makefile.in: Regenerate.
832         * libm2pim/Makefile.in: Regenerate.
834 2022-12-14  Gaius Mulley  <gaiusmod2@gmail.com>
836         * Makefile.am: New file.
837         * autogen.sh: New file.
838         * config.h.in: New file.
839         * configure.ac: New file.
840         * libm2cor/KeyBoardLEDs.cc: New file.
841         * libm2cor/Makefile.am: New file.
842         * libm2iso/ChanConsts.h: New file.
843         * libm2iso/ErrnoCategory.cc: New file.
844         * libm2iso/Makefile.am: New file.
845         * libm2iso/RTco.cc: New file.
846         * libm2iso/m2rts.h: New file.
847         * libm2iso/wrapsock.c: New file.
848         * libm2iso/wraptime.c: New file.
849         * libm2log/Break.c: New file.
850         * libm2log/Makefile.am: New file.
851         * libm2min/Makefile.am: New file.
852         * libm2min/libc.c: New file.
853         * libm2pim/Makefile.am: New file.
854         * libm2pim/Selective.cc: New file.
855         * libm2pim/SysExceptions.cc: New file.
856         * libm2pim/UnixArgs.cc: New file.
857         * libm2pim/cgetopt.cc: New file.
858         * libm2pim/dtoa.cc: New file.
859         * libm2pim/errno.cc: New file.
860         * libm2pim/ldtoa.cc: New file.
861         * libm2pim/sckt.cc: New file.
862         * libm2pim/target.c: New file.
863         * libm2pim/termios.cc: New file.
864         * libm2pim/wrapc.c: New file.
865         * configure: Generated.
866         * libm2log/Makefile.in: Generated.
867         * libm2min/Makefile.in: Generated.
868         * libm2cor/Makefile.in: Generated.
869         * libm2pim/Makefile.in: Generated.
870         * libm2iso/Makefile.in: Generated.
871         * Makefile.in: New file.
872         * aclocal.m4: New file.