summaryrefslogtreecommitdiff
path: root/gcc/libgcc1-test.c
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/libgcc1-test.c')
-rwxr-xr-xgcc/libgcc1-test.c117
1 files changed, 0 insertions, 117 deletions
diff --git a/gcc/libgcc1-test.c b/gcc/libgcc1-test.c
deleted file mode 100755
index 0f59cbe..0000000
--- a/gcc/libgcc1-test.c
+++ /dev/null
@@ -1,117 +0,0 @@
-/* This small function uses all the arithmetic operators that
- libgcc1.c can handle. If you can link it, then
- you have provided replacements for all the libgcc1.c functions that
- your target machine needs. */
-
-int foo ();
-double dfoo ();
-
-/* We don't want __main here because that can drag in atexit (among other
- things) which won't necessarily exist yet. */
-
-main_without__main ()
-{
- int a = foo (), b = foo ();
- unsigned int au = foo (), bu = foo ();
- float af = dfoo (), bf = dfoo ();
- double ad = dfoo (), bd = dfoo ();
-
- discard (a * b);
- discard (a / b);
- discard (a % b);
-
- discard (au / bu);
- discard (au % bu);
-
- discard (a >> b);
- discard (a << b);
-
- discard (au >> bu);
- discard (au << bu);
-
- ddiscard (ad + bd);
- ddiscard (ad - bd);
- ddiscard (ad * bd);
- ddiscard (ad / bd);
- ddiscard (-ad);
-
- ddiscard (af + bf);
- ddiscard (af - bf);
- ddiscard (af * bf);
- ddiscard (af / bf);
- ddiscard (-af);
-
- discard ((int) ad);
- discard ((int) af);
-
- ddiscard ((double) a);
- ddiscard ((float) a);
- ddiscard ((float) ad);
-
- discard (ad == bd);
- discard (ad < bd);
- discard (ad > bd);
- discard (ad != bd);
- discard (ad <= bd);
- discard (ad >= bd);
-
- discard (af == bf);
- discard (af < bf);
- discard (af > bf);
- discard (af != bf);
- discard (af <= bf);
- discard (af >= bf);
-
- return 0;
-}
-
-discard (x)
- int x;
-{}
-
-ddiscard (x)
- double x;
-{}
-
-foo ()
-{
- static int table[] = {20, 69, 4, 12};
- static int idx;
-
- return table[idx++];
-}
-
-double
-dfoo ()
-{
- static double table[] = {20.4, 69.96, 4.4, 202.202};
- static int idx;
-
- return table[idx++];
-}
-
-/* Provide functions that some versions of the linker use to default
- the start address if -e symbol is not used, to avoid the warning
- message saying the start address is defaulted. */
-extern void start() __asm__("start");
-extern void _start() __asm__("_start");
-extern void __start() __asm__("__start");
-
-/* Provide functions that might be needed by soft-float emulation routines. */
-void memcpy() {}
-
-void start() {}
-void _start() {}
-void __start() {}
-void mainCRTStartup() {}
-
-/* CYGNUS LOCAL - duplicate definition of memcpy() removed. */
-
-/* CYGNUS LOCAL v850 */
-#if defined __v850e__ || defined __v850ea__
-/* We need to use the symbol __ctbp in order to force the linker to define it. */
-extern int _ctbp;
-
-void _func() { _ctbp = 1; }
-#endif
-/* END CYGNUS LOCAL */