The optimize pragma/attribute parsing calls decode_cmdline_options_to_array
but doesn't free the array.  The following fixes that.

Bootstrapped and tested on x86_64-unknown-linux-gnu, OK?

Thanks,
Richard.

2021-02-10  Richard Biener  <rguent...@suse.de>

gcc/c-family/
        * c-common.c (parse_optimize_options): Free decoded_options.
---
 gcc/c-family/c-common.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c
index 813212cc21d..088626d1e09 100644
--- a/gcc/c-family/c-common.c
+++ b/gcc/c-family/c-common.c
@@ -5770,6 +5770,7 @@ parse_optimize_options (tree args, bool attr_p)
   decode_options (&global_options, &global_options_set,
                  decoded_options, decoded_options_count,
                  input_location, global_dc, NULL);
+  free (decoded_options);
 
   targetm.override_options_after_change();
 
-- 
2.26.2

Reply via email to