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

Reply via email to