summaryrefslogtreecommitdiff
path: root/gold/incremental.cc
diff options
context:
space:
mode:
authorCary Coutant <ccoutant@google.com>2011-05-24 23:31:07 +0000
committerCary Coutant <ccoutant@google.com>2011-05-24 23:31:07 +0000
commitaa92d6edc48569b34bddc50f537fde8330151a80 (patch)
treeeea97dd3a2f081619f253dd6fe91f531d84da09e /gold/incremental.cc
parent2eedd7063f48940af7716e95c65083a3411b8608 (diff)
* gold.cc (queue_initial_tasks): Pass incremental base filename
to Output_file::open_base_file; don't print error message. * incremental-dump.cc (main): Adjust call to Output_file::open_for_modification. * incremental-dump.cc (main): Likewise. * incremental.cc (Incremental_inputs::report_command_line): Ignore --incremental-base option when comparing command lines. Ignore parameter when given as separate argument. * options.h (class General_options): Add --incremental-base. * output.cc (Output_file::Output_file): (Output_file::open_base_file): Add base_name and writable parameters; read base file into new file; print error message here. (Output_file::map_no_anonymous): Add writable parameter; adjust all callers. * output.h (Output_file::open_for_modification): Rename to... (Output_file::open_base_file): ...this; add base_name and writable parameters; adjust all callers. (Output_file::map_no_anonymous): Add writable parameter; adjust all callers. * testsuite/Makefile.am (incremental_test_4): Test --incremental-base. * testsuite/Makefile.in: Regenerate.
Diffstat (limited to 'gold/incremental.cc')
-rw-r--r--gold/incremental.cc9
1 files changed, 9 insertions, 0 deletions
diff --git a/gold/incremental.cc b/gold/incremental.cc
index 0a8994078f..a27afeef1c 100644
--- a/gold/incremental.cc
+++ b/gold/incremental.cc
@@ -861,8 +861,17 @@ 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
+ || is_prefix_of("--incremental-base=", argv[i])
|| is_prefix_of("--debug=", argv[i]))
continue;
+ if (strcmp(argv[i], "--incremental-base") == 0
+ || strcmp(argv[i], "--debug") == 0)
+ {
+ // When these options are used without the '=', skip the
+ // following parameter as well.
+ ++i;
+ continue;
+ }
args.append(" '");
// Now append argv[i], but with all single-quotes escaped