aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-02-13 17:42:34 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-02-13 17:42:34 +0000
commitfaa20c7f41e38bb14a8c025c6de9a7ddef0a6340 (patch)
treefa8bbbcdf9058bcf7e998c09765153ba404cb358
parentf99f1d022614200f04a94f0fc5586aa2f5e6226d (diff)
ccc: Suffix for PCH files is appended, not replaced.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64466 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--tools/ccc/ccclib/Driver.py9
-rw-r--r--tools/ccc/ccclib/Types.py5
2 files changed, 9 insertions, 5 deletions
diff --git a/tools/ccc/ccclib/Driver.py b/tools/ccc/ccclib/Driver.py
index cda016153e..43e145b9db 100644
--- a/tools/ccc/ccclib/Driver.py
+++ b/tools/ccc/ccclib/Driver.py
@@ -802,10 +802,13 @@ class Driver(object):
if phase.type is Types.ImageType:
namedOutput = "a.out"
else:
- inputName = args.getValue(baseInput)
- base,_ = os.path.splitext(inputName)
assert phase.type.tempSuffix is not None
- namedOutput = base + '.' + phase.type.tempSuffix
+ inputName = args.getValue(baseInput)
+ if phase.type.appendSuffix:
+ namedOutput = inputName + '.' + phase.type.tempSuffix
+ else:
+ base,_ = os.path.splitext(inputName)
+ namedOutput = base + '.' + phase.type.tempSuffix
# Output to user requested destination?
if atTopLevel and finalOutput:
diff --git a/tools/ccc/ccclib/Types.py b/tools/ccc/ccclib/Types.py
index 1dd3ed9011..94c00410da 100644
--- a/tools/ccc/ccclib/Types.py
+++ b/tools/ccc/ccclib/Types.py
@@ -4,7 +4,7 @@ class InputType(object):
def __init__(self, name, preprocess=None, onlyAssemble=False,
onlyPrecompile=False, tempSuffix=None,
- canBeUserSpecified=False):
+ canBeUserSpecified=False, appendSuffix=False):
assert preprocess is None or isinstance(preprocess, InputType)
self.name = name
self.preprocess = preprocess
@@ -12,6 +12,7 @@ class InputType(object):
self.onlyPrecompile = onlyPrecompile
self.tempSuffix = tempSuffix
self.canBeUserSpecified = canBeUserSpecified
+ self.appendSuffix = appendSuffix
def __repr__(self):
return '%s(%r, %r, %r, %r, %r, %r)' % (self.__class__.__name__,
@@ -72,7 +73,7 @@ JavaType = InputType('java', canBeUserSpecified=True)
LLVMAsmType = InputType('llvm-asm', tempSuffix='ll')
LLVMBCType = InputType('llvm-bc', tempSuffix='bc')
PlistType = InputType('plist', tempSuffix='plist')
-PCHType = InputType('precompiled-header', tempSuffix='gch')
+PCHType = InputType('precompiled-header', tempSuffix='gch', appendSuffix=True)
ObjectType = InputType('object', tempSuffix='o')
TreelangType = InputType('treelang', canBeUserSpecified=True)
ImageType = InputType('image', tempSuffix='out')