Alessandro Bonazzi e075990ed3 Patch level : 12.0 no-patch
Files correlati     :
Commento            :

Aggiunto il preprocessore c++ mcpp per sostituire il compilatore nella compilazione delle maschere.
2020-11-28 16:24:08 +01:00

22 lines
659 B
Perl

/* recurs.t: recursive macro */
/* The sample posted to comp.std.c by B. Stroustrap. */
#define NIL(xxx) xxx
#define G_0(arg) NIL(G_1)(arg)
#define G_1(arg) NIL(arg)
G_0(42)
/*
* Note by kmatsui:
* There are two interpretations on the Standard's specification.
* (1) This macro should be expanded to 'NIL(42)'.
* (2) This macro should be expanded to '42'.
* The Standard's wording seems to justify the (1).
* GCC, Visual C++ and other major implementations, however, expand
* this macro as (2).
* MCPP V.2.4.1 or later of Standard mode expands this as (1) by default,
* and expands as (2) when invoked with -@compat option.
*/