aboutsummaryrefslogtreecommitdiff
path: root/lib/Basic
diff options
context:
space:
mode:
authorDouglas Gregor <dgregor@apple.com>2012-10-15 16:45:32 +0000
committerDouglas Gregor <dgregor@apple.com>2012-10-15 16:45:32 +0000
commit9a022bb007a3e77e1ac1330f955a239cfb1dd0fb (patch)
tree7b86255dc1214dfa9c742ce9e5ac52f5292cbcdf /lib/Basic
parentba1f04007baf376c5f5ccf7ef23588399942de7b (diff)
Teach TargetInfo to hold on to the TargetOptions with which it was
created. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165943 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Basic')
-rw-r--r--lib/Basic/TargetInfo.cpp3
-rw-r--r--lib/Basic/Targets.cpp1
2 files changed, 3 insertions, 1 deletions
diff --git a/lib/Basic/TargetInfo.cpp b/lib/Basic/TargetInfo.cpp
index db5941a5d9..b89b18b3ae 100644
--- a/lib/Basic/TargetInfo.cpp
+++ b/lib/Basic/TargetInfo.cpp
@@ -24,7 +24,8 @@ using namespace clang;
static const LangAS::Map DefaultAddrSpaceMap = { 0 };
// TargetInfo Constructor.
-TargetInfo::TargetInfo(const std::string &T) : Triple(T) {
+TargetInfo::TargetInfo(const std::string &T) : TargetOpts(), Triple(T)
+{
// Set defaults. Defaults are set for a 32-bit RISC platform, like PPC or
// SPARC. These should be overridden by concrete targets as needed.
BigEndian = true;
diff --git a/lib/Basic/Targets.cpp b/lib/Basic/Targets.cpp
index 76e09a55f4..79239d0bcf 100644
--- a/lib/Basic/Targets.cpp
+++ b/lib/Basic/Targets.cpp
@@ -4603,6 +4603,7 @@ TargetInfo *TargetInfo::CreateTargetInfo(DiagnosticsEngine &Diags,
Diags.Report(diag::err_target_unknown_triple) << Triple.str();
return 0;
}
+ Target->setTargetOpts(Opts);
// Set the target CPU if specified.
if (!Opts.CPU.empty() && !Target->setCPU(Opts.CPU)) {