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.
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