From a25d596a2961075d0aa21c51c822d87218610718 Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Fri, 14 Nov 2003 01:47:55 +0000 Subject: [PATCH] +2003-11-13 Andrew Pinski + + * config/darwin.c... +2003-11-13 Andrew Pinski + + * config/darwin.c (machopic_output_possible_stub_label): + Allow stub symbol be not defined when outputting possible + stub label. + +2003-11-13 Andrew Pinski + + * gcc.c-torture/compile/20031113-1.c: New test. + From-SVN: r73570 --- gcc/ChangeLog | 6 ++++++ gcc/config/darwin.c | 2 +- gcc/testsuite/ChangeLog | 4 ++++ .../gcc.c-torture/compile/20031113-1.c | 21 +++++++++++++++++++ 4 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.c-torture/compile/20031113-1.c diff --git a/gcc/ChangeLog b/gcc/ChangeLog index d0ddf501c73..dc4c0ad0222 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2003-11-13 Andrew Pinski + + * config/darwin.c (machopic_output_possible_stub_label): + Allow stub symbol be not defined when outputting possible + stub label. + 2003-11-13 Kazu Hirata * config/h8300/lib1funcs.asm (___udivsi3): Jump to reti diff --git a/gcc/config/darwin.c b/gcc/config/darwin.c index 47ca65d541c..1ac122376de 100644 --- a/gcc/config/darwin.c +++ b/gcc/config/darwin.c @@ -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))); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 4d418b034c6..a9590799c44 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2003-11-13 Andrew Pinski + + * gcc.c-torture/compile/20031113-1.c: New test. + 2003-11-13 Mark Mitchell Kean Johnston 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 index 00000000000..74c031c3d86 --- /dev/null +++ b/gcc/testsuite/gcc.c-torture/compile/20031113-1.c @@ -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 (); +} +