From: Daniel Dunbar Date: Wed, 14 Jan 2009 00:06:14 +0000 (+0000) Subject: ccc: Darwin/Compile: Define __private_extern__ when building c++. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=edd1e2a362868a2fd28468265d3b5b801710b106;p=clang 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 --- 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)