From: Martin Liska Date: Thu, 7 Oct 2021 10:29:15 +0000 (+0200) Subject: build: Fix --enable-gather-detailed-mem-stats X-Git-Tag: basepoints/gcc-13~4090 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8ae3b44a52394ddfeb3946ccda8f428ab5fbd153;p=thirdparty%2Fgcc.git build: Fix --enable-gather-detailed-mem-stats gcc/c-family/ChangeLog: * c-common.c (parse_optimize_options): Make save_opt_decoded_options a pointer type. gcc/ChangeLog: * toplev.c (toplev::main): Make save_opt_decoded_options a pointer type * toplev.h: Likewise. --- diff --git a/gcc/c-family/c-common.c b/gcc/c-family/c-common.c index 9d19e3527258..32c7e3e89725 100644 --- a/gcc/c-family/c-common.c +++ b/gcc/c-family/c-common.c @@ -5921,7 +5921,7 @@ parse_optimize_options (tree args, bool attr_p) decoded_options_count = j; /* Merge the decoded options with save_decoded_options. */ - unsigned save_opt_count = save_opt_decoded_options.length (); + unsigned save_opt_count = save_opt_decoded_options->length (); unsigned merged_decoded_options_count = save_opt_count + decoded_options_count; cl_decoded_option *merged_decoded_options @@ -5929,7 +5929,7 @@ parse_optimize_options (tree args, bool attr_p) /* Note the first decoded_options is used for the program name. */ for (unsigned i = 0; i < save_opt_count; ++i) - merged_decoded_options[i + 1] = save_opt_decoded_options[i]; + merged_decoded_options[i + 1] = (*save_opt_decoded_options)[i]; for (unsigned i = 1; i < decoded_options_count; ++i) merged_decoded_options[save_opt_count + i] = decoded_options[i]; diff --git a/gcc/toplev.c b/gcc/toplev.c index 70769087c138..ecb2b694970c 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -117,7 +117,7 @@ struct cl_decoded_option *save_decoded_options; unsigned int save_decoded_options_count; /* Vector of saved Optimization decoded command line options. */ -auto_vec save_opt_decoded_options; +vec *save_opt_decoded_options; /* Used to enable -fvar-tracking, -fweb and -frename-registers according to optimize in process_options (). */ @@ -2320,10 +2320,11 @@ toplev::main (int argc, char **argv) &save_decoded_options_count); /* Save Optimization decoded options. */ + save_opt_decoded_options = new vec (); for (unsigned i = 1; i < save_decoded_options_count; ++i) if (save_decoded_options[i].opt_index < cl_options_count && cl_options[save_decoded_options[i].opt_index].flags & CL_OPTIMIZATION) - save_opt_decoded_options.safe_push (save_decoded_options[i]); + save_opt_decoded_options->safe_push (save_decoded_options[i]); /* Perform language-specific options initialization. */ lang_hooks.init_options (save_decoded_options_count, save_decoded_options); diff --git a/gcc/toplev.h b/gcc/toplev.h index c44c5ff926a9..493f7eb5ad63 100644 --- a/gcc/toplev.h +++ b/gcc/toplev.h @@ -23,7 +23,7 @@ along with GCC; see the file COPYING3. If not see /* Decoded options, and number of such options. */ extern struct cl_decoded_option *save_decoded_options; extern unsigned int save_decoded_options_count; -extern auto_vec save_opt_decoded_options; +extern vec *save_opt_decoded_options; class timer;