aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorDavid Edelsohn <edelsohn@gnu.org>2004-01-12 04:47:58 +0000
committerDavid Edelsohn <dje@gcc.gnu.org>2004-01-11 23:47:58 -0500
commit5fc921c1988d36782361ade21f30e7da0ad2ba0c (patch)
tree173c4631c403f760270ddf077578bd5a2af222b1 /gcc
parent48568ec72b76246c3cf964b52fbe91fa018511e7 (diff)
downloadgcc-5fc921c1988d36782361ade21f30e7da0ad2ba0c.zip
gcc-5fc921c1988d36782361ade21f30e7da0ad2ba0c.tar.gz
gcc-5fc921c1988d36782361ade21f30e7da0ad2ba0c.tar.bz2
re PR target/13401 (Traceback table does not conform to PowerPC 64 ABI)
PR target/13401 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Objective-C language type value is 14. From-SVN: r75704
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/rs6000/rs6000.c19
2 files changed, 16 insertions, 9 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index a79c36e..b08d87c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2004-01-12 David Edelsohn <edelsohn@gnu.org>
+
+ PR target/13401
+ * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
+ Objective-C language type value is 14.
+
2004-01-12 Markus F.X.J. Oberhumer <markus@oberhumer.com>
PR c/12148
diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c
index 3887462..d485a5e 100644
--- a/gcc/config/rs6000/rs6000.c
+++ b/gcc/config/rs6000/rs6000.c
@@ -12523,24 +12523,25 @@ rs6000_output_function_epilogue (FILE *file,
/* Tbtab format type. Use format type 0. */
fputs ("\t.byte 0,", file);
- /* Language type. Unfortunately, there doesn't seem to be any
- official way to get this info, so we use language_string. C
- is 0. C++ is 9. No number defined for Obj-C, so use the
- value for C for now. There is no official value for Java,
- although IBM appears to be using 13. */
- if (! strcmp (language_string, "GNU C")
- || ! strcmp (language_string, "GNU Objective-C"))
+ /* Language type. Unfortunately, there does not seem to be any
+ official way to discover the language being compiled, so we
+ use language_string.
+ C is 0. Fortran is 1. Pascal is 2. Ada is 3. C++ is 9.
+ Java is 13. Objective-C is 14. */
+ if (! strcmp (language_string, "GNU C"))
i = 0;
else if (! strcmp (language_string, "GNU F77"))
i = 1;
- else if (! strcmp (language_string, "GNU Ada"))
- i = 3;
else if (! strcmp (language_string, "GNU Pascal"))
i = 2;
+ else if (! strcmp (language_string, "GNU Ada"))
+ i = 3;
else if (! strcmp (language_string, "GNU C++"))
i = 9;
else if (! strcmp (language_string, "GNU Java"))
i = 13;
+ else if (! strcmp (language_string, "GNU Objective-C"))
+ i = 14;
else
abort ();
fprintf (file, "%d,", i);