2008-01-11 09:11:18 +00:00
|
|
|
int unused_var = 7;
|
|
|
|
int used_var = 7;
|
|
|
|
|
|
|
|
int
|
|
|
|
unused_func (int v)
|
|
|
|
{
|
|
|
|
return 3 * unused_var;
|
|
|
|
}
|
|
|
|
|
|
|
|
int
|
2008-01-23 16:05:45 +00:00
|
|
|
__attribute__((noinline))
|
2008-01-11 09:11:18 +00:00
|
|
|
used_func (int v)
|
|
|
|
{
|
|
|
|
return 2 * used_var;
|
|
|
|
}
|
|
|
|
|
|
|
|
int
|
|
|
|
main (void)
|
|
|
|
{
|
|
|
|
return used_func (5);
|
|
|
|
}
|
2008-10-29 08:29:02 +00:00
|
|
|
|
|
|
|
void
|
|
|
|
dummy_func (void)
|
|
|
|
{
|
|
|
|
/* These are here in case the target prepends an underscore to
|
|
|
|
the start of function names. They are inside a dummy function
|
|
|
|
so that they will appear at the end of gcc's assembler output,
|
|
|
|
after the definitions of main() and used_func(), rather than
|
|
|
|
at the beginning of the file. */
|
|
|
|
|
|
|
|
__asm__(".ifndef main\n\
|
|
|
|
.global main\n\
|
|
|
|
.set main, _main\n\
|
|
|
|
.endif");
|
|
|
|
|
|
|
|
__asm__(".ifndef used_func\n\
|
|
|
|
.global used_func\n\
|
|
|
|
.set used_func, _used_func\n\
|
|
|
|
.endif");
|
|
|
|
}
|