Index: gdb/testsuite/gdb.arch/mips16-thunks-sinmips16.c |
diff --git a/gdb/testsuite/gdb.multi/goodbye.c b/gdb/testsuite/gdb.arch/mips16-thunks-sinmips16.c |
similarity index 53% |
copy from gdb/testsuite/gdb.multi/goodbye.c |
copy to gdb/testsuite/gdb.arch/mips16-thunks-sinmips16.c |
index f9819cf6b6037a682d3d45652af52c274a5a35ca..5d223f69e0300adf48dfbe2bb87f79cd97232e97 100644 |
--- a/gdb/testsuite/gdb.multi/goodbye.c |
+++ b/gdb/testsuite/gdb.arch/mips16-thunks-sinmips16.c |
@@ -1,6 +1,6 @@ |
/* This testcase is part of GDB, the GNU debugger. |
- Copyright 2009-2012 Free Software Foundation, Inc. |
+ Copyright 2012 Free Software Foundation, Inc. |
This program is free software; you can redistribute it and/or modify |
it under the terms of the GNU General Public License as published by |
@@ -15,48 +15,48 @@ |
You should have received a copy of the GNU General Public License |
along with this program. If not, see <http://www.gnu.org/licenses/>. */ |
-int gglob = 2; |
+#include <math.h> |
-int glob = 45; |
+double sinfrob (double d); |
+double sinfrob16 (double d); |
-int verylongfun() |
-{ |
- glob += 2; |
- glob *= 2; |
- glob += 3; |
- glob *= 3; |
- glob += 4; |
- glob *= 4; |
- glob += 5; |
- glob *= 5; |
- glob += 6; |
- glob *= 6; |
- glob += 7; |
- glob *= 7; |
- glob += 8; |
- glob *= 8; |
- glob += 9; |
- glob *= 9; |
-} |
+double sinblah (double d); |
+double sinblah16 (double d); |
-main() { |
- mailand(); |
- foo(glob); |
- verylongfun(); |
- goodbye(); |
-} |
+extern double (*sinfunc) (double); |
+extern double (*sinfunc16) (double); |
-foo(int x) { |
- return x + 92; |
-} |
+extern long i; |
-mailand() |
+double |
+sinmips16 (double d) |
{ |
- glob = 46; |
+ i++; |
+ d = sin (d); |
+ d = sinfrob16 (d); |
+ d = sinfrob (d); |
+ d = sinfunc16 (d); |
+ d = sinfunc (d); |
+ i++; |
+ return d; |
} |
-void commonfun() { mailand(); } /* from goodbye */ |
- |
-goodbye() { |
- ++glob; |
+long |
+lsinmips16 (double d) |
+{ |
+ union |
+ { |
+ double d; |
+ long l[2]; |
+ } |
+ u; |
+ |
+ i++; |
+ d = sin (d); |
+ d = sinblah (d); |
+ d = sinblah16 (d); |
+ d = sinfunc (d); |
+ u.d = sinfunc16 (d); |
+ i++; |
+ return u.l[0] == 0 && u.l[1] == 0; |
} |