summaryrefslogtreecommitdiffstats
path: root/tools/gn/target.cc
diff options
context:
space:
mode:
authorbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-04 19:19:59 +0000
committerbrettw@chromium.org <brettw@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-11-04 19:19:59 +0000
commit132715e1e82b1f69fc5a67d3acedb24c12d02e2a (patch)
treed439dd489e8f11e40e9161c5e45188f62ff2d1e6 /tools/gn/target.cc
parent21bb906f7ce89a54bf8ecdb951771bb25069e43c (diff)
downloadchromium_src-132715e1e82b1f69fc5a67d3acedb24c12d02e2a.zip
chromium_src-132715e1e82b1f69fc5a67d3acedb24c12d02e2a.tar.gz
chromium_src-132715e1e82b1f69fc5a67d3acedb24c12d02e2a.tar.bz2
GN: toolchain threading cleanup
Remove the thread-unsafe toolchain pointer on the otherwise-threadsafe Settings object. I replaced it with the toolchain label, and moved the is_default flag from the toolchain to the Settings object. This required that I pass the toolchain around in a few more places, but also simplifies some other cases. I removed the toolchain prefix from Ninja rules for the default toolchain since that's not necessary any more for GYP compat. This fixes an annoying double-free in the toolchain manager. I think my current refactor will clean this up in a later phase. R=scottmg@chromium.org Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=232657 Review URL: https://codereview.chromium.org/51693002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@232755 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'tools/gn/target.cc')
-rw-r--r--tools/gn/target.cc7
1 files changed, 3 insertions, 4 deletions
diff --git a/tools/gn/target.cc b/tools/gn/target.cc
index 291d579..28dcf91 100644
--- a/tools/gn/target.cc
+++ b/tools/gn/target.cc
@@ -57,8 +57,7 @@ void MergeAllDependentConfigsFrom(const Target* from_target,
} // namespace
Target::Target(const Settings* settings, const Label& label)
- : Item(label),
- settings_(settings),
+ : Item(settings, label),
output_type_(UNKNOWN),
hard_dep_(false),
external_(false),
@@ -155,9 +154,9 @@ void Target::OnResolved() {
}
// Mark as resolved.
- if (!settings_->build_settings()->target_resolved_callback().is_null()) {
+ if (!settings()->build_settings()->target_resolved_callback().is_null()) {
g_scheduler->ScheduleWork(base::Bind(&TargetResolvedThunk,
- settings_->build_settings()->target_resolved_callback(),
+ settings()->build_settings()->target_resolved_callback(),
this));
}
}