ORCA-C/Tests/Conformance/C3.3.5.1.CC

29 lines
967 B
C++

/* Conformance Test 3.3.5.1: Verification of undefining/redefining macros */
int printf(const char *, ...);
#undef macroNotDefinedYet /* not an error to undefine an */
/* undefined macro */
#define macroNotDefinedYet 8
#define macroNotDefinedYet 8 /* allow only "benign" redefinition */
#undef macroNotDefinedYet /* without intervening #undef */
#define macroNotDefinedYet 23 /* allow infinite undefining and */
/* redefining */
#define A23__BD8 "These are the days"
#undef A23__BD8
#define A23__BD8 27.3e5
#undef A23__BD8
#define A23__BD8 "Passed Conformance Test 3.3.5.1\n"
int main (void)
{
if (macroNotDefinedYet != 23)
goto Fail;
printf (A23__BD8);
return 0;
Fail:
printf ("Failed Conformance Test 3.3.5.1\n");
}