summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-01-13 04:05:40 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-01-13 04:05:40 +0000
commit8af0d3447e3b1bb815b34025f6befd922694bdaf (patch)
tree82a22e9b7701aee2ccfb0afe1d39b21292db39e8
parentf343168f1fa2a7d2d26dd405704eab98684a4b03 (diff)
downloadbcm5719-llvm-8af0d3447e3b1bb815b34025f6befd922694bdaf.tar.gz
bcm5719-llvm-8af0d3447e3b1bb815b34025f6befd922694bdaf.zip
ccc: Allow host to over-ride default arch based on command line
arguments (e.g., -m32 and -m64). llvm-svn: 62145
-rw-r--r--clang/tools/ccc/ccclib/Driver.py2
-rw-r--r--clang/tools/ccc/ccclib/HostInfo.py20
2 files changed, 15 insertions, 7 deletions
diff --git a/clang/tools/ccc/ccclib/Driver.py b/clang/tools/ccc/ccclib/Driver.py
index 1685f0b93a4..46b4541fc41 100644
--- a/clang/tools/ccc/ccclib/Driver.py
+++ b/clang/tools/ccc/ccclib/Driver.py
@@ -466,7 +466,7 @@ class Driver(object):
hasDashM = arg
if not archs:
- archs.append(args.makeSeparateArg(self.hostInfo.getArchName(),
+ archs.append(args.makeSeparateArg(self.hostInfo.getArchName(args),
self.parser.archOption))
actions = self.buildNormalPipeline(args)
diff --git a/clang/tools/ccc/ccclib/HostInfo.py b/clang/tools/ccc/ccclib/HostInfo.py
index 12fdfef404a..d976138eec0 100644
--- a/clang/tools/ccc/ccclib/HostInfo.py
+++ b/clang/tools/ccc/ccclib/HostInfo.py
@@ -8,7 +8,7 @@ class HostInfo(object):
def __init__(self, driver):
self.driver = driver
- def getArchName(self):
+ def getArchName(self, args):
abstract
def useDriverDriver(self):
@@ -38,7 +38,7 @@ class DarwinHostInfo(HostInfo):
return True
def getToolChain(self):
- return self.getToolChainForArch(self.getArchName())
+ return self.getToolChainForArch(self.getArchName(None))
def getToolChainForArch(self, arch):
if arch in ('i386', 'x86_64'):
@@ -49,19 +49,27 @@ class DarwinHostInfo(HostInfo):
return ToolChain.Generic_GCC_ToolChain(self.driver)
class DarwinPPCHostInfo(DarwinHostInfo):
- def getArchName(self):
+ def getArchName(self, args):
+ if args and args.getLastArg(args.parser.m_64Option):
+ return 'ppc64'
return 'ppc'
class DarwinPPC_64HostInfo(DarwinHostInfo):
- def getArchName(self):
+ def getArchName(self, args):
+ if args and args.getLastArg(args.parser.m_32Option):
+ return 'ppc'
return 'ppc64'
class DarwinX86HostInfo(DarwinHostInfo):
- def getArchName(self):
+ def getArchName(self, args):
+ if args and args.getLastArg(args.parser.m_64Option):
+ return 'x86_64'
return 'i386'
class DarwinX86_64HostInfo(DarwinHostInfo):
- def getArchName(self):
+ def getArchName(self, args):
+ if args and args.getLastArg(args.parser.m_32Option):
+ return 'i386'
return 'x86_64'
def getDarwinHostInfo(driver):
OpenPOWER on IntegriCloud