From 2659aeb5e51fe27d24bbffad0d1851b39fed5e43 Mon Sep 17 00:00:00 2001
From: Ed Schouten
Date: Wed, 3 Jun 2009 21:11:25 +0000
Subject: Import Clang, at r72805.
---
clang.xcodeproj/project.pbxproj | 4 +
docs/PCHInternals.html | 119 +-
docs/PCHLayout.graffle | 2107 +++++++++++++++++++-------------
docs/PCHLayout.png | Bin 37899 -> 31908 bytes
include/clang/Driver/HostInfo.h | 2 +-
include/clang/Driver/Options.def | 1 +
lib/AST/ASTContext.cpp | 7 +
lib/CodeGen/CGCXX.cpp | 37 -
lib/CodeGen/CGCXXTemp.cpp | 67 +
lib/CodeGen/CGExprAgg.cpp | 12 +-
lib/CodeGen/CodeGenFunction.h | 26 +-
lib/Driver/HostInfo.cpp | 29 +-
lib/Driver/Tools.cpp | 1 +
lib/Frontend/Backend.cpp | 114 +-
lib/Frontend/InitPreprocessor.cpp | 10 +-
test/Analysis/retain-release-gc-only.m | 32 +-
test/CodeGen/always_inline.c | 4 +-
test/CodeGen/cast-to-union.c | 1 +
test/CodeGenObjC/objc2-weak-assign.m | 22 +
19 files changed, 1566 insertions(+), 1029 deletions(-)
create mode 100644 lib/CodeGen/CGCXXTemp.cpp
create mode 100644 test/CodeGenObjC/objc2-weak-assign.m
diff --git a/clang.xcodeproj/project.pbxproj b/clang.xcodeproj/project.pbxproj
index c0ccb2e79733..9cb1c5fa47b1 100644
--- a/clang.xcodeproj/project.pbxproj
+++ b/clang.xcodeproj/project.pbxproj
@@ -33,6 +33,7 @@
1A471AB50F437BC500753CE8 /* CGBlocks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A471AB40F437BC500753CE8 /* CGBlocks.cpp */; };
1A5119C40FBDF71000A1FF22 /* SemaTemplateInstantiateStmt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A5119C30FBDF71000A1FF22 /* SemaTemplateInstantiateStmt.cpp */; };
1A5D5E580E5E81010023C059 /* CGCXX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A5D5E570E5E81010023C059 /* CGCXX.cpp */; };
+ 1A6FE7090FD6F85800E00CA9 /* CGCXXTemp.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A6FE7080FD6F85800E00CA9 /* CGCXXTemp.cpp */; };
1A701B640F7C8FE400FEC4D1 /* SemaAccess.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A701B630F7C8FE400FEC4D1 /* SemaAccess.cpp */; };
1A7342480C7B57D500122F56 /* CGObjC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A7342470C7B57D500122F56 /* CGObjC.cpp */; };
1A869A700BA2164C008DA07A /* LiteralSupport.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1A869A6E0BA2164C008DA07A /* LiteralSupport.h */; };
@@ -352,6 +353,7 @@
1A68BC110D0CADDD001A28C8 /* PPCBuiltins.def */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = text; name = PPCBuiltins.def; path = clang/AST/PPCBuiltins.def; sourceTree = ""; tabWidth = 2; };
1A68BC120D0CADDD001A28C8 /* TargetBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = TargetBuiltins.h; path = clang/AST/TargetBuiltins.h; sourceTree = ""; tabWidth = 2; };
1A68BC130D0CADDD001A28C8 /* X86Builtins.def */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = text; name = X86Builtins.def; path = clang/AST/X86Builtins.def; sourceTree = ""; tabWidth = 2; };
+ 1A6FE7080FD6F85800E00CA9 /* CGCXXTemp.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CGCXXTemp.cpp; path = lib/CodeGen/CGCXXTemp.cpp; sourceTree = ""; };
1A7019E90F79BC1100FEC4D1 /* DiagnosticAnalysisKinds.td */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DiagnosticAnalysisKinds.td; sourceTree = ""; };
1A7019EA0F79BC1100FEC4D1 /* DiagnosticASTKinds.td */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DiagnosticASTKinds.td; sourceTree = ""; };
1A7019EB0F79BC1100FEC4D1 /* DiagnosticCommonKinds.td */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DiagnosticCommonKinds.td; sourceTree = ""; };
@@ -1093,6 +1095,7 @@
35475B220E7997680000BFE4 /* CGCall.h */,
1A5D5E570E5E81010023C059 /* CGCXX.cpp */,
1A649E1E0F9599DA005B965E /* CGCXX.h */,
+ 1A6FE7080FD6F85800E00CA9 /* CGCXXTemp.cpp */,
35A3E7000DD3874400757F74 /* CGDebugInfo.cpp */,
35A3E7010DD3874400757F74 /* CGDebugInfo.h */,
DE4264FB0C113592005A861D /* CGDecl.cpp */,
@@ -1687,6 +1690,7 @@
1A2A54C30FD1DD1C00F4CE45 /* RewriteTest.cpp in Sources */,
1A2A54C40FD1DD1C00F4CE45 /* StmtXML.cpp in Sources */,
1A2A54C50FD1DD1C00F4CE45 /* Warnings.cpp in Sources */,
+ 1A6FE7090FD6F85800E00CA9 /* CGCXXTemp.cpp in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
diff --git a/docs/PCHInternals.html b/docs/PCHInternals.html
index ef1dd37b5555..7c0c1403fabc 100644
--- a/docs/PCHInternals.html
+++ b/docs/PCHInternals.html
@@ -16,7 +16,26 @@
view, please see the User's Manual.
-Using precompiled headers with clang-cc
+ Table of Contents
+
+
+Using Precompiled Headers with clang-cc
The low-level Clang compiler, clang-cc, supports two command
line options for generating and using PCH files.
@@ -36,7 +55,7 @@ with the -include-pch option:
$ clang-cc -include-pch test.h.pch test.c -o test.s
-PCH Design Philosophy
+Design Philosophy
Precompiled headers are meant to improve overall compile times for
projects, so the design of precompiled headers is entirely driven by
@@ -86,7 +105,7 @@ for a translation unit is proportional to the amount of code actually
used from the header, rather than being proportional to the size of
the header itself.