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.
This commit is contained in:
qing zhao 2020-05-06 10:46:09 -07:00
parent 7c2879301d
commit 530b440943
8 changed files with 51 additions and 3 deletions

View file

@ -1,3 +1,11 @@
2020-05-06 qing zhao <qing.zhao@oracle.com>
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.
2020-05-06 Uroš Bizjak <ubizjak@gmail.com>
PR target/94913

View file

@ -1,3 +1,9 @@
2020-05-06 qing zhao <qing.zhao@oracle.com>
PR c/94230
* c-indentation.c (get_visual_column): Add a hint to use the new
-flarge-source-files option.
2020-05-05 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
* c-attribs.c (handle_vector_size_attribute): Add attribute

View file

@ -67,6 +67,11 @@ get_visual_column (expanded_location exploc, location_t loc,
"%<-Wmisleading-indentation%> is disabled from this point"
" onwards, since column-tracking was disabled due to"
" the size of the code/headers");
if (!flag_large_source_files)
inform (loc,
"adding %<-flarge-source-files%> will allow for more"
" column-tracking support, at the expense of compilation"
" time and memory");
}
return false;
}

View file

@ -1609,6 +1609,11 @@ fkeep-gc-roots-live
Common Undocumented Report Var(flag_keep_gc_roots_live) Optimization
; Always keep a pointer to a live memory block
flarge-source-files
Common Report 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.
floop-parallelize-all
Common Report Var(flag_loop_parallelize_all) Optimization
Mark all loops as parallel.

View file

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

View file

@ -1,3 +1,9 @@
2020-05-06 qing zhao <qing.zhao@oracle.com>
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.
2020-05-06 Uroš Bizjak <ubizjak@gmail.com>
PR target/94913

View file

@ -13,7 +13,7 @@ int
fn_1 (int flag)
{
int x = 4, y = 5;
if (flag) x = 3; y = 2; /* { dg-message "-:disabled from this point" } */
if (flag) x = 3; y = 2; /* { dg-message "-:disabled from this point" "adding '-flarge-source-files'" } */
return x * y;
}

View file

@ -1854,6 +1854,9 @@ process_options (void)
hash_table_sanitize_eq_limit
= param_hash_table_verification_limit;
if (flag_large_source_files)
line_table->default_range_bits = 0;
/* Please don't change global_options after this point, those changes won't
be reflected in optimization_{default,current}_node. */
}