]> oss.titaniummirror.com Git - msp430-binutils.git/blobdiff - ld/testsuite/ld-gc/gc.c
Imported binutils-2.20
[msp430-binutils.git] / ld / testsuite / ld-gc / gc.c
diff --git a/ld/testsuite/ld-gc/gc.c b/ld/testsuite/ld-gc/gc.c
new file mode 100644 (file)
index 0000000..3b0e655
--- /dev/null
@@ -0,0 +1,41 @@
+int unused_var = 7;
+int used_var = 7;
+
+int
+unused_func (int v)
+{
+  return 3 * unused_var;
+}
+
+int
+__attribute__((noinline))
+used_func (int v)
+{
+  return 2 * used_var;
+}
+
+int
+main (void)
+{
+  return used_func (5);
+}
+
+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");
+}