diff options
Diffstat (limited to 'contrib/gcc/libgcc1-test.c')
-rw-r--r-- | contrib/gcc/libgcc1-test.c | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/contrib/gcc/libgcc1-test.c b/contrib/gcc/libgcc1-test.c deleted file mode 100644 index d9c250e99d00..000000000000 --- a/contrib/gcc/libgcc1-test.c +++ /dev/null @@ -1,106 +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() {} |