diff options
author | Daniel Dunbar <daniel@zuster.org> | 2009-01-14 00:06:14 +0000 |
---|---|---|
committer | Daniel Dunbar <daniel@zuster.org> | 2009-01-14 00:06:14 +0000 |
commit | edd1e2a362868a2fd28468265d3b5b801710b106 (patch) | |
tree | 96775e8ea7cce22e6a9e26f5176b4d69cf085785 | |
parent | fa23c1d9adc99c662c1c0e192817185809d95614 (diff) |
ccc: Darwin/Compile: Define __private_extern__ when building c++.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62200 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | tools/ccc/ccclib/Tools.py | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/tools/ccc/ccclib/Tools.py b/tools/ccc/ccclib/Tools.py index 1b8db33597..bc10081dc1 100644 --- a/tools/ccc/ccclib/Tools.py +++ b/tools/ccc/ccclib/Tools.py @@ -241,6 +241,7 @@ class Darwin_X86_CompileTool(Tool): assert not [i for i in inputs if i.type != inputType] usePP = False + isCXX = False if inputType is Types.CType: cc1Name = 'cc1' usePP = True @@ -256,15 +257,19 @@ class Darwin_X86_CompileTool(Tool): elif inputType is Types.CXXType: cc1Name = 'cc1plus' usePP = True + isCXX = True elif inputType is Types.CXXTypeNoPP: cc1Name = 'cc1plus' usePP = False + isCXX = True elif inputType is Types.ObjCXXType: cc1Name = 'cc1objplus' usePP = True + isCXX = True elif inputType is Types.ObjCXXTypeNoPP: cc1Name = 'cc1objplus' usePP = False + isCXX = True else: raise RuntimeError,"Unexpected input type for Darwin compile tool." @@ -274,6 +279,8 @@ class Darwin_X86_CompileTool(Tool): raise ValueError,"-traditional is not supported without -E" if usePP: + # Derived from cpp_options. + # Derived from cpp_unique_options. if (arglist.getLastArg(arglist.parser.COption) or @@ -360,6 +367,7 @@ class Darwin_X86_CompileTool(Tool): cmd_args.append('-D_MUDFLAPTH') cmd_args.append('-include') cmd_args.append('mf-runtime.h') + else: cmd_args.append('-fpreprocessed') # FIXME: There is a spec command to remove @@ -461,6 +469,9 @@ class Darwin_X86_CompileTool(Tool): cmd_args.append('-fprofile-arcs') cmd_args.append('-ftest-coverage') + if isCXX: + cmd_args.append('-D__private_extern__=extern') + if outputAtEnd: cmd_args.extend(output_args) |