summaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.c-torture/execute/20031003-1.c
blob: 5d172e7e604f167096f5771d97383c316f5dae5f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/* PR optimization/9325  */

#include <limits.h>

extern void abort (void);

int f1()
{
  return (int)2147483648.0f;
}

int f2()
{
  return (int)(float)(2147483647);
}

int main()
{
#if INT_MAX == 2147483647
  if (f1() != 2147483647)
    abort ();
#ifdef __SPU__
  /* SPU float rounds towards zero.  */
  if (f2() != 0x7fffff80)
    abort ();
#else
  if (f2() != 2147483647)
    abort ();
#endif
#endif
  return 0;
}