c++: constant direct-initialization [PR108243]
[official-gcc.git] / libgm2 / ChangeLog
blob42cfcf9504425e7dc925f60b88f28c046adcfbc2
1 2023-12-12  Gaius Mulley  <gaiusmod2@gmail.com>
3         * libm2iso/Makefile.am (libm2iso_la_M2FLAGS): Added line breaks.
4         * libm2iso/Makefile.in: Regenerate.
5         * libm2log/Makefile.am (libm2log_la_M2FLAGS): Added line breaks.
6         * libm2log/Makefile.in: Regenerate.
7         * libm2pim/Makefile.am (libm2pim_la_M2FLAGS): Added line breaks.
8         * libm2pim/Makefile.in: Regenerate.
10 2023-11-30  Gaius Mulley  <gaiusmod2@gmail.com>
12         * configure: Regenerate.
13         * configure.ac:(libtool_VERSION): Bump to 19:0:0.
15 2023-11-13  Gaius Mulley  <gaiusmod2@gmail.com>
17         PR modula2/110779
18         * Makefile.in: Regenerate.
19         * aclocal.m4: Regenerate.
20         * config.h.in: Regenerate.
21         * configure: Regenerate.
22         * configure.ac: Remove newline.
23         * libm2cor/Makefile.in: Regenerate.
24         * libm2iso/Makefile.in: Regenerate.
25         * libm2log/Makefile.in: Regenerate.
26         * libm2min/Makefile.in: Regenerate.
27         * libm2pim/Makefile.in: Regenerate.
28         * acinclude.m4: New file.
29         * configure.host: New file.
31 2023-10-27  Gaius Mulley  <gaiusmod2@gmail.com>
33         PR modula2/112110
34         * libm2iso/wrapclock.cc (timezone): Return 0 if unable
35         to get the timezone from the tm struct.
37 2023-10-27  Gaius Mulley  <gaiusmod2@gmail.com>
39         PR modula2/111530
40         * Makefile.in: Regenerate.
41         * aclocal.m4: Regenerate.
42         * config.h.in: Regenerate.
43         * configure: Regenerate.
44         * configure.ac (AC_CHECK_HEADERS): Include getopt.h.
45         (GM2_CHECK_LIB): getopt_long check.
46         (GM2_CHECK_LIB): getopt_long_only check.
47         * libm2cor/Makefile.in: Regenerate.
48         * libm2iso/Makefile.in: Regenerate.
49         * libm2log/Makefile.in: Regenerate.
50         * libm2min/Makefile.in: Regenerate.
51         * libm2pim/Makefile.in: Regenerate.
52         * libm2pim/cgetopt.cc: Re-write using conditional on configure
53         and long function code from libiberty/getopt.c.
55 2023-10-25  Gaius Mulley  <gaiusmod2@gmail.com>
57         PR modula2/111955
58         * libm2pim/wrapc.cc (isnan): Export new function.
59         (isnanf): Export new function.
60         (isnanl): Export new function.
62 2023-10-22  Iain Sandoe  <iain@sandoe.co.uk>
64         * Makefile.am: Handle Darwin rpaths.
65         * Makefile.in: Regenerate.
66         * aclocal.m4: Regenerate.
67         * configure: Regenerate.
68         * configure.ac: Handle Darwin rpaths.
69         * libm2cor/Makefile.am: Handle Darwin rpaths.
70         * libm2cor/Makefile.in: Regenerate.
71         * libm2iso/Makefile.am: Handle Darwin rpaths.
72         * libm2iso/Makefile.in: Regenerate.
73         * libm2log/Makefile.am: Handle Darwin rpaths.
74         * libm2log/Makefile.in: Regenerate.
75         * libm2min/Makefile.am: Handle Darwin rpaths.
76         * libm2min/Makefile.in: Regenerate.
77         * libm2pim/Makefile.am: Handle Darwin rpaths.
78         * libm2pim/Makefile.in: Regenerate.
80 2023-09-29  Gaius Mulley  <gaiusmod2@gmail.com>
82         * libm2iso/wrapclock.cc (longint_t): New declaration.
83         (GetTimespec): Replace types for sec and nano with
84         longint_t.
85         (SetTimespec): Replace types for sec and nano with
86         longint_t.
88 2023-09-19  Gaius Mulley  <gaiusmod2@gmail.com>
90         * Makefile.am (TARGET_LONGDOUBLE_ABI): New variable set to
91         -mabi=ieeelongdouble if the target is powerpc64le.
92         (AM_MAKEFLAGS): Append TARGET_LONGDOUBLE_ABI.
93         * Makefile.in: Rebuild.
94         * libm2cor/Makefile.am (AM_MAKEFLAGS): Add CFLAGS_LONGDOUBLE and
95         TARGET_LONGDOUBLE_ABI.
96         (libm2cor_la_CFLAGS): Add TARGET_LONGDOUBLE_ABI.
97         (libm2cor_la_M2FLAGS): Add TARGET_LONGDOUBLE_ABI.
98         * libm2cor/Makefile.in: Rebuild.
99         * libm2iso/Makefile.am (AM_MAKEFLAGS): Add CFLAGS_LONGDOUBLE and
100         TARGET_LONGDOUBLE_ABI.
101         (libm2iso_la_CFLAGS): Add TARGET_LONGDOUBLE_ABI.
102         (libm2iso_la_M2FLAGS): Add TARGET_LONGDOUBLE_ABI.
103         * libm2iso/Makefile.in: Rebuild.
104         * libm2log/Makefile.am (AM_MAKEFLAGS): Add CFLAGS_LONGDOUBLE and
105         TARGET_LONGDOUBLE_ABI.
106         (libm2log_la_CFLAGS): Add TARGET_LONGDOUBLE_ABI.
107         (libm2log_la_M2FLAGS): Add TARGET_LONGDOUBLE_ABI.
108         * libm2log/Makefile.in: Rebuild.
109         * libm2min/Makefile.am (AM_MAKEFLAGS): Add CFLAGS_LONGDOUBLE and
110         TARGET_LONGDOUBLE_ABI.
111         (libm2min_la_CFLAGS): Add TARGET_LONGDOUBLE_ABI.
112         (libm2min_la_M2FLAGS): Add TARGET_LONGDOUBLE_ABI.
113         * libm2min/Makefile.in: Rebuild.
114         * libm2pim/Makefile.am (AM_MAKEFLAGS): Add CFLAGS_LONGDOUBLE and
115         TARGET_LONGDOUBLE_ABI.
116         (libm2pim_la_CFLAGS): Add TARGET_LONGDOUBLE_ABI.
117         (libm2pim_la_M2FLAGS): Add TARGET_LONGDOUBLE_ABI.
118         * libm2pim/Makefile.in: Rebuild.
120 2023-09-13  Gaius Mulley  <gaiusmod2@gmail.com>
122         * libm2cor/Makefile.am (libm2cor_la_M2FLAGS): Add
123         -Wcase-enum.
124         * libm2cor/Makefile.in: Regenerate.
125         * libm2iso/Makefile.am (libm2iso_la_M2FLAGS): Add
126         -Wcase-enum.
127         * libm2iso/Makefile.in: Regenerate.
128         * libm2log/Makefile.am (libm2log_la_M2FLAGS): Add
129         -Wcase-enum.
130         * libm2log/Makefile.in: Regenerate.
131         * libm2pim/Makefile.am (libm2pim_la_M2FLAGS): Add
132         -Wcase-enum.
133         * libm2pim/Makefile.in: Regenerate.
135 2023-08-12  Gaius Mulley  <gaiusmod2@gmail.com>
137         PR modula2/110779
138         * configure: Regenerate.
139         * configure.ac: Provide special case test for Darwin cross
140         configuration.
141         (GLIBCXX_CONFIGURE): New statement.
142         (GLIBCXX_CHECK_GETTIMEOFDAY): New statement.
143         (GLIBCXX_ENABLE_LIBSTDCXX_TIME): New statement.
144         * libm2iso/wrapclock.cc: New sys/time.h conditional include.
145         (sys/syscall.h): Conditional include.
146         (unistd.h): Conditional include.
147         (GetTimeRealtime): Re-implement.
148         (SetTimeRealtime): Re-implement.
149         (timezone): Re-implement.
150         (istimezone): New function.
151         (daylight): Re-implement.
152         (isdst): Re-implement.
153         (tzname): Re-implement.
155 2023-08-09  Gaius Mulley  <gaiusmod2@gmail.com>
157         PR modula2/110779
158         * config.h.in: Regenerate.
159         * configure: Regenerate.
160         * configure.ac (AC_CACHE_CHECK): Check for tm_gmtoff field in
161         struct tm.
162         (GM2_CHECK_LIB): Check for daylight, timezone and tzname.
163         * libm2iso/wrapclock.cc (timezone): Guard against absence of
164         struct tm and tm_gmtoff.
165         (daylight): Check for daylight.
166         (timezone): Check for timezone.
167         (isdst): Check for isdst.
168         (tzname): Check for tzname.
169         (GetTimeRealtime): Check for struct timespec.
170         (SetTimeRealtime): Check for struct timespec.
171         (InitTimespec): Check for struct timespec.
172         (KillTimespec): Check for struct timespec.
173         (SetTimespec): Check for struct timespec.
174         (GetTimespec): Check for struct timespec.
176 2023-08-07  Nick Alcock  <nick.alcock@oracle.com>
178         * configure: Regenerate.
180 2023-08-07  Alexander von Gluck IV  <kallisti5@unixzen.com>
182         * configure: Regenerate.
184 2023-08-07  Nick Alcock  <nick.alcock@oracle.com>
186         * configure: Regenerate.
188 2023-08-07  Nick Alcock  <nick.alcock@oracle.com>
190         * configure: Regenerate.
192 2023-08-07  H.J. Lu  <hjl.tools@gmail.com>
194         * configure: Regenerate.
196 2023-08-07  H.J. Lu  <hjl.tools@gmail.com>
198         * configure: Regenerate.
200 2023-08-05  Gaius Mulley  <gaiusmod2@gmail.com>
202         PR modula2/110779
203         * config.h.in: Regenerate.
204         * configure: Regenerate.
205         * configure.ac (GM2_CHECK_LIB): Check for clock_gettime
206         and clock_settime.
207         * libm2iso/Makefile.am (M2DEFS): Add wrapclock.def.
208         * libm2iso/Makefile.in: Regenerate.
209         * libm2iso/wraptime.cc: Replace HAVE_TIMEVAL with
210         HAVE_STRUCT_TIMEVAL.
211         * libm2iso/wrapclock.cc: New file.
213 2023-06-02  Thomas Schwinge  <thomas@codesourcery.com>
215         * configure.ac (PERL): Remove.
216         * configure: Regenerate.
217         * Makefile.in: Likewise.
218         * libm2cor/Makefile.in: Likewise.
219         * libm2iso/Makefile.in: Likewise.
220         * libm2log/Makefile.in: Likewise.
221         * libm2min/Makefile.in: Likewise.
222         * libm2pim/Makefile.in: Likewise.
224 2023-05-16  Gaius Mulley  <gaiusmod2@gmail.com>
226         PR modula2/109879
227         * Makefile.in: Regenerate.
228         * aclocal.m4: Regenerate.
229         * libm2cor/Makefile.in: Regenerate.
230         * libm2iso/Makefile.am (M2DEFS): Add TextUtil.def.
231         (M2MODS): Add TextUtil.mod.
232         * libm2iso/Makefile.in: Regenerate.
233         * libm2log/Makefile.in: Regenerate.
234         * libm2min/Makefile.in: Regenerate.
235         * libm2pim/Makefile.in: Regenerate.
237 2023-05-16  Gaius Mulley  <gaiusmod2@gmail.com>
239         PR modula2/108344
240         * libm2cor/KeyBoardLEDs.cc (initialize_module): New function.
241         (SwitchScroll): Call initialize_module.
242         (SwitchNum): Call initialize_module.
243         (SwitchCaps): Call initialize_module.
244         (SwitchLEDs): Call initialize_module.
245         (M2EXPORT): Remove initialization code.
247 2023-05-13  Gaius Mulley  <gaiusmod2@gmail.com>
249         * libm2cor/KeyBoardLEDs.cc (TRUE): Remove.
250         (FALSE): Remove.
251         (init): Replace TRUE with true.
252         * libm2iso/RTco.cc (TRUE): Remove.
253         (FALSE): Remove.
254         (initSem): Replace int with bool.
255         (init): Replace FALSE with false.
256         * libm2pim/sckt.cc (TRUE): Remove.
257         (FALSE): Remove.
258         * libm2pim/wrapc.cc: Replace TRUE with true
259         and FALSE with false.
260         (FALSE): Remove.
261         (TRUE): Remove.
263 2023-05-08  Thomas Schwinge  <thomas@codesourcery.com>
265         * autogen.sh: Remove.
267 2023-05-08  Thomas Schwinge  <thomas@codesourcery.com>
269         * autogen.sh: For 'aclocal', 'autoreconf', remove '-I .',
270         add '-I ..'.
271         * Makefile.am (ACLOCAL_AMFLAGS): Remove '-I .'.
272         * libm2cor/Makefile.am (ACLOCAL_AMFLAGS): Likewise.
273         * libm2iso/Makefile.am (ACLOCAL_AMFLAGS): Likewise.
274         * libm2log/Makefile.am (ACLOCAL_AMFLAGS): Likewise.
275         * libm2min/Makefile.am (ACLOCAL_AMFLAGS): Likewise.
276         * libm2pim/Makefile.am (ACLOCAL_AMFLAGS): Likewise.
277         * aclocal.m4: Regenerate.
278         * Makefile.in: Likewise.
279         * libm2cor/Makefile.in: Likewise.
280         * libm2iso/Makefile.in: Likewise.
281         * libm2log/Makefile.in: Likewise.
282         * libm2min/Makefile.in: Likewise.
283         * libm2pim/Makefile.in: Likewise.
285 2023-03-22  Gaius Mulley  <gaiusmod2@gmail.com>
287         * libm2pim/Makefile.am (M2DEFS): Remove M2LINK.def.
288         * libm2pim/Makefile.in: Rebuild.
290 2023-03-16  Gaius Mulley  <gaiusmod2@gmail.com>
292         * libm2cor/Makefile.am: Remove
293         * libm2cor/Makefile.in: Rebuild.
294         * libm2iso/RTco.cc (newSem): Halt parameters reordered.
295         (currentThread): Ditto.
296         (never): Ditto.
297         (defined): Ditto.
298         (initThread): Ditto.
299         * libm2iso/m2rts.h (m2iso_M2RTS_HaltC): Ditto.
301 2023-03-15  Gaius Mulley  <gaiusmod2@gmail.com>
303         PR modula2/109125
304         * libm2pim/dtoa.cc (TRUE): Remove.
305         (FALSE): Remove.  Replace int with bool.
306         * libm2pim/ldtoa.cc (TRUE): Remove.
307         (FALSE): Remove.  Replace int with bool.
309 2023-03-14  Gaius Mulley  <gaiusmod2@gmail.com>
311         PR modula2/109125
312         * libm2iso/ErrnoCategory.cc (FALSE): Remove.
313         (TRUE): Remove.
314         * libm2iso/wrapsock.c (TRUE): Remove.
315         (FALSE): Remove.
316         * libm2iso/wraptime.cc (TRUE): Remove.
317         (FALSE): Remove.
318         * libm2pim/cgetopt.cc: Replace int for bool for every BOOLEAN
319         parameter in the definition module.
320         * libm2pim/dtoa.cc: Ditto.
321         * libm2pim/ldtoa.cc: Ditto.
322         * libm2pim/termios.cc: Ditto.
323         (doSetUnset): Replace int for bool.
325 2023-02-27  Gaius Mulley  <gaiusmod2@gmail.com>
327         PR modula2/108944
328         * libm2pim/sckt.cc (getLocalIP): Correct parameter order.
330 2023-02-25  Gaius Mulley  <gaiusmod2@gmail.com>
332         PR modula2/108261
333         * libm2cor/KeyBoardLEDs.cc (EXPORT): New define.
334         (M2EXPORT): New define.
335         (M2LIBNAME): New define.
336         (KeyBoardLEDs_SwitchScroll): EXPORT.
337         (KeyBoardLEDs_SwitchNum): EXPORT.
338         (KeyBoardLEDs_SwitchCaps): EXPORT.
339         (KeyBoardLEDs_SwitchLeds): EXPORT.
340         (_M2_KeyBoardLEDs_init): M2EXPORT.
341         (_M2_KeyBoardLEDs_finish): M2EXPORT.
342         (_M2_KeyBoardLEDs_dep): M2EXPORT.
343         * libm2cor/Makefile.am (libm2cor_la_M2FLAGS): Define
344         path names.
345         * libm2cor/Makefile.in: Rebuild.
346         * libm2iso/ErrnoCategory.cc (EXPORT): New define.
347         (M2EXPORT): New define.
348         (M2LIBNAME): New define.
349         (ErrnoCategory_IsErrnoHard): EXPORT.
350         (ErrnoCategory_IsErrnoSoft): EXPORT.
351         (ErrnoCategory_UnAvailable): EXPORT.
352         (ErrnoCategory_GetOpenResults): EXPORT.
353         (_M2_ErrnoCategory_init): M2EXPORT.
354         (_M2_ErrnoCategory_fini): M2EXPORT.
355         (_M2_ErrnoCategory_dep): M2EXPORT.
356         (_M2_ErrnoCategory_ctor): M2EXPORT.
357         * libm2iso/Makefile.am (libm2iso_la_M2FLAGS): Define
358         path names.
359         * libm2iso/Makefile.in: Rebuild.
360         * libm2iso/RTco.cc (EXPORT): New define.
361         (M2EXPORT): New define.
362         (M2LIBNAME): New define.
363         (newSem): Add module libname prefix to HaltC.
364         (currentThread): Remove variable and replace with a function.
365         (never): Add module libname prefix to HaltC.
366         (initThread): Add module libname prefix to HaltC.
367         * libm2iso/m2rts.h (str): New define.
368         (M2RTS_RequestDependant): Change to the mangled name equivalent.
369         (M2RTS_RegisterModule): Change to the mangled name equivalent.
370         (m2iso_M2RTS_RequestDependant): Add libname parameter.
371         (m2iso_M2RTS_RegisterModule): Add libname parameter.
372         (m2pim_M2RTS_RegisterModule): Add libname parameter.
373         (_M2_M2RTS_init): Rename this...
374         (m2iso_M2_M2RTS_init): ...to this.
375         (M2RTS_ConstructModules): Change to the mangled name equivalent.
376         (M2RTS_Terminate): Change to the mangled name equivalent.
377         (M2RTS_DeconstructModules): Change to the mangled name equivalent.
378         (m2iso_M2RTS_ConstructModules): Add libname parameter.
379         (m2iso_M2RTS_Terminate): Add libname parameter.
380         (m2iso_M2RTS_DeconstructModules): Add libname parameter.
381         (M2RTS_HaltC): Rename this...
382         (m2iso_M2RTS_HaltC): ...to this.
383         * libm2iso/wrapsock.c (EXPORT): New define.
384         (IMPORT): New define.
385         (M2EXPORT): New define.
386         (M2LIBNAME): New define.
387         (m2iso_M2RTS_RequestDependant): Add prototype.
388         (wrapsock_clientOpen): EXPORT.
389         (wrapsock_clientOpenIP): EXPORT.
390         (wrapsock_getClientPortNo): EXPORT.
391         (wrapsock_getClientHostname): EXPORT.
392         (wrapsock_getClientSocketFd): EXPORT.
393         (wrapsock_getClientIP): EXPORT.
394         (wrapsock_getPushBackChar): EXPORT.
395         (wrapsock_setPushBackChar): EXPORT.
396         (wrapsock_getSizeOfClientInfo): EXPORT.
397         (_M2_wrapsock_init): M2EXPORT.
398         (_M2_wrapsock_fini): M2EXPORT.
399         (ctor): M2EXPORT.  New function.
400         * libm2iso/wraptime.c: Rename to...
401         * libm2iso/wraptime.cc: ...this.
402         (EXPORT): New define.
403         (M2EXPORT): New define.
404         (M2LIBNAME): New define.
405         (wraptime_InitTimeval): EXPORT.
406         (wraptime_KillTimeval): EXPORT.
407         (wraptime_InitTimezone): EXPORT.
408         (wraptime_KillTimezone): EXPORT.
409         (wraptime_InitTM): EXPORT.
410         (wraptime_KillTM): EXPORT.
411         (wraptime_gettimeofday): EXPORT.
412         (wraptime_settimeofday): EXPORT.
413         (wraptime_GetFractions): EXPORT.
414         (wraptime_localtime_r): EXPORT.
415         (wraptime_GetYear): EXPORT.
416         (wraptime_GetMonth): EXPORT.
417         (wraptime_GetDay): EXPORT.
418         (wraptime_GetHour): EXPORT.
419         (wraptime_GetMinute): EXPORT.
420         (wraptime_GetSecond): EXPORT.
421         (wraptime_GetSummerTime): EXPORT.
422         (wraptime_GetDST): EXPORT.
423         (wraptime_SetTimezone): EXPORT.
424         (wraptime_SetTimeval): EXPORT.
425         (_M2_wraptime_init): M2EXPORT.
426         (_M2_wraptime_fini): M2EXPORT.
427         (ctor): M2EXPORT.  New function.
428         * libm2log/Makefile.am (libm2log_la_M2FLAGS): Define
429         path names.
430         * libm2log/Makefile.in:
431         * libm2min/Makefile.am (libm2min_la_M2FLAGS): Define
432         path names.
433         * libm2min/Makefile.in:
434         * libm2pim/Makefile.am (libm2pim_la_M2FLAGS): Define
435         path names.
436         * libm2pim/Makefile.in:
437         * libm2pim/Selective.cc (EXPORT): New define.
438         (M2EXPORT): New define.
439         (M2LIBNAME): New define.
440         (Selective_Select): EXPORT.
441         (Selective_InitTime): EXPORT.
442         (Selective_GetTime): EXPORT.
443         (Selective_SetTime): EXPORT.
444         (Selective_KillTime): EXPORT.
445         (Selective_InitSet): EXPORT.
446         (Selective_KillSet): EXPORT.
447         (Selective_FdZero): EXPORT.
448         (Selective_FdSet): EXPORT.
449         (Selective_FdClr): EXPORT.
450         (Selective_FdIsSet): EXPORT.
451         (Selective_GetTimeOfDay): EXPORT.
452         (Selective_MaxFdsPlusOne): EXPORT.
453         (Selective_WriteCharRaw): EXPORT.
454         (Selective_ReadCharRaw): EXPORT.
455         (_M2_Selective_init): M2EXPORT.
456         (_M2_Selective_fini): M2EXPORT.
457         (_M2_Selective_dep): M2EXPORT.
458         (_M2_Selective_ctor): M2EXPORT.
459         * libm2pim/SysExceptions.cc (EXPORT): New define.
460         (M2EXPORT): New define.
461         (M2LIBNAME): New define.
462         (SysExceptions_InitExceptionHandlers): EXPORT.
463         (_M2_SysExceptions_init): M2EXPORT.
464         (_M2_SysExceptions_fini): M2EXPORT.
465         (_M2_SysExceptions_dep): M2EXPORT.
466         (_M2_SysExceptions_ctor): M2EXPORT.
467         * libm2pim/UnixArgs.cc (EXPORT): New define.
468         (M2EXPORT): New define.
469         (M2LIBNAME): New define.
470         (UnixArgs_GetArgC): EXPORT.
471         (UnixArgs_GetArgV): EXPORT.
472         (UnixArgs_GetEnvV): EXPORT.
473         (_M2_UnixArgs_init): M2EXPORT.
474         (_M2_UnixArgs_fini): M2EXPORT.
475         (_M2_UnixArgs_dep): M2EXPORT.
476         (_M2_UnixArgs_ctor): M2EXPORT.
477         * libm2pim/cgetopt.cc (EXPORT): New define.
478         (M2EXPORT): New define.
479         (M2LIBNAME): New define.
480         (cgetopt_getopt): EXPORT.
481         (cgetopt_getopt_long): EXPORT.
482         (cgetopt_getopt_long_only): EXPORT.
483         (cgetopt_InitOptions): EXPORT.
484         (cgetopt_KillOptions): EXPORT.
485         (cgetopt_SetOption): EXPORT.
486         (cgetopt_GetLongOptionArray): EXPORT.
487         (_M2_cgetopt_init): M2EXPORT.
488         (_M2_cgetopt_fini): M2EXPORT.
489         (_M2_cgetopt_dep): M2EXPORT.
490         (_M2_cgetopt_ctor): M2EXPORT.
491         * libm2pim/dtoa.cc (EXPORT): New define.
492         (M2EXPORT): New define.
493         (M2LIBNAME): New define.
494         (dtoa_strtod): EXPORT.
495         (dtoa_calcmaxsig): EXPORT.
496         (dtoa_calcdecimal): EXPORT.
497         (dtoa_calcsign): EXPORT.
498         (dtoa_dtoa): EXPORT.
499         (_M2_dtoa_init): M2EXPORT.
500         (_M2_dtoa_fini): M2EXPORT.
501         (_M2_dtoa_dep): M2EXPORT.
502         (_M2_dtoa_ctor): M2EXPORT.
503         * libm2pim/errno.cc (EXPORT): New define.
504         (M2EXPORT): New define.
505         (M2LIBNAME): New define.
506         (errno_geterrno): EXPORT.
507         (_M2_errno_init): M2EXPORT.
508         (_M2_errno_fini): M2EXPORT.
509         (_M2_errno_dep): M2EXPORT.
510         (_M2_errno_ctor): M2EXPORT.
511         * libm2pim/ldtoa.cc (EXPORT): New define.
512         (IMPORT): New define.
513         (M2EXPORT): New define.
514         (M2LIBNAME): New define.
515         (dtoa_calcmaxsig): EXPORT.
516         (dtoa_calcdecimal): EXPORT.
517         (dtoa_calcsign): EXPORT.
518         (ldtoa_strtold): EXPORT.
519         (ldtoa_ldtoa): EXPORT.
520         (_M2_ldtoa_init): M2EXPORT.
521         (_M2_ldtoa_fini): M2EXPORT.
522         (_M2_ldtoa_dep): M2EXPORT.
523         (_M2_ldtoa_ctor): M2EXPORT.
524         * libm2pim/sckt.cc (EXPORT): New define.
525         (M2EXPORT): New define.
526         (M2LIBNAME): New define.
527         (tcpServerEstablishPort): EXPORT.
528         (tcpServerEstablish): EXPORT.
529         (tcpServerAccept): EXPORT.
530         (tcpServerPortNo): EXPORT.
531         (tcpServerSocketFd): EXPORT.
532         (getLocalIP): EXPORT.
533         (tcpServerIP): EXPORT.
534         (tcpServerClientIP): EXPORT.
535         (tcpServerClientPortNo): EXPORT.
536         (tcpClientSocket): EXPORT.
537         (tcpClientSocketIP): EXPORT.
538         (tcpClientConnect): EXPORT.
539         (tcpClientPortNo): EXPORT.
540         (tcpClientSocketFd): EXPORT.
541         (tcpClientIP): EXPORT.
542         (_M2_sckt_init): M2EXPORT.
543         (_M2_sckt_finish): M2EXPORT.
544         (_M2_sckt_dep): M2EXPORT.
545         (_M2_sckt_ctor): M2EXPORT.
546         * libm2pim/termios.cc (EXPORT): New define.
547         (M2EXPORT): New define.
548         (M2LIBNAME): New define.
549         (_M2_termios_init): M2EXPORT.
550         (_M2_termios_fini): M2EXPORT.
551         (_M2_termios_dep): M2EXPORT.
552         (_M2_termios_ctor): M2EXPORT.
553         * libm2pim/wrapc.c (EXPORT): New define.
554         (M2EXPORT): New define.
555         (M2LIBNAME): New define.
556         (wrapc_strtime): EXPORT.
557         (wrapc_filesize): EXPORT.
558         (wrapc_filemtime): EXPORT.
559         (wrapc_fileinode): EXPORT.
560         (wrapc_getrand): EXPORT.
561         (wrapc_getusername): EXPORT.
562         (wrapc_getnameuidgid): EXPORT.
563         (wrapc_signbit): EXPORT.
564         (wrapc_signbitl): EXPORT.
565         (wrapc_signbitf): EXPORT.
566         (wrapc_isfinite): EXPORT.
567         (wrapc_isfinitel): EXPORT.
568         (wrapc_isfinitef): EXPORT.
569         (_M2_wrapc_init): M2EXPORT.
570         (_M2_wrapc_fini): M2EXPORT.
571         (_M2_wrapc_ctor): M2EXPORT.
572         * libm2pim/wrapc.cc: New file.
574 2023-02-19  Gaius Mulley  <gaiusmod2@gmail.com>
576         PR testsuite/108835
577         * libm2iso/RTco.cc: Re-implementation using a single lock
578         mutex and inlined wait/signal implementation within
579         transfer.
581 2023-02-13  Gaius Mulley  <gaiusmod2@gmail.com>
583         * libm2iso/RTco.cc (tprintf): Replace definition.
585 2023-02-01  Gaius Mulley  <gaiusmod2@gmail.com>
587         PR modula2/108612
588         PR modula2/108551
589         * libm2cor/Makefile.am (libm2cor_la_M2FLAGS): Add -Wreturn-type
590         -fcase.
591         * libm2cor/Makefile.in: Rebuild.
592         * libm2iso/Makefile.am (libm2iso_la_M2FLAGS): Add -Wreturn-type
593         -fcase.
594         * libm2iso/Makefile.in: Rebuild.
595         * libm2log/Makefile.am (libm2log_la_M2FLAGS): Add -Wreturn-type
596         -fcase.
597         * libm2log/Makefile.in: Rebuild.
598         * libm2pim/Makefile.am (libm2pim_la_M2FLAGS): Add -Wreturn-type
599         -fcase.
600         * libm2pim/Makefile.in: Rebuild.
602 2023-01-31  Richard Biener  <rguenther@suse.de>
604         PR modula2/108462
605         * libm2cor/Makefile.am: Remove static lib install from
606         install-data-local.
607         * libm2iso/Makefile.am: Likewise.
608         * libm2log/Makefile.am: Likewise.
609         * libm2min/Makefile.am: Likewise.
610         * libm2pim/Makefile.am: Likewise.
611         * libm2cor/Makefile.in: Regenerate.
612         * libm2iso/Makefile.in: Likewise.
613         * libm2log/Makefile.in: Likewise.
614         * libm2min/Makefile.in: Likewise.
615         * libm2pim/Makefile.in: Likewise.
617 2023-01-31  Gaius Mulley  <gaiusmod2@gmail.com>
619         * libm2log/Makefile.am (VPATH): Replace gm2-libs-pim
620         with gm2-libs-log.
621         (libm2log_la_M2FLAGS): Replace gm2-libs-pim with
622         gm2-libs-log.
623         (install-data-local): Replace gm2-libs-pim with
624         gm2-libs-log.
625         * libm2log/Makefile.in: Rebuilt.
627 2023-01-26  Gaius Mulley  <gaiusmod2@gmail.com>
629         * configure.ac (AM_INIT_AUTOMAKE): Specify 1.15.1.
631 2023-01-24  Co-Authored by: Iain Sandoe  <iain@sandoe.co.uk>
633         * libm2cor/Makefile.am (SYSTEM.def): Split path into
634         multiple -I components.
635         * libm2cor/Makefile.in: Rebuild.
636         * libm2min/Makefile.am (SYSTEM.def): Split path into
637         multiple -I components.
638         * libm2min/Makefile.in: Rebuild.
639         * libm2iso/Makefile.am (SYSTEM.def): Split path into
640         multiple -I components.
641         * libm2iso/Makefile.in: Rebuild.
643 2023-01-23  Richard Biener  <rguenther@suse.de>
645         PR modula2/108144
646         * libm2cor/Makefile.am: Revert previous change, instead
647         drop the redundant $(MULTIDIR).
648         * libm2iso/Makefile.am: Likewise.
649         * libm2log/Makefile.am: Likewise.
650         * libm2min/Makefile.am: Likewise.
651         * libm2pim/Makefile.am: Likewise.
652         * libm2cor/Makefile.in: Regenerate.
653         * libm2iso/Makefile.in: Likewise.
654         * libm2log/Makefile.in: Likewise.
655         * libm2min/Makefile.in: Likewise.
656         * libm2pim/Makefile.in: Likewise.
658 2023-01-23  Richard Biener  <rguenther@suse.de>
660         PR modula2/108144
661         * configure.ac: Apply config-ml.pl to the generated Makefiles.
662         Set multilib_arg, use AM_PROG_LIBTOOL.
663         * configure: Regenerate.
664         * Makefile.am (AM_MAKEFLAGS): Do not override MULTI* flags.
665         * Makefile.in: Regenerate.
666         * libm2cor/Makefile.am: Install to $(toolexeclibdir)$(M2LIBDIR)
667         rather than $(inst_libdir)/$(MULTIDIR)$(M2LIBDIR).
668         * libm2iso/Makefile.am: Likewise.
669         * libm2log/Makefile.am: Likewise.
670         * libm2min/Makefile.am: Likewise.
671         * libm2pim/Makefile.am: Likewise.
672         * libm2cor/Makefile.in: Regenerate.
673         * libm2iso/Makefile.in: Likewise.
674         * libm2log/Makefile.in: Likewise.
675         * libm2min/Makefile.in: Likewise.
676         * libm2pim/Makefile.in: Likewise.
678 2023-01-19  Richard Biener  <rguenther@suse.de>
680         PR modula2/108144
681         * configure.ac: Add GCC_BASE_VER.
682         * configure: Re-generate.
683         * Makefile.am: Use @get_gcc_base_ver@ for gcc_version.
684         * libm2cor/Makefile.am: Likewise.  Use gcc_version instead
685         of version.
686         * libm2iso/Makefile.am: Likewise.
687         * libm2log/Makefile.am: Likewise.
688         * libm2min/Makefile.am: Likewise.
689         * libm2pim/Makefile.am: Likewise.
690         * Makefile.in: Re-generate.
691         * libm2cor/Makefile.in: Likewise.
692         * libm2iso/Makefile.in: Likewise.
693         * libm2log/Makefile.in: Likewise.
694         * libm2min/Makefile.in: Likewise.
695         * libm2pim/Makefile.in: Likewise.
697 2023-01-17  Gaius Mulley  <gaiusmod2@gmail.com>
699         * libm2iso/RTco.cc (_M2_RTco_fini): Call M2RTS_HaltC.
700         (newSem): Call M2RTS_HaltC.
701         (currentThread): Call M2RTS_HaltC.
702         (never): Call M2RTS_HaltC.
703         (defined): Call M2RTS_HaltC.
704         (initThread): Call M2RTS_HaltC.
705         (RTco_transfer): Call M2RTS_HaltC.
706         * libm2iso/m2rts.h (M2RTS_Halt): Provide parameter names.
707         (M2RTS_HaltC): New procedure declaration.
709 2023-01-06  v  <gaiusmod2@gmail.com>
711         * configure: Regenerate.
712         * configure.ac (libtool_VERSION): Bump to 18:0:0.
714 2023-01-04  Iain Sandoe  <iain@sandoe.co.uk>
716         PR modula2/108183
717         * libm2cor/KeyBoardLEDs.cc (_M2_KeyBoardLEDs_ctor): Rework to use
718         an extern "C" function with 'constructor' attribute.
719         * libm2iso/ErrnoCategory.cc (_M2_ErrnoCategory_ctor): Likewise.
720         * libm2iso/RTco.cc (_M2_RTco_ctor): Likewise.
721         * libm2pim/Selective.cc (_M2_Selective_ctor): Likewise.
722         * libm2pim/SysExceptions.cc (_M2_SysExceptions_ctor): Likewise.
723         * libm2pim/UnixArgs.cc (_M2_UnixArgs_ctor): Likewise.
724         * libm2pim/cgetopt.cc (_M2_cgetopt_ctor): Likewise.
725         * libm2pim/dtoa.cc (_M2_dtoa_ctor): Likewise.
726         * libm2pim/errno.cc (_M2_errno_ctor): Likewise.
727         * libm2pim/ldtoa.cc (_M2_ldtoa_ctor): Likewise.
728         * libm2pim/sckt.cc (_M2_sckt_ctor): Likewise.
729         * libm2pim/termios.cc (_M2_termios_ctor): Likewise.
730         * libm2pim/wrapc.c: Add a new line to the file end.
732 2022-12-31  Iain Sandoe  <iain@sandoe.co.uk>
734         * configure: Regenerate.
735         * configure.ac: Make a conditional for configurations targeting
736         Darwin.
737         * libm2cor/Makefile.am: Use -undefined,dynamic_lookup on Darwin.
738         * libm2iso/Makefile.am: Likewise.
739         * libm2log/Makefile.am: Likewise.
740         * libm2pim/Makefile.am: Likewise
741         * libm2min/Makefile.am: Likewise
742         * libm2cor/Makefile.in: Regenerate.
743         * libm2iso/Makefile.in: Regenerate.
744         * libm2log/Makefile.in: Regenerate.
745         * libm2min/Makefile.in: Regenerate.
746         * libm2pim/Makefile.in: Regenerate.
748 2022-12-14  Gaius Mulley  <gaiusmod2@gmail.com>
750         * Makefile.am: New file.
751         * autogen.sh: New file.
752         * config.h.in: New file.
753         * configure.ac: New file.
754         * libm2cor/KeyBoardLEDs.cc: New file.
755         * libm2cor/Makefile.am: New file.
756         * libm2iso/ChanConsts.h: New file.
757         * libm2iso/ErrnoCategory.cc: New file.
758         * libm2iso/Makefile.am: New file.
759         * libm2iso/RTco.cc: New file.
760         * libm2iso/m2rts.h: New file.
761         * libm2iso/wrapsock.c: New file.
762         * libm2iso/wraptime.c: New file.
763         * libm2log/Break.c: New file.
764         * libm2log/Makefile.am: New file.
765         * libm2min/Makefile.am: New file.
766         * libm2min/libc.c: New file.
767         * libm2pim/Makefile.am: New file.
768         * libm2pim/Selective.cc: New file.
769         * libm2pim/SysExceptions.cc: New file.
770         * libm2pim/UnixArgs.cc: New file.
771         * libm2pim/cgetopt.cc: New file.
772         * libm2pim/dtoa.cc: New file.
773         * libm2pim/errno.cc: New file.
774         * libm2pim/ldtoa.cc: New file.
775         * libm2pim/sckt.cc: New file.
776         * libm2pim/target.c: New file.
777         * libm2pim/termios.cc: New file.
778         * libm2pim/wrapc.c: New file.
779         * configure: Generated.
780         * libm2log/Makefile.in: Generated.
781         * libm2min/Makefile.in: Generated.
782         * libm2cor/Makefile.in: Generated.
783         * libm2pim/Makefile.in: Generated.
784         * libm2iso/Makefile.in: Generated.
785         * Makefile.in: New file.
786         * aclocal.m4: New file.