From 9336ef1ed06c9e7b2bdc59c5360707ad6bb29569 Mon Sep 17 00:00:00 2001 From: Paul Eggert Date: Fri, 17 Nov 2023 11:08:12 -0800 Subject: [PROPOSED] Give a date for assuming C99 Suggest 2029 for when we can drop support for C89 and require C99 or later. --- Makefile | 2 +- NEWS | 2 +- private.h | 4 +++- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 68c644d8..b3cc6702 100644 --- a/Makefile +++ b/Makefile @@ -278,7 +278,7 @@ LDLIBS= # # * Options marked "*" can be omitted if your compiler is C23 compatible. # * Options marked "+" are obsolescent and are planned to be removed -# once the code assumes C99 or later. +# once the code assumes C99 or later, say in the year 2029. # # Select instrumentation via "make GCC_INSTRUMENT='whatever'". GCC_INSTRUMENT = \ diff --git a/NEWS b/NEWS index ec61ad00..295141f8 100644 --- a/NEWS +++ b/NEWS @@ -119,7 +119,7 @@ Release 2023a - 2023-03-22 12:39:33 -0700 a C89 environment, compile with -DPORT_TO_C89. To support C89 callers of the tzcode library, compile with -DSUPPORT_C89. The two new macros are transitional aids planned to be removed in a - future version, when C99 or later will be required. + future version (say, in 2029), when C99 or later will be required. The code now builds again on pre-C99 platforms, if you compile with -DPORT_TO_C89. This fixes a bug introduced in 2022f. diff --git a/private.h b/private.h index 838ab2b2..ca7e1040 100644 --- a/private.h +++ b/private.h @@ -22,7 +22,9 @@ tzcode library should support C89 callers in addition to the usual support for C99-and-later callers. These macros are obsolescent, and the plan is to remove them along with any code needed only when - they are nonzero. */ + they are nonzero. A good time to do that might be in the year 2029 + because RHEL 7 (whose GCC defaults to C89) extended life cycle + support (ELS) is scheduled to end on 2028-06-30. */ #ifndef PORT_TO_C89 # define PORT_TO_C89 0 #endif -- 2.40.1