summaryrefslogtreecommitdiff
path: root/gcc/doc
diff options
context:
space:
mode:
authorqing zhao <qing.zhao@oracle.com>2020-05-06 10:46:09 -0700
committerqing zhao <qing.zhao@oracle.com>2020-05-06 10:46:09 -0700
commit530b44094354758d0dea5374188caa6863647114 (patch)
treef9809668f848e2ade12de9aaa53f3180bcb147c3 /gcc/doc
parent7c2879301d3b027a1ba427a5d5c7557decb8a7ab (diff)
add a new option -flarge-source-files.
gcc/ChangeLog: PR c/94230 * common.opt: Add -flarge-source-files. * doc/invoke.texi: Document it. * toplev.c (process_options): set line_table->default_range_bits to 0 when flag_large_source_files is true. gcc/c-family/ChangeLog: PR c/94230 * c-indentation.c (get_visual_column): Add a hint to use the new -flarge-source-files option. gcc/testsuite/ChangeLog: PR c/94230 * gcc.dg/plugin/location-overflow-test-1.c (fn_1): New message to provide hint to use the new -flarge-source-files option.
Diffstat (limited to 'gcc/doc')
-rw-r--r--gcc/doc/invoke.texi19
1 files changed, 17 insertions, 2 deletions
diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
index 3537a81d962..c97318f0465 100644
--- a/gcc/doc/invoke.texi
+++ b/gcc/doc/invoke.texi
@@ -574,8 +574,8 @@ Objective-C and Objective-C++ Dialects}.
-dD -dI -dM -dN -dU @gol
-fdebug-cpp -fdirectives-only -fdollars-in-identifiers @gol
-fexec-charset=@var{charset} -fextended-identifiers @gol
--finput-charset=@var{charset} -fmacro-prefix-map=@var{old}=@var{new} @gol
--fmax-include-depth=@var{depth} @gol
+-finput-charset=@var{charset} -flarge-source-files @gol
+-fmacro-prefix-map=@var{old}=@var{new} -fmax-include-depth=@var{depth} @gol
-fno-canonical-system-headers -fpch-deps -fpch-preprocess @gol
-fpreprocessed -ftabstop=@var{width} -ftrack-macro-expansion @gol
-fwide-exec-charset=@var{charset} -fworking-directory @gol
@@ -14174,6 +14174,21 @@ This option may be useful in conjunction with the @option{-B} or
perform additional processing of the program source between
normal preprocessing and compilation.
+@item -flarge-source-files
+@opindex 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