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() {}