35 lines
449 B
C
35 lines
449 B
C
/*
|
|
{ dg-do run }
|
|
{ dg-options "-O2" }
|
|
*/
|
|
|
|
extern void abort (void);
|
|
|
|
enum Status
|
|
{
|
|
P_ON_LOWER = -4,
|
|
P_ON_UPPER = -2,
|
|
P_FREE = -1
|
|
};
|
|
|
|
void
|
|
foo (enum Status *stat, double newUpper, double lower, double max)
|
|
{
|
|
if (newUpper >= max)
|
|
*stat = P_FREE;
|
|
else if (newUpper == lower)
|
|
*stat = P_ON_LOWER;
|
|
}
|
|
|
|
int
|
|
main ()
|
|
{
|
|
enum Status stat = P_ON_UPPER;
|
|
|
|
foo (&stat, 5.0, -10.0, 10.0);
|
|
|
|
if (stat != P_ON_UPPER)
|
|
abort ();
|
|
return 0;
|
|
}
|