]> granicus.if.org Git - clang/commitdiff
ccc: Darwin/Compile: Define __private_extern__ when building c++.
authorDaniel Dunbar <daniel@zuster.org>
Wed, 14 Jan 2009 00:06:14 +0000 (00:06 +0000)
committerDaniel Dunbar <daniel@zuster.org>
Wed, 14 Jan 2009 00:06:14 +0000 (00:06 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62200 91177308-0d34-0410-b5e6-96231b3b80d8

tools/ccc/ccclib/Tools.py

index 1b8db3359733d5cc92c8d78becec77ee8587ad63..bc10081dc10dd1be65da71a9568336751f85e4b9 100644 (file)
@@ -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)