From: Thanh Vuong (vuong_at_cadence.com)
Date: Fri Jan 04 2002 - 03:28:38 GMT
Hello,
Attached please find a small program that shows a bug in conditional
break in UPS.
I ran this program on Sun Solaris 2.7.
Regards,
Thanh
/* This small program shows a bug
in conditional break using bit field */
typedef struct s1 s1;
typedef struct s2 s2;
struct s1 {
unsigned a;
unsigned b;
};
struct s2 {
unsigned a:10;
unsigned b:10;
};
main()
{
int i;
s1 x[10];
s2 y[10];
for (i = 0; i < 10; i++) {
x[i].a = i;
x[i].b = i;
}
for (i = 0; i < 10; i++) {
/* if (x[i].a == 5) #stop; --> would stop when i == 5 */
printf("%d\n", x[i].a);
/* if (x[i].b == 7) #stop; --> would stop when i == 7 */
printf("%d\n", x[i].b);
}
for (i = 0; i < 10; i++) {
y[i].a = i;
y[i].b = i;
}
for (i = 0; i < 10; i++) {
/* if (y[i].a == 5) #stop; --> would never stop */
printf("%d\n", y[i].a);
/* if (y[i].b == 7) #stop; --> would never stop */
printf("%d\n", y[i].b);
}
}
This archive was generated by hypermail 2.1.4 : Wed Feb 13 2002 - 21:51:34 GMT