From 8ac5e12e5f69ba3a8559e6b5836d6d18b8ac7ff3 Mon Sep 17 00:00:00 2001 From: Alan Modra Date: Sat, 26 Mar 2011 12:04:14 +1030 Subject: [PATCH] re PR target/47487 (ICE in rs6000_output_function_epilogue, at config/rs6000/rs6000.c:21782 building 64bit libgo) PR target/47487 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support GNU Go in traceback table. From-SVN: r171538 --- gcc/ChangeLog | 6 ++++++ gcc/config/rs6000/rs6000.c | 7 ++++--- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 040a83c0416..69d92785ea8 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2011-03-26 Alan Modra + + PR target/47487 + * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Support + GNU Go in traceback table. + 2011-03-25 Richard Henderson * expr.c (emit_block_move_via_movmem): Only use 6 operand variant diff --git a/gcc/config/rs6000/rs6000.c b/gcc/config/rs6000/rs6000.c index c3ca018d484..abd09e16d62 100644 --- a/gcc/config/rs6000/rs6000.c +++ b/gcc/config/rs6000/rs6000.c @@ -22061,10 +22061,11 @@ rs6000_output_function_epilogue (FILE *file, 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. Objective-C++ isn't assigned - a number, so for now use 9. LTO isn't assigned a number either, - so for now use 0. */ + a number, so for now use 9. LTO and Go aren't assigned numbers + either, so for now use 0. */ if (! strcmp (language_string, "GNU C") - || ! strcmp (language_string, "GNU GIMPLE")) + || ! strcmp (language_string, "GNU GIMPLE") + || ! strcmp (language_string, "GNU Go")) i = 0; else if (! strcmp (language_string, "GNU F77") || ! strcmp (language_string, "GNU Fortran"))