view tests/t08.c @ 127:a0a86380456e

fix for #if handling: Don't eval the control expression of the first #if of a block when already in a false block; it might not be valid. Reported by Baptiste Daroussin.
author David A. Holland
date Wed, 12 Jun 2013 10:52:56 -0400
parents c24cbfa44f81
children
line wrap: on
line source

/*#include <stdio.h>*/

int d =
#if 2 > 1 ? 0 : 0 ? 1 : 1
1
#else
0
#endif
;

int e =
#if (2 > 1 ? 0 : 0) ? 1 : 1
1
#else
0
#endif
;

int f =
#if 2 > 1 ? 0 : (0 ? 1 : 1)
1
#else
0
#endif
;


int
main()
{
	int a, b, c;

	a = 2 > 1 ? 0 : 0 ? 1 : 1;
	b = (2 > 1 ? 0 : 0) ? 1 : 1;
	c = 2 > 1 ? 0 : (0 ? 1 : 1);

	printf("%d %d %d\n", a, b, c);
	printf("%d %d %d\n", d, e, f);

	return 0;
}