+2003-11-13 Andrew Pinski <apinski@apple.com> + + * config/darwin.c...
authorAndrew Pinski <apinski@apple.com>
Fri, 14 Nov 2003 01:47:55 +0000 (01:47 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Fri, 14 Nov 2003 01:47:55 +0000 (17:47 -0800)
+2003-11-13  Andrew Pinski <apinski@apple.com>
+
+       * config/darwin.c (machopic_output_possible_stub_label):
+       Allow stub symbol be not defined when outputting possible
+       stub label.
+
+2003-11-13  Andrew Pinski <apinski@apple.com>
+
+       * gcc.c-torture/compile/20031113-1.c: New test.
+

From-SVN: r73570

gcc/ChangeLog
gcc/config/darwin.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/compile/20031113-1.c [new file with mode: 0644]

index d0ddf50..dc4c0ad 100644 (file)
@@ -1,3 +1,9 @@
+2003-11-13  Andrew Pinski <apinski@apple.com>
+
+       * config/darwin.c (machopic_output_possible_stub_label): 
+       Allow stub symbol be not defined when outputting possible 
+       stub label.
+
 2003-11-13  Kazu Hirata  <kazu@cs.umass.edu>
 
        * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti
index 47ca65d..1ac1223 100644 (file)
@@ -1116,7 +1116,7 @@ machopic_output_possible_stub_label (FILE *file, const char *name)
       const char *sym_name;
 
       sym_name = IDENTIFIER_POINTER (TREE_VALUE (temp));
-      if (sym_name[0] == '!' && sym_name[1] == 'T'
+      if (sym_name[0] == '!' && (sym_name[1] == 'T' || sym_name[1] == 't')
          && ! strcmp (name+2, sym_name+2))
        {
          ASM_OUTPUT_LABEL (file, IDENTIFIER_POINTER (TREE_PURPOSE (temp)));
index 4d418b0..a959079 100644 (file)
@@ -1,3 +1,7 @@
+2003-11-13  Andrew Pinski <apinski@apple.com>
+
+       * gcc.c-torture/compile/20031113-1.c: New test.
+
 2003-11-13  Mark Mitchell  <mark@codesourcery.com>
             Kean Johnston <jkj@sco.com>
 
diff --git a/gcc/testsuite/gcc.c-torture/compile/20031113-1.c b/gcc/testsuite/gcc.c-torture/compile/20031113-1.c
new file mode 100644 (file)
index 0000000..74c031c
--- /dev/null
@@ -0,0 +1,21 @@
+/* On Darwin, the stub for simple_cst_equal was not being emitted at all 
+   causing the as to die and not create an object file.  */
+
+int
+attribute_list_contained ()
+{
+  return (simple_cst_equal ());
+}
+int
+simple_cst_list_equal ()
+{
+  return (simple_cst_equal ());
+}
+
+
+int __attribute__((noinline))
+simple_cst_equal ()
+{
+  return simple_cst_list_equal ();
+}
+