2017-10-21 23:40:19 +00:00
|
|
|
/* Conformance Test 3.5.2.2: Verification of #elif command, using macro */
|
|
|
|
/* substitution */
|
|
|
|
|
|
|
|
#define MACRO1(x,y,z) ((x) + (y) * (z))
|
|
|
|
#define PASS "Passed Conformance Test 3.5.2.2\n"
|
|
|
|
#define FAIL "Failed Conformance Test 3.5.2.2\n"
|
|
|
|
|
|
|
|
#if MACRO1 (-6,2,3)
|
|
|
|
# define MSG FAIL
|
|
|
|
|
|
|
|
#elif MACRO1 (8,-4,2)
|
|
|
|
# define MSG FAIL
|
|
|
|
|
|
|
|
#elif MACRO1 (16,8,-2)
|
|
|
|
# define MSG FAIL
|
|
|
|
|
|
|
|
#elif MACRO1 (-10,-5,-2)
|
|
|
|
# define MSG FAIL
|
|
|
|
|
|
|
|
#elif MACRO1 (2,3,4)
|
|
|
|
# define MSG PASS
|
|
|
|
|
|
|
|
#elif MACRO1 (1,2,3)
|
|
|
|
# define MSG FAIL
|
|
|
|
|
|
|
|
#elif MACRO1 (2,3,4)
|
|
|
|
# define MSG FAIL
|
|
|
|
|
|
|
|
#elif MACRO1 (3,4,5)
|
|
|
|
# define MSG FAIL
|
|
|
|
|
|
|
|
#elif MACRO1 (4,5,6)
|
|
|
|
# define MSG FAIL
|
|
|
|
|
|
|
|
#elif MACRO1 (5,6,7)
|
|
|
|
# define MSG FAIL
|
|
|
|
|
|
|
|
#elif MACRO1 (6,7,8)
|
|
|
|
# define MSG FAIL
|
|
|
|
|
|
|
|
#elif MACRO1 (7,8,9)
|
|
|
|
# define MSG FAIL
|
|
|
|
|
|
|
|
#elif MACRO1 (4,2,-2)
|
|
|
|
# define MSG FAIL
|
|
|
|
|
|
|
|
#elif MACRO1 (0,0,0)
|
|
|
|
# define MSG FAIL
|
|
|
|
|
|
|
|
#elif MACRO1 (4,5,6)
|
|
|
|
# define MSG FAIL
|
|
|
|
|
|
|
|
#else
|
|
|
|
# define MSG FAIL
|
|
|
|
#endif
|
|
|
|
|
|
|
|
main ()
|
|
|
|
{
|
|
|
|
printf (MSG);
|
|
|
|
}
|