https://gcc.gnu.org/g:1a64b224fa014e772fb30f6bd69ceb24da5827e6

commit r16-41-g1a64b224fa014e772fb30f6bd69ceb24da5827e6
Author: Jeff Law <j...@ventanamicro.com>
Date:   Sat Apr 19 12:35:29 2025 -0600

    [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:
---
 gcc/config/riscv/riscv.cc | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/gcc/config/riscv/riscv.cc b/gcc/config/riscv/riscv.cc
index d3656a7a4307..bad59e248d08 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);
 }

Reply via email to