[libgroff]: Drop support for TRADITIONAL_CPP.

This means a C preprocessor that does not support the ANSI C89/ISO C90
token concatenation operator "##".

* src/include/itable.h:
* src/include/ptable.h: Do it.

* Makefile.am: Undocument preprocessor symbol.
This commit is contained in:
G. Branden Robinson 2021-08-28 10:19:20 +10:00
parent 61d2307000
commit cc2bea41ac
4 changed files with 15 additions and 14 deletions

View File

@ -1,3 +1,14 @@
2021-08-28 G. Branden Robinson <g.branden.robinson@gmail.com>
[libgroff]: Drop support for `TRADITIONAL_CPP`. This means a C
preprocessor that does not support the ANSI C89/ISO C90
token concatenation operator "##".
* src/include/itable.h:
* src/include/ptable.h: Do it.
* Makefile.am: Undocument preprocessor symbol.
2021-08-27 G. Branden Robinson <g.branden.robinson@gmail.com>
[libgroff]: Drop `a_delete` preprocessor wrapper for the

View File

@ -441,8 +441,6 @@ man7dir=$(manroot)/man$(man7ext)
# uintmax_t=<value> define to `unsigned long' or `unsigned long
# long' if <inttypes.h> does not exist
#
# TRADITIONAL_CPP if your C++ compiler uses a traditional
# (Reiser) preprocessor
# PAGE=A4 if the printer's page size is A4
# GHOSTSCRIPT=gs the name (and directory if required) of the
# ghostscript program

View File

@ -20,12 +20,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include <assert.h>
// name2(a,b) concatenates two C identifiers.
#ifdef TRADITIONAL_CPP
# define name2(a,b) a/**/b
#else /* not TRADITIONAL_CPP */
# define name2(a,b) name2x(a,b)
# define name2x(a,b) a ## b
#endif /* not TRADITIONAL_CPP */
#define name2(a,b) name2x(a,b)
#define name2x(a,b) a ## b
// 'class ITABLE(T)' is the type of a hash table mapping an integer (int >= 0)
// to an object of type T.

View File

@ -21,12 +21,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include <string.h>
// name2(a,b) concatenates two C identifiers.
#ifdef TRADITIONAL_CPP
# define name2(a,b) a/**/b
#else /* not TRADITIONAL_CPP */
# define name2(a,b) name2x(a,b)
# define name2x(a,b) a ## b
#endif /* not TRADITIONAL_CPP */
#define name2(a,b) name2x(a,b)
#define name2x(a,b) a ## b
// 'class PTABLE(T)' is the type of a hash table mapping a string
// (const char *) to an object of type T.