diff options
author | Cary Coutant <ccoutant@google.com> | 2011-07-06 22:15:12 +0000 |
---|---|---|
committer | Cary Coutant <ccoutant@google.com> | 2011-07-06 22:15:12 +0000 |
commit | 221597a548c93ec0cd0de1f90f206ae04be7f83d (patch) | |
tree | dec23f370ddddf9004c8f66ed19ff803cabdc73f /gold/incremental.cc | |
parent | facde0e593ae909c801e03cada83c05bec89aad5 (diff) | |
download | fsf-binutils-gdb-221597a548c93ec0cd0de1f90f206ae04be7f83d.zip fsf-binutils-gdb-221597a548c93ec0cd0de1f90f206ae04be7f83d.tar.gz fsf-binutils-gdb-221597a548c93ec0cd0de1f90f206ae04be7f83d.tar.bz2 |
* incremental.cc (Sized_incremental_binary::do_file_has_changed):
Check disposition for startup file.
(Incremental_inputs::report_command_line): Ignore
--incremental-startup-unchanged option.
* options.cc (General_options::parse_incremental_startup_unchanged):
New function.
(General_options::General_options): Initialize new data member.
* options.h (Incremental_disposition): Add INCREMENTAL_STARTUP.
(General_options): Add --incremental-startup-unchanged option.
(General_options::incremental_startup_disposition): New function.
(General_options::incremental_startup_disposition_): New data member.
Diffstat (limited to 'gold/incremental.cc')
-rw-r--r-- | gold/incremental.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/gold/incremental.cc b/gold/incremental.cc index 0988ed4..710effc 100644 --- a/gold/incremental.cc +++ b/gold/incremental.cc @@ -460,6 +460,12 @@ Sized_incremental_binary<size, big_endian>::do_file_has_changed( if (input_argument != NULL) disp = input_argument->file().options().incremental_disposition(); + // For files at the beginning of the command line (i.e., those added + // implicitly by gcc), check whether the --incremental-startup-unchanged + // option was used. + if (disp == INCREMENTAL_STARTUP) + disp = parameters->options().incremental_startup_disposition(); + if (disp != INCREMENTAL_CHECK) return disp == INCREMENTAL_CHANGED; @@ -938,6 +944,7 @@ Incremental_inputs::report_command_line(int argc, const char* const* argv) || strcmp(argv[i], "--incremental-changed") == 0 || strcmp(argv[i], "--incremental-unchanged") == 0 || strcmp(argv[i], "--incremental-unknown") == 0 + || strcmp(argv[i], "--incremental-startup-unchanged") == 0 || is_prefix_of("--incremental-base=", argv[i]) || is_prefix_of("--incremental-patch=", argv[i]) || is_prefix_of("--debug=", argv[i])) |