372defe75b83213d966b99dd9622932da3a6f711
[deliverable/binutils-gdb.git] / gdb / testsuite / gdb.arch / mips16-thunks-sinmips16.c
1 /* This testcase is part of GDB, the GNU debugger.
2
3 Copyright 2012-2021 Free Software Foundation, Inc.
4
5 This program is free software; you can redistribute it and/or modify
6 it under the terms of the GNU General Public License as published by
7 the Free Software Foundation; either version 3 of the License, or
8 (at your option) any later version.
9
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14
15 You should have received a copy of the GNU General Public License
16 along with this program. If not, see <http://www.gnu.org/licenses/>. */
17
18 #include <math.h>
19
20 double sinfrob (double d);
21 double sinfrob16 (double d);
22
23 double sinblah (double d);
24 double sinblah16 (double d);
25
26 extern double (*sinfunc) (double);
27 extern double (*sinfunc16) (double);
28
29 extern long i;
30
31 double
32 sinmips16 (double d)
33 {
34 i++;
35 d = sin (d);
36 d = sinfrob16 (d);
37 d = sinfrob (d);
38 d = sinfunc16 (d);
39 d = sinfunc (d);
40 i++;
41 return d;
42 }
43
44 long
45 lsinmips16 (double d)
46 {
47 union
48 {
49 double d;
50 long l[2];
51 }
52 u;
53
54 i++;
55 d = sin (d);
56 d = sinblah (d);
57 d = sinblah16 (d);
58 d = sinfunc (d);
59 u.d = sinfunc16 (d);
60 i++;
61 return u.l[0] == 0 && u.l[1] == 0;
62 }
This page took 0.030447 seconds and 3 git commands to generate.