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

41 lines
1.3 KiB
C

/* e_19_3.c: Redefinitions of macros. */
/* { dg-do preprocess } */
/* Excerpts from ISO C 3.8.3 "Examples". */
#define OBJ_LIKE (1-1)
#define FTN_LIKE(a) ( a )
/* The following redefinitions should be diagnosed. */
/* 19.3: */
/* different token sequence */
#define OBJ_LIKE (0) /* { dg-error "redefined\n\[\^ \]*( error:|) this is the location | The macro is redefined" } */
/* (1-1); */
OBJ_LIKE;
/* 19.4: */
#undef OBJ_LIKE
#define OBJ_LIKE (1-1)
/* different white space */
#define OBJ_LIKE (1 - 1) /* { dg-error "redefined\n\[\^ \]*( error:|) this is the location | The macro is redefined" } */
/* 19.5: */
/* different parameter usage */
#define FTN_LIKE(b) ( a ) /* { dg-error "redefined\n\[\^ \]*( error:|) this is the location | The macro is redefined" } */
/* ( x ); */
FTN_LIKE(x);
/* 19.6: */
#undef FTN_LIKE
#define FTN_LIKE(a) ( a )
/* different parameter spelling */
#define FTN_LIKE(b) ( b ) /* { dg-error "redefined\n\[\^ \]*( error:|) this is the location | The macro is redefined" } */
/* 19.7: Not in ISO C "Examples" */
#define FTN_LIKE OBJ_LIKE /* { dg-error "redefined\n\[\^ \]*( error:|) this is the location | The macro is redefined" } */