OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [gcc.dg/] [builtins-41.c] - Blame information for rev 753

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 689 jeremybenn
/* Copyright (C) 2004 Free Software Foundation.
2
 
3
   Check that constant folding of copysign, copysignf and copysignl math
4
   functions doesn't break anything and produces the expected results.
5
 
6
   Written by Roger Sayle, 6th June 2004.  */
7
 
8
/* { dg-do link } */
9
/* { dg-options "-O2" } */
10
 
11
extern void link_error(void);
12
 
13
extern double copysign(double, double);
14
extern float copysignf(float, float);
15
extern long double copysignl(long double, long double);
16
 
17
int main()
18
{
19
  if (copysign (2.0, 1.0) != 2.0)
20
    link_error ();
21
  if (copysign (2.0, -1.0) != -2.0)
22
    link_error ();
23
  if (copysign (-2.0, 1.0) != 2.0)
24
    link_error ();
25
  if (copysign (-2.0, -1.0) != -2.0)
26
    link_error ();
27
 
28
  if (copysign (2.0, 1.0) != 2.0)
29
    link_error ();
30
  if (copysign (2.0, -1.0) != -2.0)
31
    link_error ();
32
  if (copysign (-2.0, 1.0) != 2.0)
33
    link_error ();
34
  if (copysign (-2.0, -1.0) != -2.0)
35
    link_error ();
36
 
37
  if (copysignf (2.0f, 1.0f) != 2.0f)
38
    link_error ();
39
  if (copysignf (2.0f, -1.0f) != -2.0f)
40
    link_error ();
41
  if (copysignf (-2.0f, 1.0f) != 2.0f)
42
    link_error ();
43
  if (copysignf (-2.0f, -1.0f) != -2.0f)
44
    link_error ();
45
 
46
  if (copysignl (2.0l, 1.0l) != 2.0l)
47
    link_error ();
48
  if (copysignl (2.0l, -1.0l) != -2.0l)
49
    link_error ();
50
  if (copysignl (-2.0l, 1.0l) != 2.0l)
51
    link_error ();
52
  if (copysignl (-2.0l, -1.0l) != -2.0l)
53
    link_error ();
54
 
55
  return 0;
56
}
57
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.