diff options
author | qing zhao <qing.zhao@oracle.com> | 2020-05-06 10:46:09 -0700 |
---|---|---|
committer | qing zhao <qing.zhao@oracle.com> | 2020-05-06 10:46:09 -0700 |
commit | 530b44094354758d0dea5374188caa6863647114 (patch) | |
tree | f9809668f848e2ade12de9aaa53f3180bcb147c3 /gcc/doc | |
parent | 7c2879301d3b027a1ba427a5d5c7557decb8a7ab (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.texi | 19 |
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 |