1 /* This small function uses all the arithmetic operators that
2 libgcc1.c can handle. If you can link it, then
3 you have provided replacements for all the libgcc1.c functions that
4 your target machine needs. */
11 void ddiscard (double);
13 /* We don't want __main here because that can drag in atexit (among other
14 things) which won't necessarily exist yet. */
19 int a = foo (), b = foo ();
20 unsigned int au = foo (), bu = foo ();
21 float af = dfoo (), bf = dfoo ();
22 double ad = dfoo (), bd = dfoo ();
52 ddiscard ((double) a);
54 ddiscard ((float) ad);
75 int x __attribute__((__unused__));
80 double x __attribute__((__unused__));
86 static int table[] = {20, 69, 4, 12};
95 static double table[] = {20.4, 69.96, 4.4, 202.202};
101 /* Provide functions that some versions of the linker use to default
102 the start address if -e symbol is not used, to avoid the warning
103 message saying the start address is defaulted. */
104 extern void start() __asm__("start");
105 extern void _start() __asm__("_start");
106 extern void __start() __asm__("__start");
108 /* Provide functions that might be needed by soft-float emulation routines. */
109 void *memcpy(void *to,
110 const void *from __attribute__((__unused__)),
111 size_t len __attribute__((__unused__)))
119 void mainCRTStartup() {}