From cd4d663c13d27a53ccabeef3d7d8cffa7a5a5365 Mon Sep 17 00:00:00 2001 From: Thomas Fitzsimmons Date: Thu, 27 May 2021 21:55:46 -0400 Subject: [PATCH 2/2] rs6000: Recognize GNU Rust when producing epilogue Handling the GNU Rust language when writing a function's epilogue is necessary to avoid an internal compiler error. gcc/ChangeLog: 2021-05-27 Thomas Fitzsimmons Mark Wielaard * config/rs6000/rs6000-logue.c (rs6000_output_function_epilogue): Set language type field to 0 for GNU Rust. Co-Authored-By: Mark Wielaard --- gcc/config/rs6000/rs6000-logue.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gcc/config/rs6000/rs6000-logue.c b/gcc/config/rs6000/rs6000-logue.c index b0ac183ceff..7da8db6d232 100644 --- a/gcc/config/rs6000/rs6000-logue.c +++ b/gcc/config/rs6000/rs6000-logue.c @@ -5262,12 +5262,13 @@ rs6000_output_function_epilogue (FILE *file) use language_string. C is 0. Fortran is 1. Ada is 3. Modula-2 is 8. C++ is 9. Java is 13. Objective-C is 14. Objective-C++ isn't assigned - a number, so for now use 9. LTO, Go, D, and JIT aren't assigned - numbers either, so for now use 0. */ + a number, so for now use 9. LTO, Go, D, Rust, and JIT aren't + assigned numbers either, so for now use 0. */ if (lang_GNU_C () || ! strcmp (language_string, "GNU GIMPLE") || ! strcmp (language_string, "GNU Go") || ! strcmp (language_string, "GNU D") + || ! strcmp (language_string, "GNU Rust") || ! strcmp (language_string, "libgccjit")) i = 0; else if (! strcmp (language_string, "GNU F77") -- 2.30.0