|
Packit Service |
8bf002 |
/* e_19_3.c: Redefinitions of macros. */
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
#include "defs.h"
|
|
Packit Service |
8bf002 |
#define str( s) # s
|
|
Packit Service |
8bf002 |
#define xstr( s) str( s)
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
/* Excerpts from ISO C 6.8.3 "Examples". */
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
#define OBJ_LIKE (1-1)
|
|
Packit Service |
8bf002 |
#define FTN_LIKE(a) ( a )
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
/* The following redefinitions should be diagnosed. */
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
/* 19.3: */
|
|
Packit Service |
8bf002 |
#define OBJ_LIKE (0) /* different token sequence */
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
/* 19.4: */
|
|
Packit Service |
8bf002 |
#undef OBJ_LIKE
|
|
Packit Service |
8bf002 |
#define OBJ_LIKE (1-1)
|
|
Packit Service |
8bf002 |
#define OBJ_LIKE (1 - 1) /* different white space */
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
/* 19.5: */
|
|
Packit Service |
8bf002 |
#define FTN_LIKE(b) ( a ) /* different parameter usage */
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
/* 19.6: */
|
|
Packit Service |
8bf002 |
#undef FTN_LIKE
|
|
Packit Service |
8bf002 |
#define FTN_LIKE(a) ( a )
|
|
Packit Service |
8bf002 |
#define FTN_LIKE(b) ( b ) /* different parameter spelling */
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
/* 19.7: Not in ISO C "Examples" */
|
|
Packit Service |
8bf002 |
#define FTN_LIKE OBJ_LIKE
|
|
Packit Service |
8bf002 |
|
|
Packit Service |
8bf002 |
main( void)
|
|
Packit Service |
8bf002 |
{
|
|
Packit Service |
8bf002 |
return 0;
|
|
Packit Service |
8bf002 |
}
|
|
Packit Service |
8bf002 |
|