On Sun, Nov 17, 2024 at 4:28 AM Lewis Hyatt <lhy...@gmail.com> wrote: > > With the move from 32-bit to 64-bit location_t, the recommended number of > range bits will change from 5 to 7. line-map.h now exports the recommended > setting, so use that instead of hard-coding 5. > > Also silently ignore -flarge-source-files, which will become unnecessary with > 64-bit location_t and would harm performance.
This is OK once the dependences are approved. Richard. > gcc/ChangeLog: > > * common.opt: Mark -flarge-source-files as Ignored. > * doc/invoke.texi: Remove -flarge-source-files. > * toplev.cc (general_init): Use new constant > line_map_suggested_range_bits instead of the hard-coded integer 5. > (process_options): Remove support for -flarge-source-files. > --- > gcc/common.opt | 5 ++--- > gcc/doc/invoke.texi | 17 +---------------- > gcc/toplev.cc | 5 +---- > 3 files changed, 4 insertions(+), 23 deletions(-) > > diff --git a/gcc/common.opt b/gcc/common.opt > index 33be6b8042a..be74dc177c8 100644 > --- a/gcc/common.opt > +++ b/gcc/common.opt > @@ -1804,9 +1804,8 @@ Common Undocumented Var(flag_keep_gc_roots_live) > Optimization > ; Always keep a pointer to a live memory block > > flarge-source-files > -Common Var(flag_large_source_files) Init(0) > -Improve GCC's ability to track column numbers in large source files, > -at the expense of slower compilation. > +Common Ignore > +Does nothing. Preserved for backward compatibility. > > flate-combine-instructions > Common Var(flag_late_combine_instructions) Optimization Init(0) > diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi > index 929feaf23fb..ba7ff14979b 100644 > --- a/gcc/doc/invoke.texi > +++ b/gcc/doc/invoke.texi > @@ -691,7 +691,7 @@ Objective-C and Objective-C++ Dialects}. > -dD -dI -dM -dN -dU > -fdebug-cpp -fdirectives-only -fdollars-in-identifiers > -fexec-charset=@var{charset} -fextended-identifiers > --finput-charset=@var{charset} -flarge-source-files > +-finput-charset=@var{charset} > -fmacro-prefix-map=@var{old}=@var{new} -fmax-include-depth=@var{depth} > -fno-canonical-system-headers -fpch-deps -fpch-preprocess > -fpreprocessed -ftabstop=@var{width} -ftrack-macro-expansion > @@ -18664,21 +18664,6 @@ This option may be useful in conjunction with the > @option{-B} or > perform additional processing of the program source between > normal preprocessing and compilation. > > -@opindex flarge-source-files > -@item -flarge-source-files > -Adjust GCC to expect large source files, at the expense of slower > -compilation and higher memory usage. > - > -Specifically, GCC normally tracks both column numbers and line numbers > -within source files and it normally prints both of these numbers in > -diagnostics. However, once it has processed a certain number of source > -lines, it stops tracking column numbers and only tracks line numbers. > -This means that diagnostics for later lines do not include column numbers. > -It also means that options like @option{-Wmisleading-indentation} cease to > work > -at that point, although the compiler prints a note if this happens. > -Passing @option{-flarge-source-files} significantly increases the number > -of source lines that GCC can process before it stops tracking columns. > - > @end table > > @node Assembler Options > diff --git a/gcc/toplev.cc b/gcc/toplev.cc > index 779049674b4..bd95521e3ff 100644 > --- a/gcc/toplev.cc > +++ b/gcc/toplev.cc > @@ -1137,7 +1137,7 @@ general_init (const char *argv0, bool init_signals, > unique_argv original_argv) > linemap_init (line_table, BUILTINS_LOCATION); > line_table->m_reallocator = realloc_for_line_map; > line_table->m_round_alloc_size = ggc_round_alloc_size; > - line_table->default_range_bits = 5; > + line_table->default_range_bits = line_map_suggested_range_bits; > init_ttree (); > > /* Initialize register usage now so switches may override. */ > @@ -1765,9 +1765,6 @@ process_options () > hash_table_sanitize_eq_limit > = param_hash_table_verification_limit; > > - if (flag_large_source_files) > - line_table->default_range_bits = 0; > - > diagnose_options (&global_options, &global_options_set, UNKNOWN_LOCATION); > > /* Please don't change global_options after this point, those changes won't