void fatal () __attribute__ ((noreturn));
|
|
|
|
typedef void voidfn ();
|
|
|
|
volatile voidfn fatal;
|
|
|
|
int square (int) __attribute__ ((const));
|
|
|
|
typedef int intfn ();
|
|
|
|
extern const intfn square;
|
|
|
|
extern int
|
|
my_printf (void *my_object, const char *my_format, ...)
|
|
__attribute__ ((format (printf, 2, 3)));
|
|
|
|
extern char *
|
|
my_dgettext (char *my_domain, const char *my_format)
|
|
__attribute__ ((format_arg (2)));
|
|
|
|
extern void foobar (void) __attribute__ ((section ("bar")));
|
|
|
|
void __f () { /* do something */; }
|
|
void f () __attribute__ ((weak, alias ("__f")));
|
|
|
|
int x __attribute__ ((aligned (16), packed)) = 0;
|
|
|
|
struct foo { int x[2] __attribute__ ((aligned (8))); };
|
|
|
|
short array[3] __attribute__ ((aligned));
|
|
|
|
struct foo1
|
|
{
|
|
char a;
|
|
int x[2] __attribute__ ((packed));
|
|
};
|
|
|
|
struct duart a __attribute__ ((section ("DUART_A"))) = { 0 };
|
|
struct duart b __attribute__ ((section ("DUART_B"))) = { 0 };
|
|
char stack[10000] __attribute__ ((section ("STACK"))) = { 0 };
|
|
int init_data __attribute__ ((section ("INITDATA"))) = 0;
|
|
|
|
struct S { short f[3]; } __attribute__ ((aligned (8)));
|
|
typedef int more_aligned_int __attribute__ ((aligned (8)));
|
|
|
|
union wait { int a, __ip; };
|
|
typedef int pid_t;
|
|
|
|
typedef union
|
|
{
|
|
int *__ip;
|
|
union wait *__up;
|
|
} wait_status_ptr_t __attribute__ ((__transparent_union__));
|
|
|
|
pid_t wait (wait_status_ptr_t);
|
|
|
|
int w1 () { int w; return wait (&w); }
|
|
int w2 () { union wait w; return wait (&w); }
|
|
|
|
|
|
pid_t wait (wait_status_ptr_t p)
|
|
{
|
|
return waitpid (-1, p.__ip, 0);
|
|
}
|
|
|
|
main()
|
|
{
|
|
/* Initialize stack pointer */
|
|
init_sp (stack + sizeof (stack));
|
|
|
|
/* Initialize initialized data */
|
|
memcpy (&init_data, &data, &edata - &data);
|
|
|
|
/* Turn on the serial ports */
|
|
init_duart (&a);
|
|
init_duart (&b);
|
|
}
|