Mercurial > ~dholland > hg > tradcpp > index.cgi
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; }