4587904.c   [plain text]


/* APPLE LOCAL file 4587904 */
/* CSE incorrectly optimizing multiple comparisons.  */

/* { dg-do run } */
/* { dg-options "-O2" } */

int
get_len()
{
  return 37;
}

int 
validate_data(int data_type, int data_length)
{
  int len;

  switch (data_type) {
    case 8:
      if (!data_length)
	return 0;
      len = get_len();
      return (len <= 253 && data_length == len);

    case 13:
      if (!data_length)
        return 0;
      return (data_length == 43);

    default:
      return 0;
    }

  return 0;
}

int 
main(int argc, const char *argv[])
{
  if (validate_data(8, 37) == 1)
    return 0;
  else
    return 1;
}