From: Jeff Law Date: Sat, 19 Apr 2025 18:35:29 +0000 (-0600) Subject: [RISC-V][PR target/119865] Don't free ggc allocated memory X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1a64b224fa014e772fb30f6bd69ceb24da5827e6;p=thirdparty%2Fgcc.git [RISC-V][PR target/119865] Don't free ggc allocated memory Kaiweng's patch to stop freeing riscv_arch_string was correct, but incomplete as there's another path that was freeing that node, which is just plain wrong for a node allocated by the GC system. This patch removes that call to free() which fixes the test. I've spun it in my tester and will obviously wait for the pre-commit system to render a verdict before moving forward. PR target/119865 gcc/ * config/riscv/riscv.cc (parse_features_for_version): Do not explicitly free the architecture string. --- diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc index d3656a7a430..bad59e248d0 100644 --- a/gcc/config/riscv/riscv.cc +++ b/gcc/config/riscv/riscv.cc @@ -13136,9 +13136,6 @@ parse_features_for_version (tree decl, DECL_SOURCE_LOCATION (decl)); gcc_assert (parse_res); - if (arch_string != default_opts->x_riscv_arch_string) - free (CONST_CAST (void *, (const void *) arch_string)); - cl_target_option_restore (&global_options, &global_options_set, &cur_target); }