From 5fc921c1988d36782361ade21f30e7da0ad2ba0c Mon Sep 17 00:00:00 2001 From: David Edelsohn Date: Mon, 12 Jan 2004 04:47:58 +0000 Subject: [PATCH] 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 --- gcc/ChangeLog | 6 ++++++ gcc/config/rs6000/rs6000.c | 19 ++++++++++--------- 2 files changed, 16 insertions(+), 9 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index a79c36e065a2..b08d87c9b84d 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2004-01-12 David Edelsohn + + 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 PR c/12148 diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index 3887462be6d6..d485a5ea2234 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); -- 2.47.3