aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEd Schouten <ed@FreeBSD.org>2009-06-02 17:58:47 +0000
committerEd Schouten <ed@FreeBSD.org>2009-06-02 17:58:47 +0000
commitec2b103c267a06a66e926f62cd96767b280f5cf5 (patch)
treece7d964cbb5e39695b71481698f10cb099c23d4a
downloadsrc-ec2b103c267a06a66e926f62cd96767b280f5cf5.tar.gz
src-ec2b103c267a06a66e926f62cd96767b280f5cf5.zip
Import Clang, at r72732.vendor/clang/clang-r72732
Notes
Notes: svn path=/vendor/clang/dist/; revision=193326 svn path=/vendor/clang/clang-r72732/; revision=193327; tag=vendor/clang/clang-r72732
-rw-r--r--CMakeLists.txt56
-rw-r--r--INPUTS/Cocoa_h.m2
-rw-r--r--INPUTS/c99-intconst-1.c639
-rw-r--r--INPUTS/carbon_h.c4
-rw-r--r--INPUTS/iostream.cc5
-rw-r--r--INPUTS/macro_pounder_fn.c17
-rw-r--r--INPUTS/macro_pounder_obj.c16
-rw-r--r--INPUTS/stpcpy-test.c47
-rw-r--r--LICENSE.TXT63
-rw-r--r--Makefile32
-rw-r--r--ModuleInfo.txt5
-rw-r--r--NOTES.txt86
-rw-r--r--README.txt178
-rw-r--r--TODO.txt68
-rw-r--r--clang.xcodeproj/project.pbxproj1836
-rw-r--r--docs/AnalyzerRegions.html258
-rw-r--r--docs/BlockImplementation.txt647
-rw-r--r--docs/BlockLanguageSpec.txt165
-rw-r--r--docs/DriverArchitecture.pngbin0 -> 72966 bytes
-rw-r--r--docs/DriverInternals.html517
-rw-r--r--docs/InternalsManual.html1676
-rw-r--r--docs/LanguageExtensions.html327
-rw-r--r--docs/Makefile97
-rw-r--r--docs/PCHInternals.html71
-rw-r--r--docs/PTHInternals.html177
-rw-r--r--docs/UsersManual.html688
-rw-r--r--docs/doxygen.cfg1230
-rw-r--r--docs/doxygen.cfg.in1230
-rw-r--r--docs/doxygen.css378
-rw-r--r--docs/doxygen.footer10
-rw-r--r--docs/doxygen.header9
-rw-r--r--docs/doxygen.intro15
-rw-r--r--docs/index.html4
-rw-r--r--docs/tools/Makefile112
-rw-r--r--docs/tools/clang.pod514
-rw-r--r--docs/tools/manpage.css256
-rw-r--r--include/CMakeLists.txt1
-rw-r--r--include/Makefile4
-rw-r--r--include/clang/AST/APValue.h253
-rw-r--r--include/clang/AST/AST.h28
-rw-r--r--include/clang/AST/ASTConsumer.h81
-rw-r--r--include/clang/AST/ASTContext.h857
-rw-r--r--include/clang/AST/ASTDiagnostic.h27
-rw-r--r--include/clang/AST/Attr.h506
-rw-r--r--include/clang/AST/Builtins.def389
-rw-r--r--include/clang/AST/Builtins.h137
-rw-r--r--include/clang/AST/CFG.h405
-rw-r--r--include/clang/AST/Decl.h1409
-rw-r--r--include/clang/AST/DeclBase.h900
-rw-r--r--include/clang/AST/DeclCXX.h1073
-rw-r--r--include/clang/AST/DeclContextInternals.h220
-rw-r--r--include/clang/AST/DeclGroup.h152
-rw-r--r--include/clang/AST/DeclNodes.def161
-rw-r--r--include/clang/AST/DeclObjC.h1224
-rw-r--r--include/clang/AST/DeclTemplate.h859
-rw-r--r--include/clang/AST/DeclVisitor.h54
-rw-r--r--include/clang/AST/DeclarationName.h357
-rw-r--r--include/clang/AST/Expr.h2500
-rw-r--r--include/clang/AST/ExprCXX.h1234
-rw-r--r--include/clang/AST/ExprObjC.h494
-rw-r--r--include/clang/AST/ExternalASTSource.h184
-rw-r--r--include/clang/AST/NestedNameSpecifier.h183
-rw-r--r--include/clang/AST/PPCBuiltins.def24
-rw-r--r--include/clang/AST/ParentMap.h50
-rw-r--r--include/clang/AST/PrettyPrinter.h86
-rw-r--r--include/clang/AST/RecordLayout.h103
-rw-r--r--include/clang/AST/Stmt.h1223
-rw-r--r--include/clang/AST/StmtCXX.h100
-rw-r--r--include/clang/AST/StmtGraphTraits.h83
-rw-r--r--include/clang/AST/StmtIterator.h145
-rw-r--r--include/clang/AST/StmtNodes.def156
-rw-r--r--include/clang/AST/StmtObjC.h307
-rw-r--r--include/clang/AST/StmtVisitor.h176
-rw-r--r--include/clang/AST/TargetBuiltins.h38
-rw-r--r--include/clang/AST/TemplateName.h258
-rw-r--r--include/clang/AST/Type.h1977
-rw-r--r--include/clang/AST/TypeNodes.def85
-rw-r--r--include/clang/AST/TypeOrdering.h63
-rw-r--r--include/clang/AST/X86Builtins.def427
-rw-r--r--include/clang/Analysis/Analyses/LiveVariables.h119
-rw-r--r--include/clang/Analysis/Analyses/UninitializedValues.h74
-rw-r--r--include/clang/Analysis/AnalysisDiagnostic.h27
-rw-r--r--include/clang/Analysis/FlowSensitive/DataflowSolver.h291
-rw-r--r--include/clang/Analysis/FlowSensitive/DataflowValues.h172
-rw-r--r--include/clang/Analysis/LocalCheckers.h54
-rw-r--r--include/clang/Analysis/PathDiagnostic.h487
-rw-r--r--include/clang/Analysis/PathSensitive/BasicValueFactory.h163
-rw-r--r--include/clang/Analysis/PathSensitive/BugReporter.h466
-rw-r--r--include/clang/Analysis/PathSensitive/ConstraintManager.h67
-rw-r--r--include/clang/Analysis/PathSensitive/Environment.h151
-rw-r--r--include/clang/Analysis/PathSensitive/ExplodedGraph.h582
-rw-r--r--include/clang/Analysis/PathSensitive/GRAuditor.h39
-rw-r--r--include/clang/Analysis/PathSensitive/GRBlockCounter.h50
-rw-r--r--include/clang/Analysis/PathSensitive/GRCoreEngine.h668
-rw-r--r--include/clang/Analysis/PathSensitive/GRExprEngine.h738
-rw-r--r--include/clang/Analysis/PathSensitive/GRExprEngineBuilders.h101
-rw-r--r--include/clang/Analysis/PathSensitive/GRSimpleAPICheck.h40
-rw-r--r--include/clang/Analysis/PathSensitive/GRState.h820
-rw-r--r--include/clang/Analysis/PathSensitive/GRStateTrait.h148
-rw-r--r--include/clang/Analysis/PathSensitive/GRTransferFuncs.h123
-rw-r--r--include/clang/Analysis/PathSensitive/GRWorkList.h76
-rw-r--r--include/clang/Analysis/PathSensitive/MemRegion.h665
-rw-r--r--include/clang/Analysis/PathSensitive/SVals.h447
-rw-r--r--include/clang/Analysis/PathSensitive/Store.h204
-rw-r--r--include/clang/Analysis/PathSensitive/SymbolManager.h329
-rw-r--r--include/clang/Analysis/PathSensitive/ValueManager.h103
-rw-r--r--include/clang/Analysis/ProgramPoint.h351
-rw-r--r--include/clang/Analysis/Support/BlkExprDeclBitVector.h307
-rw-r--r--include/clang/Analysis/Visitors/CFGRecStmtDeclVisitor.h91
-rw-r--r--include/clang/Analysis/Visitors/CFGRecStmtVisitor.h35
-rw-r--r--include/clang/Analysis/Visitors/CFGStmtVisitor.h156
-rw-r--r--include/clang/Analysis/Visitors/CFGVarDeclVisitor.h64
-rw-r--r--include/clang/Basic/CMakeLists.txt20
-rw-r--r--include/clang/Basic/ConvertUTF.h159
-rw-r--r--include/clang/Basic/Diagnostic.h697
-rw-r--r--include/clang/Basic/Diagnostic.td73
-rw-r--r--include/clang/Basic/DiagnosticASTKinds.td29
-rw-r--r--include/clang/Basic/DiagnosticAnalysisKinds.td15
-rw-r--r--include/clang/Basic/DiagnosticCommonKinds.td58
-rw-r--r--include/clang/Basic/DiagnosticDriverKinds.td64
-rw-r--r--include/clang/Basic/DiagnosticFrontendKinds.td136
-rw-r--r--include/clang/Basic/DiagnosticGroups.td133
-rw-r--r--include/clang/Basic/DiagnosticLexKinds.td277
-rw-r--r--include/clang/Basic/DiagnosticParseKinds.td280
-rw-r--r--include/clang/Basic/DiagnosticSemaKinds.td1822
-rw-r--r--include/clang/Basic/FileManager.h178
-rw-r--r--include/clang/Basic/IdentifierTable.h561
-rw-r--r--include/clang/Basic/LangOptions.h157
-rw-r--r--include/clang/Basic/Makefile22
-rw-r--r--include/clang/Basic/OnDiskHashTable.h362
-rw-r--r--include/clang/Basic/OperatorKinds.def106
-rw-r--r--include/clang/Basic/OperatorKinds.h32
-rw-r--r--include/clang/Basic/PrettyStackTrace.h37
-rw-r--r--include/clang/Basic/SourceLocation.h305
-rw-r--r--include/clang/Basic/SourceManager.h714
-rw-r--r--include/clang/Basic/SourceManagerInternals.h130
-rw-r--r--include/clang/Basic/TargetInfo.h391
-rw-r--r--include/clang/Basic/TemplateKinds.h39
-rw-r--r--include/clang/Basic/TokenKinds.def413
-rw-r--r--include/clang/Basic/TokenKinds.h64
-rw-r--r--include/clang/Basic/TypeTraits.h40
-rw-r--r--include/clang/Basic/Version.h35
-rw-r--r--include/clang/CMakeLists.txt1
-rw-r--r--include/clang/CodeGen/ModuleBuilder.h40
-rw-r--r--include/clang/Driver/Action.h209
-rw-r--r--include/clang/Driver/Arg.h230
-rw-r--r--include/clang/Driver/ArgList.h245
-rw-r--r--include/clang/Driver/Compilation.h127
-rw-r--r--include/clang/Driver/Driver.h271
-rw-r--r--include/clang/Driver/DriverDiagnostic.h27
-rw-r--r--include/clang/Driver/HostInfo.h84
-rw-r--r--include/clang/Driver/Job.h138
-rw-r--r--include/clang/Driver/Option.h308
-rw-r--r--include/clang/Driver/Options.def624
-rw-r--r--include/clang/Driver/Options.h90
-rw-r--r--include/clang/Driver/Phases.h32
-rw-r--r--include/clang/Driver/Tool.h69
-rw-r--r--include/clang/Driver/ToolChain.h105
-rw-r--r--include/clang/Driver/Types.def78
-rw-r--r--include/clang/Driver/Types.h85
-rw-r--r--include/clang/Driver/Util.h30
-rw-r--r--include/clang/Frontend/ASTConsumers.h107
-rw-r--r--include/clang/Frontend/Analyses.def77
-rw-r--r--include/clang/Frontend/AnalysisConsumer.h78
-rw-r--r--include/clang/Frontend/CompileOptions.h62
-rw-r--r--include/clang/Frontend/DocumentXML.h128
-rw-r--r--include/clang/Frontend/FixItRewriter.h95
-rw-r--r--include/clang/Frontend/FrontendDiagnostic.h27
-rw-r--r--include/clang/Frontend/InitHeaderSearch.h74
-rw-r--r--include/clang/Frontend/InitPreprocessor.h70
-rw-r--r--include/clang/Frontend/ManagerRegistry.h53
-rw-r--r--include/clang/Frontend/PCHBitCodes.h660
-rw-r--r--include/clang/Frontend/PCHReader.h567
-rw-r--r--include/clang/Frontend/PCHWriter.h278
-rw-r--r--include/clang/Frontend/PathDiagnosticClients.h34
-rw-r--r--include/clang/Frontend/TextDiagnosticBuffer.h48
-rw-r--r--include/clang/Frontend/TextDiagnosticPrinter.h85
-rw-r--r--include/clang/Frontend/Utils.h79
-rw-r--r--include/clang/Lex/DirectoryLookup.h133
-rw-r--r--include/clang/Lex/HeaderMap.h67
-rw-r--r--include/clang/Lex/HeaderSearch.h237
-rw-r--r--include/clang/Lex/LexDiagnostic.h27
-rw-r--r--include/clang/Lex/Lexer.h376
-rw-r--r--include/clang/Lex/LiteralSupport.h176
-rw-r--r--include/clang/Lex/MacroInfo.h218
-rw-r--r--include/clang/Lex/MultipleIncludeOpt.h130
-rw-r--r--include/clang/Lex/PPCallbacks.h122
-rw-r--r--include/clang/Lex/PTHLexer.h104
-rw-r--r--include/clang/Lex/PTHManager.h141
-rw-r--r--include/clang/Lex/Pragma.h90
-rw-r--r--include/clang/Lex/Preprocessor.h801
-rw-r--r--include/clang/Lex/PreprocessorLexer.h161
-rw-r--r--include/clang/Lex/ScratchBuffer.h45
-rw-r--r--include/clang/Lex/Token.h312
-rw-r--r--include/clang/Lex/TokenConcatenation.h73
-rw-r--r--include/clang/Lex/TokenLexer.h154
-rw-r--r--include/clang/Makefile4
-rw-r--r--include/clang/Parse/AccessSpecifier.h30
-rw-r--r--include/clang/Parse/Action.h1839
-rw-r--r--include/clang/Parse/AttributeList.h173
-rw-r--r--include/clang/Parse/DeclSpec.h1086
-rw-r--r--include/clang/Parse/Designator.h239
-rw-r--r--include/clang/Parse/Ownership.h830
-rw-r--r--include/clang/Parse/ParseDiagnostic.h27
-rw-r--r--include/clang/Parse/Parser.h1208
-rw-r--r--include/clang/Parse/Scope.h310
-rw-r--r--include/clang/Rewrite/DeltaTree.h48
-rw-r--r--include/clang/Rewrite/HTMLRewrite.h82
-rw-r--r--include/clang/Rewrite/RewriteRope.h230
-rw-r--r--include/clang/Rewrite/Rewriter.h238
-rw-r--r--include/clang/Rewrite/TokenRewriter.h79
-rw-r--r--include/clang/Sema/ExternalSemaSource.h56
-rw-r--r--include/clang/Sema/ParseAST.h37
-rw-r--r--include/clang/Sema/SemaConsumer.h45
-rw-r--r--include/clang/Sema/SemaDiagnostic.h27
-rw-r--r--lib/AST/APValue.cpp108
-rw-r--r--lib/AST/ASTConsumer.cpp19
-rw-r--r--lib/AST/ASTContext.cpp3332
-rw-r--r--lib/AST/Builtins.cpp290
-rw-r--r--lib/AST/CFG.cpp1913
-rw-r--r--lib/AST/CMakeLists.txt32
-rw-r--r--lib/AST/Decl.cpp630
-rw-r--r--lib/AST/DeclBase.cpp756
-rw-r--r--lib/AST/DeclCXX.cpp462
-rw-r--r--lib/AST/DeclGroup.cpp37
-rw-r--r--lib/AST/DeclObjC.cpp693
-rw-r--r--lib/AST/DeclPrinter.cpp722
-rw-r--r--lib/AST/DeclTemplate.cpp324
-rw-r--r--lib/AST/DeclarationName.cpp355
-rw-r--r--lib/AST/Expr.cpp2059
-rw-r--r--lib/AST/ExprCXX.cpp424
-rw-r--r--lib/AST/ExprConstant.cpp1723
-rw-r--r--lib/AST/InheritViz.cpp168
-rw-r--r--lib/AST/Makefile22
-rw-r--r--lib/AST/NestedNameSpecifier.cpp160
-rw-r--r--lib/AST/ParentMap.cpp94
-rw-r--r--lib/AST/Stmt.cpp587
-rw-r--r--lib/AST/StmtDumper.cpp542
-rw-r--r--lib/AST/StmtIterator.cpp155
-rw-r--r--lib/AST/StmtPrinter.cpp1239
-rw-r--r--lib/AST/StmtViz.cpp61
-rw-r--r--lib/AST/TemplateName.cpp65
-rw-r--r--lib/AST/Type.cpp1658
-rw-r--r--lib/Analysis/BasicConstraintManager.cpp342
-rw-r--r--lib/Analysis/BasicObjCFoundationChecks.cpp492
-rw-r--r--lib/Analysis/BasicObjCFoundationChecks.h47
-rw-r--r--lib/Analysis/BasicStore.cpp637
-rw-r--r--lib/Analysis/BasicValueFactory.cpp264
-rw-r--r--lib/Analysis/BugReporter.cpp1697
-rw-r--r--lib/Analysis/CFRefCount.cpp3635
-rw-r--r--lib/Analysis/CMakeLists.txt36
-rw-r--r--lib/Analysis/CheckDeadStores.cpp259
-rw-r--r--lib/Analysis/CheckNSError.cpp231
-rw-r--r--lib/Analysis/CheckObjCDealloc.cpp257
-rw-r--r--lib/Analysis/CheckObjCInstMethSignature.cpp120
-rw-r--r--lib/Analysis/CheckObjCUnusedIVars.cpp111
-rw-r--r--lib/Analysis/Environment.cpp167
-rw-r--r--lib/Analysis/ExplodedGraph.cpp241
-rw-r--r--lib/Analysis/GRBlockCounter.cpp54
-rw-r--r--lib/Analysis/GRCoreEngine.cpp576
-rw-r--r--lib/Analysis/GRExprEngine.cpp3426
-rw-r--r--lib/Analysis/GRExprEngineInternalChecks.cpp961
-rw-r--r--lib/Analysis/GRSimpleVals.cpp416
-rw-r--r--lib/Analysis/GRSimpleVals.h86
-rw-r--r--lib/Analysis/GRState.cpp318
-rw-r--r--lib/Analysis/GRTransferFuncs.cpp28
-rw-r--r--lib/Analysis/LiveVariables.cpp359
-rw-r--r--lib/Analysis/Makefile22
-rw-r--r--lib/Analysis/MemRegion.cpp494
-rw-r--r--lib/Analysis/PathDiagnostic.cpp242
-rw-r--r--lib/Analysis/RangeConstraintManager.cpp363
-rw-r--r--lib/Analysis/RegionStore.cpp1304
-rw-r--r--lib/Analysis/SVals.cpp513
-rw-r--r--lib/Analysis/SimpleConstraintManager.cpp263
-rw-r--r--lib/Analysis/SimpleConstraintManager.h84
-rw-r--r--lib/Analysis/Store.cpp110
-rw-r--r--lib/Analysis/SymbolManager.cpp203
-rw-r--r--lib/Analysis/UninitializedValues.cpp312
-rw-r--r--lib/Basic/CMakeLists.txt24
-rw-r--r--lib/Basic/ConvertUTF.c547
-rw-r--r--lib/Basic/Diagnostic.cpp788
-rw-r--r--lib/Basic/FileManager.cpp302
-rw-r--r--lib/Basic/IdentifierTable.cpp388
-rw-r--r--lib/Basic/Makefile22
-rw-r--r--lib/Basic/SourceLocation.cpp125
-rw-r--r--lib/Basic/SourceManager.cpp943
-rw-r--r--lib/Basic/TargetInfo.cpp295
-rw-r--r--lib/Basic/Targets.cpp1500
-rw-r--r--lib/Basic/TokenKinds.cpp90
-rw-r--r--lib/CMakeLists.txt11
-rw-r--r--lib/CodeGen/ABIInfo.h133
-rw-r--r--lib/CodeGen/CGBlocks.cpp1037
-rw-r--r--lib/CodeGen/CGBlocks.h223
-rw-r--r--lib/CodeGen/CGBuilder.h26
-rw-r--r--lib/CodeGen/CGBuiltin.cpp1037
-rw-r--r--lib/CodeGen/CGCXX.cpp454
-rw-r--r--lib/CodeGen/CGCXX.h36
-rw-r--r--lib/CodeGen/CGCall.cpp2196
-rw-r--r--lib/CodeGen/CGCall.h104
-rw-r--r--lib/CodeGen/CGDebugInfo.cpp987
-rw-r--r--lib/CodeGen/CGDebugInfo.h126
-rw-r--r--lib/CodeGen/CGDecl.cpp489
-rw-r--r--lib/CodeGen/CGExpr.cpp1324
-rw-r--r--lib/CodeGen/CGExprAgg.cpp554
-rw-r--r--lib/CodeGen/CGExprComplex.cpp663
-rw-r--r--lib/CodeGen/CGExprConstant.cpp588
-rw-r--r--lib/CodeGen/CGExprScalar.cpp1575
-rw-r--r--lib/CodeGen/CGObjC.cpp644
-rw-r--r--lib/CodeGen/CGObjCGNU.cpp1582
-rw-r--r--lib/CodeGen/CGObjCMac.cpp5780
-rw-r--r--lib/CodeGen/CGObjCRuntime.h206
-rw-r--r--lib/CodeGen/CGStmt.cpp1022
-rw-r--r--lib/CodeGen/CGValue.h323
-rw-r--r--lib/CodeGen/CMakeLists.txt24
-rw-r--r--lib/CodeGen/CodeGenFunction.cpp714
-rw-r--r--lib/CodeGen/CodeGenFunction.h900
-rw-r--r--lib/CodeGen/CodeGenModule.cpp1543
-rw-r--r--lib/CodeGen/CodeGenModule.h467
-rw-r--r--lib/CodeGen/CodeGenTypes.cpp614
-rw-r--r--lib/CodeGen/CodeGenTypes.h212
-rw-r--r--lib/CodeGen/Makefile23
-rw-r--r--lib/CodeGen/Mangle.cpp772
-rw-r--r--lib/CodeGen/Mangle.h44
-rw-r--r--lib/CodeGen/ModuleBuilder.cpp100
-rw-r--r--lib/CodeGen/README.txt65
-rw-r--r--lib/Driver/Action.cpp79
-rw-r--r--lib/Driver/Arg.cpp192
-rw-r--r--lib/Driver/ArgList.cpp232
-rw-r--r--lib/Driver/CMakeLists.txt19
-rw-r--r--lib/Driver/Compilation.cpp174
-rw-r--r--lib/Driver/Driver.cpp1254
-rw-r--r--lib/Driver/HostInfo.cpp408
-rw-r--r--lib/Driver/InputInfo.h101
-rw-r--r--lib/Driver/Job.cpp31
-rw-r--r--lib/Driver/Makefile28
-rw-r--r--lib/Driver/OptTable.cpp265
-rw-r--r--lib/Driver/Option.cpp250
-rw-r--r--lib/Driver/Phases.cpp27
-rw-r--r--lib/Driver/Tool.cpp19
-rw-r--r--lib/Driver/ToolChain.cpp35
-rw-r--r--lib/Driver/ToolChains.cpp475
-rw-r--r--lib/Driver/ToolChains.h134
-rw-r--r--lib/Driver/Tools.cpp2033
-rw-r--r--lib/Driver/Tools.h316
-rw-r--r--lib/Driver/Types.cpp205
-rw-r--r--lib/Frontend/ASTConsumers.cpp451
-rw-r--r--lib/Frontend/AnalysisConsumer.cpp659
-rw-r--r--lib/Frontend/Backend.cpp415
-rw-r--r--lib/Frontend/CMakeLists.txt35
-rw-r--r--lib/Frontend/CacheTokens.cpp658
-rw-r--r--lib/Frontend/DependencyFile.cpp169
-rw-r--r--lib/Frontend/DiagChecker.cpp302
-rw-r--r--lib/Frontend/DocumentXML.cpp579
-rw-r--r--lib/Frontend/FixItRewriter.cpp199
-rw-r--r--lib/Frontend/GeneratePCH.cpp78
-rw-r--r--lib/Frontend/HTMLDiagnostics.cpp602
-rw-r--r--lib/Frontend/HTMLPrint.cpp92
-rw-r--r--lib/Frontend/InitHeaderSearch.cpp327
-rw-r--r--lib/Frontend/InitPreprocessor.cpp495
-rw-r--r--lib/Frontend/Makefile18
-rw-r--r--lib/Frontend/ManagerRegistry.cpp20
-rw-r--r--lib/Frontend/PCHReader.cpp2260
-rw-r--r--lib/Frontend/PCHReaderDecl.cpp712
-rw-r--r--lib/Frontend/PCHReaderStmt.cpp1136
-rw-r--r--lib/Frontend/PCHWriter.cpp1966
-rw-r--r--lib/Frontend/PCHWriterDecl.cpp532
-rw-r--r--lib/Frontend/PCHWriterStmt.cpp829
-rw-r--r--lib/Frontend/PlistDiagnostics.cpp389
-rw-r--r--lib/Frontend/PrintParserCallbacks.cpp831
-rw-r--r--lib/Frontend/PrintPreprocessedOutput.cpp470
-rw-r--r--lib/Frontend/RewriteBlocks.cpp1162
-rw-r--r--lib/Frontend/RewriteMacros.cpp215
-rw-r--r--lib/Frontend/RewriteObjC.cpp4693
-rw-r--r--lib/Frontend/RewriteTest.cpp39
-rw-r--r--lib/Frontend/StmtXML.cpp409
-rw-r--r--lib/Frontend/TextDiagnosticBuffer.cpp39
-rw-r--r--lib/Frontend/TextDiagnosticPrinter.cpp710
-rw-r--r--lib/Frontend/Warnings.cpp106
-rw-r--r--lib/Headers/CMakeLists.txt25
-rw-r--r--lib/Headers/Makefile40
-rw-r--r--lib/Headers/emmintrin.h1329
-rw-r--r--lib/Headers/float.h71
-rw-r--r--lib/Headers/iso646.h43
-rw-r--r--lib/Headers/limits.h114
-rw-r--r--lib/Headers/mm_malloc.h59
-rw-r--r--lib/Headers/mmintrin.h449
-rw-r--r--lib/Headers/pmmintrin.h121
-rw-r--r--lib/Headers/stdarg.h47
-rw-r--r--lib/Headers/stdbool.h38
-rw-r--r--lib/Headers/stddef.h43
-rw-r--r--lib/Headers/stdint.h232
-rw-r--r--lib/Headers/tgmath.h1358
-rw-r--r--lib/Headers/tmmintrin.h218
-rw-r--r--lib/Headers/xmmintrin.h888
-rw-r--r--lib/Lex/CMakeLists.txt26
-rw-r--r--lib/Lex/HeaderMap.cpp245
-rw-r--r--lib/Lex/HeaderSearch.cpp446
-rw-r--r--lib/Lex/Lexer.cpp1809
-rw-r--r--lib/Lex/LiteralSupport.cpp929
-rw-r--r--lib/Lex/MacroArgs.cpp240
-rw-r--r--lib/Lex/MacroArgs.h109
-rw-r--r--lib/Lex/MacroInfo.cpp75
-rw-r--r--lib/Lex/Makefile28
-rw-r--r--lib/Lex/PPCaching.cpp113
-rw-r--r--lib/Lex/PPDirectives.cpp1665
-rw-r--r--lib/Lex/PPExpressions.cpp717
-rw-r--r--lib/Lex/PPLexerChange.cpp345
-rw-r--r--lib/Lex/PPMacroExpansion.cpp605
-rw-r--r--lib/Lex/PTHLexer.cpp701
-rw-r--r--lib/Lex/Pragma.cpp699
-rw-r--r--lib/Lex/Preprocessor.cpp478
-rw-r--r--lib/Lex/PreprocessorLexer.cpp45
-rw-r--r--lib/Lex/ScratchBuffer.cpp73
-rw-r--r--lib/Lex/TokenConcatenation.cpp219
-rw-r--r--lib/Lex/TokenLexer.cpp542
-rwxr-xr-xlib/Makefile15
-rw-r--r--lib/Parse/AttributeList.cpp145
-rw-r--r--lib/Parse/CMakeLists.txt21
-rw-r--r--lib/Parse/DeclSpec.cpp395
-rw-r--r--lib/Parse/ExtensionRAIIObject.h40
-rw-r--r--lib/Parse/Makefile22
-rw-r--r--lib/Parse/MinimalAction.cpp225
-rw-r--r--lib/Parse/ParseCXXInlineMethods.cpp271
-rw-r--r--lib/Parse/ParseDecl.cpp2707
-rw-r--r--lib/Parse/ParseDeclCXX.cpp1292
-rw-r--r--lib/Parse/ParseExpr.cpp1514
-rw-r--r--lib/Parse/ParseExprCXX.cpp1166
-rw-r--r--lib/Parse/ParseInit.cpp308
-rw-r--r--lib/Parse/ParseObjc.cpp1708
-rw-r--r--lib/Parse/ParsePragma.cpp182
-rw-r--r--lib/Parse/ParsePragma.h44
-rw-r--r--lib/Parse/ParseStmt.cpp1435
-rw-r--r--lib/Parse/ParseTemplate.cpp812
-rw-r--r--lib/Parse/ParseTentative.cpp920
-rw-r--r--lib/Parse/Parser.cpp996
-rw-r--r--lib/Rewrite/CMakeLists.txt9
-rw-r--r--lib/Rewrite/DeltaTree.cpp485
-rw-r--r--lib/Rewrite/HTMLRewrite.cpp574
-rw-r--r--lib/Rewrite/Makefile22
-rw-r--r--lib/Rewrite/RewriteRope.cpp807
-rw-r--r--lib/Rewrite/Rewriter.cpp228
-rw-r--r--lib/Rewrite/TokenRewriter.cpp98
-rw-r--r--lib/Sema/CMakeLists.txt33
-rw-r--r--lib/Sema/CXXFieldCollector.h76
-rw-r--r--lib/Sema/IdentifierResolver.cpp293
-rw-r--r--lib/Sema/IdentifierResolver.h214
-rw-r--r--lib/Sema/JumpDiagnostics.cpp327
-rw-r--r--lib/Sema/Makefile23
-rw-r--r--lib/Sema/ParseAST.cpp85
-rw-r--r--lib/Sema/Sema.cpp333
-rw-r--r--lib/Sema/Sema.h2814
-rw-r--r--lib/Sema/SemaAccess.cpp124
-rw-r--r--lib/Sema/SemaAttr.cpp211
-rw-r--r--lib/Sema/SemaCXXScopeSpec.cpp312
-rw-r--r--lib/Sema/SemaChecking.cpp1449
-rw-r--r--lib/Sema/SemaDecl.cpp4415
-rw-r--r--lib/Sema/SemaDeclAttr.cpp1803
-rw-r--r--lib/Sema/SemaDeclCXX.cpp2823
-rw-r--r--lib/Sema/SemaDeclObjC.cpp2166
-rw-r--r--lib/Sema/SemaExpr.cpp5395
-rw-r--r--lib/Sema/SemaExprCXX.cpp1603
-rw-r--r--lib/Sema/SemaExprObjC.cpp860
-rw-r--r--lib/Sema/SemaInherit.cpp344
-rw-r--r--lib/Sema/SemaInherit.h248
-rw-r--r--lib/Sema/SemaInit.cpp1784
-rw-r--r--lib/Sema/SemaLookup.cpp1626
-rw-r--r--lib/Sema/SemaNamedCast.cpp932
-rw-r--r--lib/Sema/SemaOverload.cpp4485
-rw-r--r--lib/Sema/SemaOverload.h263
-rw-r--r--lib/Sema/SemaStmt.cpp1266
-rw-r--r--lib/Sema/SemaTemplate.cpp2651
-rw-r--r--lib/Sema/SemaTemplateInstantiate.cpp1034
-rw-r--r--lib/Sema/SemaTemplateInstantiateDecl.cpp767
-rw-r--r--lib/Sema/SemaTemplateInstantiateExpr.cpp1278
-rw-r--r--lib/Sema/SemaTemplateInstantiateStmt.cpp443
-rw-r--r--lib/Sema/SemaType.cpp1301
-rw-r--r--test/Analysis/CFDateGC.m87
-rw-r--r--test/Analysis/CFNumber.c31
-rw-r--r--test/Analysis/CFRetainRelease_NSAssertionHandler.m67
-rw-r--r--test/Analysis/CGColorSpace.c21
-rw-r--r--test/Analysis/CheckNSError.m59
-rw-r--r--test/Analysis/MissingDealloc.m117
-rw-r--r--test/Analysis/NSPanel.m90
-rw-r--r--test/Analysis/NSString.m335
-rw-r--r--test/Analysis/NSWindow.m89
-rw-r--r--test/Analysis/NoReturn.m82
-rw-r--r--test/Analysis/ObjCProperties.m25
-rw-r--r--test/Analysis/ObjCRetSigs.m25
-rw-r--r--test/Analysis/PR2599.m64
-rw-r--r--test/Analysis/PR2978.m61
-rw-r--r--test/Analysis/PR3991.m67
-rw-r--r--test/Analysis/array-struct.c150
-rw-r--r--test/Analysis/basicstore_wine_crash.c11
-rw-r--r--test/Analysis/casts.c16
-rw-r--r--test/Analysis/casts.m22
-rw-r--r--test/Analysis/cfref_PR2519.c48
-rw-r--r--test/Analysis/cfref_rdar6080742.c58
-rw-r--r--test/Analysis/complex.c21
-rw-r--r--test/Analysis/conditional-op-missing-lhs.c26
-rw-r--r--test/Analysis/dead-stores.c175
-rw-r--r--test/Analysis/dead-stores.m36
-rw-r--r--test/Analysis/delegates.m114
-rw-r--r--test/Analysis/exercise-ps.c25
-rw-r--r--test/Analysis/fields.c10
-rw-r--r--test/Analysis/func.c17
-rw-r--r--test/Analysis/misc-ps-64.m49
-rw-r--r--test/Analysis/misc-ps-basic-store.m21
-rw-r--r--test/Analysis/misc-ps-eager-assume.m79
-rw-r--r--test/Analysis/misc-ps-ranges.m23
-rw-r--r--test/Analysis/misc-ps-region-store.m70
-rw-r--r--test/Analysis/misc-ps.m287
-rw-r--r--test/Analysis/nil-receiver-undefined-larger-than-voidptr-ret.m67
-rw-r--r--test/Analysis/no-exit-cfg.c19
-rw-r--r--test/Analysis/no-outofbounds-basicstore.c7
-rw-r--r--test/Analysis/null-deref-ps-region.c14
-rw-r--r--test/Analysis/null-deref-ps.c265
-rw-r--r--test/Analysis/outofbound.c7
-rw-r--r--test/Analysis/override-werror.c15
-rw-r--r--test/Analysis/pr4209.m70
-rw-r--r--test/Analysis/pr_2542_rdar_6793404.m68
-rw-r--r--test/Analysis/pr_4164.c41
-rw-r--r--test/Analysis/ptr-arith.c34
-rw-r--r--test/Analysis/rdar-6442306-1.m31
-rw-r--r--test/Analysis/rdar-6539791.c47
-rw-r--r--test/Analysis/rdar-6540084.m36
-rw-r--r--test/Analysis/rdar-6541136-region.c19
-rw-r--r--test/Analysis/rdar-6541136.c20
-rw-r--r--test/Analysis/rdar-6562655.m63
-rw-r--r--test/Analysis/rdar-6582778-basic-store.c22
-rw-r--r--test/Analysis/rdar-6600344-nil-receiver-undefined-struct-ret.m25
-rw-r--r--test/Analysis/refcnt_naming.m62
-rw-r--r--test/Analysis/region-1.m90
-rw-r--r--test/Analysis/region-only-test.c13
-rw-r--r--test/Analysis/retain-release-basic-store.m102
-rw-r--r--test/Analysis/retain-release-gc-only.m161
-rw-r--r--test/Analysis/retain-release-region-store.m118
-rw-r--r--test/Analysis/retain-release.m708
-rw-r--r--test/Analysis/stack-addr-ps.c44
-rw-r--r--test/Analysis/uninit-msg-expr.m58
-rw-r--r--test/Analysis/uninit-ps-rdar6145427.m37
-rw-r--r--test/Analysis/uninit-vals-ps-region.c17
-rw-r--r--test/Analysis/uninit-vals-ps.c85
-rw-r--r--test/Analysis/uninit-vals.c53
-rw-r--r--test/Analysis/uninit-vals.m25
-rw-r--r--test/Analysis/unused-ivars.m10
-rw-r--r--test/Analysis/xfail-no-outofbounds.c7
-rw-r--r--test/Analysis/xfail_regionstore_wine_crash.c12
-rw-r--r--test/CodeGen/2007-11-29-ArraySizeFromInitializer.c4
-rw-r--r--test/CodeGen/2008-02-07-bitfield-bug.c11
-rw-r--r--test/CodeGen/2008-02-08-bitfield-bug.c9
-rw-r--r--test/CodeGen/2008-02-26-inline-asm-bug.c6
-rw-r--r--test/CodeGen/2008-07-17-no-emit-on-error.c10
-rw-r--r--test/CodeGen/2008-07-21-mixed-var-fn-decl.c5
-rw-r--r--test/CodeGen/2008-07-22-bitfield-init-after-zero-len-array.c11
-rw-r--r--test/CodeGen/2008-07-22-packed-bitfield-access.c10
-rw-r--r--test/CodeGen/2008-07-29-override-alias-decl.c12
-rw-r--r--test/CodeGen/2008-07-30-implicit-initialization.c28
-rw-r--r--test/CodeGen/2008-07-30-redef-of-bitcasted-decl.c28
-rw-r--r--test/CodeGen/2008-07-31-asm-labels.c33
-rw-r--r--test/CodeGen/2008-07-31-promotion-of-compound-pointer-arithmetic.c25
-rw-r--r--test/CodeGen/2008-08-04-void-pointer-arithmetic.c6
-rw-r--r--test/CodeGen/2008-08-19-cast-of-typedef.c10
-rw-r--r--test/CodeGen/2008-08-25-incompatible-cond-expr.m10
-rw-r--r--test/CodeGen/2008-09-22-bad-switch-type.c34
-rw-r--r--test/CodeGen/2008-12-02-logical-or-fold.c4
-rw-r--r--test/CodeGen/2009-01-21-invalid-debug-info.m16
-rw-r--r--test/CodeGen/2009-03-22-increment-bitfield.c7
-rw-r--r--test/CodeGen/2009-04-23-dbg.c20
-rw-r--r--test/CodeGen/2009-05-22-callingconv.c25
-rw-r--r--test/CodeGen/2009-05-28-const-typedef.c17
-rw-r--r--test/CodeGen/2009-06-01-addrofknr.c21
-rw-r--r--test/CodeGen/OpaqueStruct.c12
-rw-r--r--test/CodeGen/PR2001-bitfield-reload.c17
-rw-r--r--test/CodeGen/PR2413-void-address-cast-error.c6
-rw-r--r--test/CodeGen/PR2643-null-store-to-bitfield.c10
-rw-r--r--test/CodeGen/PR2743-reference-missing-static.c16
-rw-r--r--test/CodeGen/PR3130-cond-constant.c3
-rw-r--r--test/CodeGen/PR3589-freestanding-libcalls.c9
-rw-r--r--test/CodeGen/PR3613-static-decl.c16
-rw-r--r--test/CodeGen/PR3709-int-to-pointer-sign.c5
-rw-r--r--test/CodeGen/PR3869-indirect-goto-long.c4
-rw-r--r--test/CodeGen/address-space-cast.c4
-rw-r--r--test/CodeGen/address-space.c20
-rw-r--r--test/CodeGen/alias.c32
-rw-r--r--test/CodeGen/align-local.c8
-rw-r--r--test/CodeGen/alignof.c12
-rw-r--r--test/CodeGen/array.c14
-rw-r--r--test/CodeGen/asm-2.c10
-rw-r--r--test/CodeGen/asm.c103
-rw-r--r--test/CodeGen/atomic.c53
-rw-r--r--test/CodeGen/attr-cleanup.c8
-rw-r--r--test/CodeGen/attr-nodebug.c12
-rw-r--r--test/CodeGen/attr-noinline.c9
-rw-r--r--test/CodeGen/attr-used.c14
-rw-r--r--test/CodeGen/attributes.c59
-rw-r--r--test/CodeGen/bitfield-assign.c44
-rw-r--r--test/CodeGen/bitfield-init.c14
-rw-r--r--test/CodeGen/bitfield-promote.c19
-rw-r--r--test/CodeGen/bitfield.c74
-rw-r--r--test/CodeGen/blocks-1.c78
-rw-r--r--test/CodeGen/blocks-2.c13
-rw-r--r--test/CodeGen/blocks-seq.c18
-rw-r--r--test/CodeGen/blocks.c30
-rw-r--r--test/CodeGen/bool-bitfield.c54
-rw-r--r--test/CodeGen/bool-convert.c10
-rw-r--r--test/CodeGen/bool-init.c4
-rw-r--r--test/CodeGen/boolassign.c6
-rw-r--r--test/CodeGen/builtin-count-zeros.c4
-rw-r--r--test/CodeGen/builtin-memfns.c15
-rw-r--r--test/CodeGen/builtin-nanf.c15
-rw-r--r--test/CodeGen/builtin-rename.c8
-rw-r--r--test/CodeGen/builtin-stackaddress.c9
-rw-r--r--test/CodeGen/builtin-unwind-init.c4
-rw-r--r--test/CodeGen/builtinmemcpy.c3
-rw-r--r--test/CodeGen/builtins-ffs_parity_popcount.c15
-rw-r--r--test/CodeGen/builtins-powi.c29
-rw-r--r--test/CodeGen/builtins-x86.c522
-rw-r--r--test/CodeGen/builtins.c124
-rw-r--r--test/CodeGen/builtinshufflevector.c5
-rw-r--r--test/CodeGen/c-strings.c36
-rw-r--r--test/CodeGen/cast-to-union.c13
-rw-r--r--test/CodeGen/cast.c6
-rw-r--r--test/CodeGen/cfstring.c13
-rw-r--r--test/CodeGen/cfstring2.c13
-rw-r--r--test/CodeGen/cleanup-stack.c25
-rw-r--r--test/CodeGen/complex.c61
-rw-r--r--test/CodeGen/compound-literal.c12
-rw-r--r--test/CodeGen/compound-type.c7
-rw-r--r--test/CodeGen/compound.c25
-rw-r--r--test/CodeGen/conditional-gnu-ext.c12
-rw-r--r--test/CodeGen/conditional.c44
-rw-r--r--test/CodeGen/const-init.c104
-rw-r--r--test/CodeGen/const-label-addr.c4
-rw-r--r--test/CodeGen/constant-comparison.c12
-rw-r--r--test/CodeGen/constructor-attribute.c38
-rw-r--r--test/CodeGen/cxx-condition.cpp9
-rw-r--r--test/CodeGen/cxx-default-arg.cpp25
-rw-r--r--test/CodeGen/cxx-value-init.cpp11
-rw-r--r--test/CodeGen/darwin-string-literals.c10
-rw-r--r--test/CodeGen/debug-info.c37
-rw-r--r--test/CodeGen/designated-initializers.c21
-rw-r--r--test/CodeGen/dllimport-dllexport.c7
-rw-r--r--test/CodeGen/dostmt.c70
-rw-r--r--test/CodeGen/emit-all-decls.c8
-rw-r--r--test/CodeGen/empty-union-init.c13
-rw-r--r--test/CodeGen/enum.c18
-rw-r--r--test/CodeGen/exprs.c118
-rw-r--r--test/CodeGen/ext-vector-shuffle.c15
-rw-r--r--test/CodeGen/ext-vector.c129
-rw-r--r--test/CodeGen/extern-block-var.c6
-rw-r--r--test/CodeGen/flexible-array-init.c8
-rw-r--r--test/CodeGen/func-decl-cleanup.c12
-rw-r--r--test/CodeGen/func-return-member.c23
-rw-r--r--test/CodeGen/function-attributes.c69
-rw-r--r--test/CodeGen/function-decay.m10
-rw-r--r--test/CodeGen/functions.c35
-rw-r--r--test/CodeGen/global-decls.c22
-rw-r--r--test/CodeGen/global-init.c7
-rw-r--r--test/CodeGen/global-with-initialiser.c25
-rw-r--r--test/CodeGen/globalinit.c51
-rw-r--r--test/CodeGen/illegal-UTF8.m8
-rw-r--r--test/CodeGen/incomplete-function-type.c10
-rw-r--r--test/CodeGen/indirect-goto.c20
-rw-r--r--test/CodeGen/init-with-member-expr.c21
-rw-r--r--test/CodeGen/init.c31
-rw-r--r--test/CodeGen/inline.c86
-rw-r--r--test/CodeGen/int-to-pointer.c6
-rw-r--r--test/CodeGen/kr-func-promote.c5
-rw-r--r--test/CodeGen/kr-style-block.c10
-rw-r--r--test/CodeGen/libcalls.c22
-rw-r--r--test/CodeGen/lineno-dbginfo.c5
-rw-r--r--test/CodeGen/linkage-redecl.c11
-rw-r--r--test/CodeGen/long-double-x86.c4
-rw-r--r--test/CodeGen/mandel.c67
-rw-r--r--test/CodeGen/mangle.c54
-rw-r--r--test/CodeGen/merge-attrs.c13
-rw-r--r--test/CodeGen/merge-statics.c13
-rw-r--r--test/CodeGen/mmintrin-test.c26
-rw-r--r--test/CodeGen/no-common.c6
-rw-r--r--test/CodeGen/offsetof.c12
-rw-r--r--test/CodeGen/opaque-pointer.c13
-rw-r--r--test/CodeGen/overloadable.c26
-rw-r--r--test/CodeGen/parameter-passing.c57
-rw-r--r--test/CodeGen/pascal-string.c8
-rw-r--r--test/CodeGen/pointer-arithmetic.c22
-rw-r--r--test/CodeGen/pointer-cmp-type.c3
-rw-r--r--test/CodeGen/pointer-to-int.c13
-rw-r--r--test/CodeGen/private-extern.c10
-rw-r--r--test/CodeGen/rdr-6098585-default-after-caserange.c18
-rw-r--r--test/CodeGen/rdr-6098585-default-fallthrough-to-caserange.c20
-rw-r--r--test/CodeGen/rdr-6098585-empty-case-range.c23
-rw-r--r--test/CodeGen/rdr-6098585-fallthrough-to-empty-range.c15
-rw-r--r--test/CodeGen/rdr-6098585-unsigned-caserange.c12
-rw-r--r--test/CodeGen/rdr-6732143-dangling-block-reference.m10
-rw-r--r--test/CodeGen/regparm.c19
-rw-r--r--test/CodeGen/shared-string-literals.c9
-rw-r--r--test/CodeGen/sizeof-vla.c13
-rw-r--r--test/CodeGen/statements.c13
-rw-r--r--test/CodeGen/static-forward-decl-fun.c6
-rw-r--r--test/CodeGen/static-forward-decl.c5
-rw-r--r--test/CodeGen/static-local-union.c4
-rw-r--r--test/CodeGen/static-order.c19
-rw-r--r--test/CodeGen/staticinit.c31
-rw-r--r--test/CodeGen/stdcall-fastcall.c17
-rw-r--r--test/CodeGen/string-init.c10
-rw-r--r--test/CodeGen/string-literal.c7
-rw-r--r--test/CodeGen/struct-comma.c4
-rw-r--r--test/CodeGen/struct-copy.c7
-rw-r--r--test/CodeGen/struct-init.c12
-rw-r--r--test/CodeGen/struct-passing.c21
-rw-r--r--test/CodeGen/struct-x86-darwin.c25
-rw-r--r--test/CodeGen/struct.c192
-rw-r--r--test/CodeGen/switch.c87
-rw-r--r--test/CodeGen/tentative-decls.c39
-rw-r--r--test/CodeGen/thread-specifier.c10
-rw-r--r--test/CodeGen/trapv.c10
-rw-r--r--test/CodeGen/typedef-func.c16
-rw-r--r--test/CodeGen/typedef.c8
-rw-r--r--test/CodeGen/types.c34
-rw-r--r--test/CodeGen/uint128_t.c18
-rw-r--r--test/CodeGen/union-init.c31
-rw-r--r--test/CodeGen/union.c41
-rw-r--r--test/CodeGen/unwind-attr.c5
-rw-r--r--test/CodeGen/var-align.c4
-rw-r--r--test/CodeGen/variable-array.c19
-rw-r--r--test/CodeGen/vector.c13
-rw-r--r--test/CodeGen/visibility.c41
-rw-r--r--test/CodeGen/vla.c37
-rw-r--r--test/CodeGen/volatile-1.c143
-rw-r--r--test/CodeGen/volatile.c94
-rw-r--r--test/CodeGen/weak-global.c3
-rw-r--r--test/CodeGen/weak-incomplete.c5
-rw-r--r--test/CodeGen/whilestmt.c62
-rw-r--r--test/CodeGen/writable-strings.c8
-rw-r--r--test/CodeGen/x86.c23
-rw-r--r--test/CodeGen/x86_32-arguments.c157
-rw-r--r--test/CodeGen/x86_64-arguments.c85
-rw-r--r--test/CodeGenCXX/__null.cpp9
-rw-r--r--test/CodeGenCXX/const-init.cpp11
-rw-r--r--test/CodeGenCXX/explicit-instantiation.cpp11
-rw-r--r--test/CodeGenCXX/expr.cpp5
-rw-r--r--test/CodeGenCXX/extern-c.cpp13
-rw-r--r--test/CodeGenCXX/mangle.cpp87
-rw-r--r--test/CodeGenCXX/member-functions.cpp63
-rw-r--r--test/CodeGenCXX/new.cpp56
-rw-r--r--test/CodeGenCXX/reference-field.cpp6
-rw-r--r--test/CodeGenCXX/references.cpp89
-rw-r--r--test/CodeGenObjC/2008-10-23-invalid-icmp.m7
-rw-r--r--test/CodeGenObjC/attr-strong.c9
-rw-r--r--test/CodeGenObjC/bitfield-1.m81
-rw-r--r--test/CodeGenObjC/bitfield-ivar-metadata.m15
-rw-r--r--test/CodeGenObjC/bitfield-ivar-offsets.m26
-rw-r--r--test/CodeGenObjC/blocks-1.m33
-rw-r--r--test/CodeGenObjC/blocks-2.m11
-rw-r--r--test/CodeGenObjC/blocks.m36
-rw-r--r--test/CodeGenObjC/category-super-class-meth.m19
-rw-r--r--test/CodeGenObjC/class-getter-dotsyntax.m21
-rw-r--r--test/CodeGenObjC/class-obj-hidden-visibility.m6
-rw-r--r--test/CodeGenObjC/class-type.m36
-rw-r--r--test/CodeGenObjC/compatibility-alias.m8
-rw-r--r--test/CodeGenObjC/constant-strings.m4
-rw-r--r--test/CodeGenObjC/continuation-class.m35
-rw-r--r--test/CodeGenObjC/debug-info.m18
-rw-r--r--test/CodeGenObjC/dot-syntax-1.m264
-rw-r--r--test/CodeGenObjC/dot-syntax.m98
-rw-r--r--test/CodeGenObjC/encode-test-1.m36
-rw-r--r--test/CodeGenObjC/encode-test-2.m29
-rw-r--r--test/CodeGenObjC/encode-test-3.m21
-rw-r--r--test/CodeGenObjC/encode-test-4.m5
-rw-r--r--test/CodeGenObjC/encode-test-5.m16
-rw-r--r--test/CodeGenObjC/encode-test.m94
-rw-r--r--test/CodeGenObjC/forward-class-impl-metadata.m41
-rw-r--r--test/CodeGenObjC/hidden-synthesized-ivar.m13
-rw-r--r--test/CodeGenObjC/hidden.m19
-rw-r--r--test/CodeGenObjC/image-info.m2
-rw-r--r--test/CodeGenObjC/implicit-objc_msgSend.m7
-rw-r--r--test/CodeGenObjC/implicit-property.m16
-rw-r--r--test/CodeGenObjC/interface-layout-64.m124
-rw-r--r--test/CodeGenObjC/interface.m34
-rw-r--r--test/CodeGenObjC/ivar-layout-64.m89
-rw-r--r--test/CodeGenObjC/ivars.m14
-rw-r--r--test/CodeGenObjC/link-errors.m39
-rw-r--r--test/CodeGenObjC/message-arrays.m15
-rw-r--r--test/CodeGenObjC/messages-2.m139
-rw-r--r--test/CodeGenObjC/messages.m27
-rw-r--r--test/CodeGenObjC/metadata-symbols-32.m88
-rw-r--r--test/CodeGenObjC/metadata-symbols-64.m130
-rw-r--r--test/CodeGenObjC/metadata_symbols.m61
-rw-r--r--test/CodeGenObjC/newproperty-nested-synthesis-1.m78
-rw-r--r--test/CodeGenObjC/no-category-class.m8
-rw-r--r--test/CodeGenObjC/non-lazy-classes.m33
-rw-r--r--test/CodeGenObjC/objc-align.m47
-rw-r--r--test/CodeGenObjC/objc2-assign-global.m8
-rw-r--r--test/CodeGenObjC/objc2-no-strong-cast.m22
-rw-r--r--test/CodeGenObjC/objc2-no-write-barrier.m18
-rw-r--r--test/CodeGenObjC/objc2-property-encode.m13
-rw-r--r--test/CodeGenObjC/objc2-protocol-enc.m43
-rw-r--r--test/CodeGenObjC/objc2-retain-codegen.m12
-rw-r--r--test/CodeGenObjC/objc2-strong-cast-1.m23
-rw-r--r--test/CodeGenObjC/objc2-strong-cast-2.m27
-rw-r--r--test/CodeGenObjC/objc2-strong-cast.m17
-rw-r--r--test/CodeGenObjC/objc2-weak-compare.m24
-rw-r--r--test/CodeGenObjC/objc2-weak-ivar.m10
-rw-r--r--test/CodeGenObjC/overloadable.m10
-rw-r--r--test/CodeGenObjC/predefined-expr-in-method.m17
-rw-r--r--test/CodeGenObjC/property-aggr-type.m50
-rw-r--r--test/CodeGenObjC/property-agrr-getter.m17
-rw-r--r--test/CodeGenObjC/property-getter-dot-syntax.m11
-rw-r--r--test/CodeGenObjC/property-incr-decr-1.m29
-rw-r--r--test/CodeGenObjC/property-setter-attr.m10
-rw-r--r--test/CodeGenObjC/property.m52
-rw-r--r--test/CodeGenObjC/protocol-definition-hidden-visibility.m19
-rw-r--r--test/CodeGenObjC/protocol-property-synth.m33
-rw-r--r--test/CodeGenObjC/protocols-lazy.m48
-rw-r--r--test/CodeGenObjC/runtime-fns.m33
-rw-r--r--test/CodeGenObjC/super-classmethod-category.m13
-rw-r--r--test/CodeGenObjC/super-dotsyntax-property.m41
-rw-r--r--test/CodeGenObjC/synchronized.m41
-rw-r--r--test/CodeGenObjC/synthesize_ivar-cont-class.m18
-rw-r--r--test/CodeGenObjC/synthesize_ivar.m27
-rw-r--r--test/CodeGenObjC/try.m9
-rw-r--r--test/CodeGenObjC/unname-bf-metadata.m14
-rw-r--r--test/Coverage/ast-printing.c6
-rw-r--r--test/Coverage/ast-printing.cpp6
-rw-r--r--test/Coverage/ast-printing.m5
-rw-r--r--test/Coverage/c-language-features.inc181
-rw-r--r--test/Coverage/codegen-gnu.m3
-rw-r--r--test/Coverage/codegen-next.m4
-rw-r--r--test/Coverage/codegen.c7
-rw-r--r--test/Coverage/cxx-language-features.inc21
-rw-r--r--test/Coverage/html-diagnostics.c15
-rw-r--r--test/Coverage/html-print.c3
-rw-r--r--test/Coverage/objc-language-features.inc81
-rw-r--r--test/Coverage/parse-callbacks.c4
-rw-r--r--test/Coverage/parse-callbacks.m4
-rw-r--r--test/Coverage/targets.c18
-rw-r--r--test/Coverage/verbose.c1
-rw-r--r--test/Driver/Xarch.c10
-rw-r--r--test/Driver/analyze.c9
-rw-r--r--test/Driver/bindings.c56
-rw-r--r--test/Driver/ccc-add-args.c3
-rw-r--r--test/Driver/clang-translation.c16
-rw-r--r--test/Driver/clang_cpp.c4
-rw-r--r--test/Driver/clang_f_opts.c10
-rw-r--r--test/Driver/darwin-cc.c6
-rw-r--r--test/Driver/darwin-ld.c44
-rw-r--r--test/Driver/darwin-version.c6
-rw-r--r--test/Driver/dragonfly.c6
-rw-r--r--test/Driver/emit-llvm.c3
-rw-r--r--test/Driver/flags.c9
-rw-r--r--test/Driver/freebsd.c7
-rw-r--r--test/Driver/hello.c14
-rw-r--r--test/Driver/immediate-options.c5
-rw-r--r--test/Driver/lto.c25
-rw-r--r--test/Driver/parsing.c24
-rw-r--r--test/Driver/phases.c79
-rw-r--r--test/Driver/preprocessor.c6
-rw-r--r--test/Driver/pth.c8
-rw-r--r--test/Driver/qa_override.c6
-rw-r--r--test/Driver/std.c8
-rw-r--r--test/Driver/unknown-gcc-arch.c8
-rw-r--r--test/Driver/x86_features.c3
-rw-r--r--test/FixIt/fixit-at.c5
-rw-r--r--test/FixIt/fixit-c90.c11
-rw-r--r--test/FixIt/fixit-errors-1.c13
-rw-r--r--test/FixIt/fixit-errors.c10
-rw-r--r--test/FixIt/fixit-objc.m8
-rw-r--r--test/FixIt/fixit.c29
-rw-r--r--test/FixIt/fixit.cpp29
-rw-r--r--test/Frontend/darwin-version.c23
-rw-r--r--test/Frontend/dependency-gen.c7
-rw-r--r--test/Frontend/mmacosx-version-min-test.c1
-rw-r--r--test/Frontend/rewrite-macros.c18
-rw-r--r--test/Frontend/stdin.c3
-rw-r--r--test/Lexer/11-27-2007-FloatLiterals.c7
-rw-r--r--test/Lexer/badstring_in_if0.c8
-rw-r--r--test/Lexer/block_cmt_end.c38
-rw-r--r--test/Lexer/c90.c13
-rw-r--r--test/Lexer/comment-escape.c6
-rw-r--r--test/Lexer/constants.c35
-rw-r--r--test/Lexer/counter.c16
-rw-r--r--test/Lexer/cxx0x_keyword.cpp2
-rw-r--r--test/Lexer/cxx0x_keyword_as_cxx98.cpp2
-rw-r--r--test/Lexer/digraph.c15
-rw-r--r--test/Lexer/dollar-idents.c7
-rw-r--r--test/Lexer/escape_newline.c7
-rw-r--r--test/Lexer/multiple-include.c27
-rw-r--r--test/Lexer/numeric-literal-trash.c13
-rw-r--r--test/Lexer/pragma-mark.c11
-rw-r--r--test/Lexer/rdr-6096838-2.c5
-rw-r--r--test/Lexer/rdr-6096838.c6
-rw-r--r--test/Lexer/token-concat.c4
-rw-r--r--test/Lexer/unknown-char.c2
-rw-r--r--test/Makefile47
-rw-r--r--test/Misc/caret-diags-macros.c26
-rw-r--r--test/Misc/caret-diags-scratch-buffer.c12
-rw-r--r--test/Misc/diag-checker.c5
-rw-r--r--test/Misc/diag-mapping.c30
-rw-r--r--test/Misc/diag-mapping2.c19
-rw-r--r--test/Misc/emit-html-insert.c4
-rw-r--r--test/Misc/emit-html.c18
-rw-r--r--test/Misc/message-length.c35
-rw-r--r--test/Misc/predefines.c5
-rw-r--r--test/PCH/asm.c11
-rw-r--r--test/PCH/asm.h14
-rw-r--r--test/PCH/attrs.c8
-rw-r--r--test/PCH/attrs.h7
-rw-r--r--test/PCH/blocks.c12
-rw-r--r--test/PCH/blocks.h14
-rw-r--r--test/PCH/builtins.c10
-rw-r--r--test/PCH/builtins.h2
-rw-r--r--test/PCH/enum.c15
-rw-r--r--test/PCH/enum.h16
-rw-r--r--test/PCH/exprs.c89
-rw-r--r--test/PCH/exprs.h86
-rw-r--r--test/PCH/ext_vector.c10
-rw-r--r--test/PCH/ext_vector.h4
-rw-r--r--test/PCH/external-defs.c19
-rw-r--r--test/PCH/external-defs.h13
-rw-r--r--test/PCH/functions.c20
-rw-r--r--test/PCH/functions.h6
-rw-r--r--test/PCH/fuzzy-pch.c19
-rw-r--r--test/PCH/fuzzy-pch.h2
-rw-r--r--test/PCH/line-directive.c25
-rw-r--r--test/PCH/line-directive.h2
-rw-r--r--test/PCH/method_pool.h37
-rw-r--r--test/PCH/method_pool.m21
-rw-r--r--test/PCH/multiple_decls.c17
-rw-r--r--test/PCH/multiple_decls.h7
-rw-r--r--test/PCH/nonvisible-external-defs.c10
-rw-r--r--test/PCH/nonvisible-external-defs.h11
-rw-r--r--test/PCH/objc_exprs.h18
-rw-r--r--test/PCH/objc_exprs.m28
-rw-r--r--test/PCH/objc_import.h7
-rw-r--r--test/PCH/objc_import.m15
-rw-r--r--test/PCH/objc_methods.h11
-rw-r--r--test/PCH/objc_methods.m16
-rw-r--r--test/PCH/objc_property.h12
-rw-r--r--test/PCH/objc_property.m11
-rw-r--r--test/PCH/preprocess.c5
-rw-r--r--test/PCH/preprocess.h7
-rw-r--r--test/PCH/stmts.c14
-rw-r--r--test/PCH/stmts.h96
-rw-r--r--test/PCH/struct.c28
-rw-r--r--test/PCH/struct.h29
-rw-r--r--test/PCH/tentative-defs.c9
-rw-r--r--test/PCH/tentative-defs.h9
-rw-r--r--test/PCH/types.c72
-rw-r--r--test/PCH/types.h44
-rw-r--r--test/PCH/va_arg.c12
-rw-r--r--test/PCH/va_arg.h8
-rw-r--r--test/PCH/variables.c23
-rw-r--r--test/PCH/variables.h26
-rwxr-xr-xtest/Parser/2008-10-31-parse-noop-failure.c4
-rw-r--r--test/Parser/CompoundStmtScope.c8
-rw-r--r--test/Parser/MicrosoftExtensions.c30
-rw-r--r--test/Parser/argument_qualified.c5
-rw-r--r--test/Parser/argument_redef.c6
-rw-r--r--test/Parser/argument_scope.c6
-rw-r--r--test/Parser/asm.c15
-rw-r--r--test/Parser/attributes.c53
-rw-r--r--test/Parser/bad-control.c9
-rw-r--r--test/Parser/block-block-storageclass.c19
-rw-r--r--test/Parser/block-pointer-decl.c26
-rw-r--r--test/Parser/builtin_classify_type.c21
-rw-r--r--test/Parser/builtin_types_compatible.c43
-rw-r--r--test/Parser/c-namespace.c6
-rw-r--r--test/Parser/char-literal-printing.c31
-rw-r--r--test/Parser/check-objc2-syntax-1.m10
-rw-r--r--test/Parser/check-syntax-1.m4
-rw-r--r--test/Parser/check_cast.c12
-rw-r--r--test/Parser/compound_literal.c5
-rw-r--r--test/Parser/control-scope.c8
-rw-r--r--test/Parser/cxx-ambig-paren-expr.cpp26
-rw-r--r--test/Parser/cxx-bool.cpp4
-rw-r--r--test/Parser/cxx-casting.cpp36
-rw-r--r--test/Parser/cxx-class.cpp38
-rw-r--r--test/Parser/cxx-condition.cpp11
-rw-r--r--test/Parser/cxx-decl.cpp3
-rw-r--r--test/Parser/cxx-exception-spec.cpp17
-rw-r--r--test/Parser/cxx-friend.cpp17
-rw-r--r--test/Parser/cxx-namespace-alias.cpp8
-rw-r--r--test/Parser/cxx-reference.cpp21
-rw-r--r--test/Parser/cxx-template-decl.cpp82
-rw-r--r--test/Parser/cxx-throw.cpp15
-rw-r--r--test/Parser/cxx-try.cpp41
-rw-r--r--test/Parser/cxx-typeid.cpp13
-rw-r--r--test/Parser/cxx-typeof.cpp7
-rw-r--r--test/Parser/cxx-using-directive.cpp41
-rw-r--r--test/Parser/cxx-variadic-func.cpp5
-rw-r--r--test/Parser/cxx0x-rvalue-reference.cpp9
-rw-r--r--test/Parser/declarators.c66
-rw-r--r--test/Parser/designator.c17
-rw-r--r--test/Parser/encode.m8
-rw-r--r--test/Parser/enhanced-proto-1.m17
-rw-r--r--test/Parser/expressions.c50
-rw-r--r--test/Parser/expressions.m6
-rw-r--r--test/Parser/extension.c20
-rw-r--r--test/Parser/function-decls.c10
-rw-r--r--test/Parser/goto-ident.c6
-rw-r--r--test/Parser/if-scope-c90.c8
-rw-r--r--test/Parser/if-scope-c99.c8
-rw-r--r--test/Parser/implicit-casts.c20
-rw-r--r--test/Parser/method-prototype-1.m43
-rw-r--r--test/Parser/namelookup-bug-1.c7
-rw-r--r--test/Parser/namelookup-bug-2.c14
-rw-r--r--test/Parser/objc-alias-printing.m18
-rw-r--r--test/Parser/objc-category-neg-1.m8
-rw-r--r--test/Parser/objc-forcollection-1.m43
-rw-r--r--test/Parser/objc-forcollection-neg-2.m38
-rw-r--r--test/Parser/objc-forcollection-neg.m37
-rw-r--r--test/Parser/objc-foreach-syntax.m26
-rw-r--r--test/Parser/objc-init.m41
-rw-r--r--test/Parser/objc-interfaces.m8
-rw-r--r--test/Parser/objc-messaging-1.m19
-rw-r--r--test/Parser/objc-messaging-neg-1.m7
-rw-r--r--test/Parser/objc-missing-impl.m2
-rw-r--r--test/Parser/objc-property-syntax.m12
-rw-r--r--test/Parser/objc-quirks.m10
-rw-r--r--test/Parser/objc-try-catch-1.m68
-rw-r--r--test/Parser/objc-type-printing.m19
-rw-r--r--test/Parser/parmvardecl_conversion.c4
-rw-r--r--test/Parser/pointer-arithmetic.c9
-rw-r--r--test/Parser/pointer_promotion.c18
-rw-r--r--test/Parser/pragma-pack.c32
-rw-r--r--test/Parser/prefix-attributes.m8
-rw-r--r--test/Parser/promote_types_in_proto.c9
-rw-r--r--test/Parser/recovery.c75
-rw-r--r--test/Parser/selector-1.m14
-rw-r--r--test/Parser/statements.c56
-rw-r--r--test/Parser/struct-recursion.c11
-rw-r--r--test/Parser/traditional_arg_scope.c7
-rw-r--r--test/Parser/typeof.c19
-rw-r--r--test/Parser/types.c14
-rw-r--r--test/Preprocessor/_Pragma-dependency.c7
-rw-r--r--test/Preprocessor/_Pragma-location.c4
-rw-r--r--test/Preprocessor/_Pragma-physloc.c6
-rw-r--r--test/Preprocessor/_Pragma-syshdr2.c5
-rw-r--r--test/Preprocessor/_Pragma.c10
-rw-r--r--test/Preprocessor/assembler-with-cpp.c77
-rw-r--r--test/Preprocessor/builtin_line.c13
-rw-r--r--test/Preprocessor/c90.c10
-rw-r--r--test/Preprocessor/c99-6_10_3_3_p4.c6
-rw-r--r--test/Preprocessor/c99-6_10_3_4_p5.c29
-rw-r--r--test/Preprocessor/c99-6_10_3_4_p6.c24
-rw-r--r--test/Preprocessor/c99-6_10_3_4_p7.c9
-rw-r--r--test/Preprocessor/c99-6_10_3_4_p9.c16
-rw-r--r--test/Preprocessor/clang_headers.c3
-rw-r--r--test/Preprocessor/comment_save.c7
-rw-r--r--test/Preprocessor/comment_save_if.c6
-rw-r--r--test/Preprocessor/comment_save_macro.c8
-rw-r--r--test/Preprocessor/cxx_and.cpp17
-rw-r--r--test/Preprocessor/cxx_bitand.cpp16
-rw-r--r--test/Preprocessor/cxx_bitor.cpp18
-rw-r--r--test/Preprocessor/cxx_compl.cpp16
-rw-r--r--test/Preprocessor/cxx_not.cpp15
-rw-r--r--test/Preprocessor/cxx_not_eq.cpp16
-rw-r--r--test/Preprocessor/cxx_oper_keyword.cpp7
-rw-r--r--test/Preprocessor/cxx_oper_spelling.cpp11
-rw-r--r--test/Preprocessor/cxx_or.cpp17
-rw-r--r--test/Preprocessor/cxx_true.cpp13
-rw-r--r--test/Preprocessor/cxx_xor.cpp18
-rw-r--r--test/Preprocessor/dependencies-and-pp.c5
-rw-r--r--test/Preprocessor/disabled-cond-diags.c10
-rw-r--r--test/Preprocessor/dump-macros-spacing.c13
-rw-r--r--test/Preprocessor/dump-options.c3
-rw-r--r--test/Preprocessor/dump_macros.c31
-rw-r--r--test/Preprocessor/dumptokens_phyloc.c5
-rw-r--r--test/Preprocessor/expr_comma.c10
-rw-r--r--test/Preprocessor/expr_invalid_tok.c15
-rw-r--r--test/Preprocessor/expr_liveness.c52
-rw-r--r--test/Preprocessor/expr_multichar.c5
-rw-r--r--test/Preprocessor/expr_usual_conversions.c13
-rw-r--r--test/Preprocessor/extension-warning.c18
-rw-r--r--test/Preprocessor/file_to_include.h3
-rw-r--r--test/Preprocessor/function_macro_file.c5
-rw-r--r--test/Preprocessor/function_macro_file.h3
-rw-r--r--test/Preprocessor/hash_line.c8
-rw-r--r--test/Preprocessor/hash_space.c6
-rw-r--r--test/Preprocessor/header_lookup1.c2
-rw-r--r--test/Preprocessor/if_warning.c21
-rw-r--r--test/Preprocessor/ifdef-recover.c15
-rw-r--r--test/Preprocessor/import_self.c7
-rw-r--r--test/Preprocessor/include-directive1.c14
-rw-r--r--test/Preprocessor/include-directive2.c17
-rw-r--r--test/Preprocessor/include-directive3.c3
-rw-r--r--test/Preprocessor/include-macros.c4
-rw-r--r--test/Preprocessor/include-pth.c3
-rw-r--r--test/Preprocessor/indent_macro.c6
-rw-r--r--test/Preprocessor/line-directive.c92
-rw-r--r--test/Preprocessor/macro-multiline.c8
-rw-r--r--test/Preprocessor/macro_arg_keyword.c6
-rw-r--r--test/Preprocessor/macro_disable.c13
-rw-r--r--test/Preprocessor/macro_disable2.c8
-rw-r--r--test/Preprocessor/macro_disable3.c8
-rw-r--r--test/Preprocessor/macro_disable4.c6
-rw-r--r--test/Preprocessor/macro_expand.c19
-rw-r--r--test/Preprocessor/macro_expandloc.c6
-rw-r--r--test/Preprocessor/macro_expandloc2.c6
-rw-r--r--test/Preprocessor/macro_fn.c46
-rw-r--r--test/Preprocessor/macro_fn_comma_swallow.c21
-rw-r--r--test/Preprocessor/macro_fn_disable_expand.c11
-rw-r--r--test/Preprocessor/macro_fn_lparen_scan.c27
-rw-r--r--test/Preprocessor/macro_fn_lparen_scan2.c7
-rw-r--r--test/Preprocessor/macro_fn_placemarker.c5
-rw-r--r--test/Preprocessor/macro_fn_preexpand.c12
-rw-r--r--test/Preprocessor/macro_fn_varargs_iso.c11
-rw-r--r--test/Preprocessor/macro_fn_varargs_named.c10
-rw-r--r--test/Preprocessor/macro_misc.c23
-rw-r--r--test/Preprocessor/macro_not_define.c9
-rw-r--r--test/Preprocessor/macro_paste_bad.c35
-rw-r--r--test/Preprocessor/macro_paste_bcpl_comment.c5
-rw-r--r--test/Preprocessor/macro_paste_c_block_comment.c7
-rw-r--r--test/Preprocessor/macro_paste_commaext.c13
-rw-r--r--test/Preprocessor/macro_paste_empty.c13
-rw-r--r--test/Preprocessor/macro_paste_hard.c17
-rw-r--r--test/Preprocessor/macro_paste_hashhash.c7
-rw-r--r--test/Preprocessor/macro_paste_mscomment.c20
-rw-r--r--test/Preprocessor/macro_paste_none.c6
-rw-r--r--test/Preprocessor/macro_paste_simple.c5
-rw-r--r--test/Preprocessor/macro_paste_spacing.c7
-rw-r--r--test/Preprocessor/macro_paste_spacing2.c6
-rw-r--r--test/Preprocessor/macro_rescan.c9
-rw-r--r--test/Preprocessor/macro_rescan2.c15
-rw-r--r--test/Preprocessor/macro_rescan_varargs.c10
-rw-r--r--test/Preprocessor/macro_rparen_scan.c8
-rw-r--r--test/Preprocessor/macro_rparen_scan2.c8
-rw-r--r--test/Preprocessor/macro_space.c5
-rw-r--r--test/Preprocessor/mi_opt.c11
-rw-r--r--test/Preprocessor/mi_opt.h4
-rw-r--r--test/Preprocessor/objc-pp.m4
-rw-r--r--test/Preprocessor/optimize.c29
-rw-r--r--test/Preprocessor/output_paste_avoid.c23
-rw-r--r--test/Preprocessor/overflow.c25
-rw-r--r--test/Preprocessor/pic.c10
-rw-r--r--test/Preprocessor/pr2086.c11
-rw-r--r--test/Preprocessor/pr2086.h6
-rw-r--r--test/Preprocessor/pragma_microsoft.c20
-rw-r--r--test/Preprocessor/pragma_poison.c20
-rw-r--r--test/Preprocessor/pragma_unknown.c28
-rw-r--r--test/Preprocessor/print_line_track.c17
-rw-r--r--test/Preprocessor/skipping_unclean.c9
-rw-r--r--test/Preprocessor/stringize_misc.c26
-rw-r--r--test/Preprocessor/stringize_space.c4
-rw-r--r--test/Preprocessor/stringize_space2.c6
-rw-r--r--test/Preprocessor/undef-error.c5
-rw-r--r--test/Preprocessor/unterminated.c5
-rw-r--r--test/Preprocessor/x86_target_features.c35
-rw-r--r--test/Rewriter/block-test.c38
-rw-r--r--test/Rewriter/crash.m25
-rw-r--r--test/Rewriter/finally.m27
-rw-r--r--test/Rewriter/id-test-3.m14
-rw-r--r--test/Rewriter/ivar-encoding-1.m15
-rw-r--r--test/Rewriter/ivar-encoding-2.m12
-rw-r--r--test/Rewriter/metadata-test-1.m12
-rw-r--r--test/Rewriter/metadata-test-2.m15
-rw-r--r--test/Rewriter/method-encoding-1.m18
-rw-r--r--test/Rewriter/objc-encoding-bug-1.m19
-rw-r--r--test/Rewriter/objc-ivar-receiver-1.m24
-rw-r--r--test/Rewriter/objc-string-concat-1.m14
-rw-r--r--test/Rewriter/objc-super-test.m18
-rw-r--r--test/Rewriter/objc-synchronized-1.m20
-rw-r--r--test/Rewriter/properties.m54
-rw-r--r--test/Rewriter/protocol-rewrite-1.m48
-rw-r--r--test/Rewriter/rewrite-api-bug.m11
-rw-r--r--test/Rewriter/rewrite-foreach-1.m37
-rw-r--r--test/Rewriter/rewrite-foreach-2.m34
-rw-r--r--test/Rewriter/rewrite-foreach-3.m29
-rw-r--r--test/Rewriter/rewrite-foreach-4.m32
-rw-r--r--test/Rewriter/rewrite-foreach-5.m47
-rw-r--r--test/Rewriter/rewrite-foreach-6.m13
-rw-r--r--test/Rewriter/rewrite-nest.m27
-rw-r--r--test/Rewriter/rewrite-protocol-type-1.m24
-rw-r--r--test/Rewriter/rewrite-try-catch.m27
-rw-r--r--test/Rewriter/static-type-protocol-1.m27
-rw-r--r--test/Rewriter/undecl-objc-h.m29
-rw-r--r--test/Rewriter/undeclared-method-1.m9
-rw-r--r--test/Rewriter/undef-field-reference-1.m15
-rw-r--r--test/Rewriter/va-method.m17
-rw-r--r--test/Sema/128bitint.c6
-rw-r--r--test/Sema/PR2727.c8
-rw-r--r--test/Sema/PR2728.c9
-rw-r--r--test/Sema/PR2919-builtin-types-compat-strips-crv.c7
-rw-r--r--test/Sema/PR2923.c12
-rw-r--r--test/Sema/PR2963-enum-constant.c17
-rw-r--r--test/Sema/address-constant.c10
-rw-r--r--test/Sema/address_spaces.c32
-rw-r--r--test/Sema/align-x86.c14
-rw-r--r--test/Sema/annotate.c7
-rw-r--r--test/Sema/anonymous-struct-union.c98
-rw-r--r--test/Sema/arg-duplicate.c14
-rw-r--r--test/Sema/arg-scope-c99.c2
-rw-r--r--test/Sema/arg-scope.c5
-rw-r--r--test/Sema/array-constraint.c52
-rw-r--r--test/Sema/array-declared-as-incorrect-type.c16
-rw-r--r--test/Sema/array-init.c265
-rw-r--r--test/Sema/asm.c78
-rw-r--r--test/Sema/assign-null.c10
-rw-r--r--test/Sema/assign.c15
-rw-r--r--test/Sema/ast-print.c8
-rw-r--r--test/Sema/attr-aligned.c21
-rw-r--r--test/Sema/attr-cleanup.c40
-rw-r--r--test/Sema/attr-deprecated.c45
-rw-r--r--test/Sema/attr-mode.c22
-rw-r--r--test/Sema/attr-nodebug.c8
-rw-r--r--test/Sema/attr-noinline.c8
-rw-r--r--test/Sema/attr-noreturn.c27
-rw-r--r--test/Sema/attr-regparm.c7
-rw-r--r--test/Sema/attr-unused.c12
-rw-r--r--test/Sema/attr-used.c20
-rw-r--r--test/Sema/attr-warn_unused_result.c19
-rw-r--r--test/Sema/attr-weak.c13
-rw-r--r--test/Sema/bitfield-layout.c32
-rw-r--r--test/Sema/bitfield.c36
-rw-r--r--test/Sema/block-args.c29
-rw-r--r--test/Sema/block-as-object.m20
-rw-r--r--test/Sema/block-byref-args.c18
-rw-r--r--test/Sema/block-call.c55
-rw-r--r--test/Sema/block-explicit-return-type.c81
-rw-r--r--test/Sema/block-labels.c17
-rw-r--r--test/Sema/block-literal.c124
-rw-r--r--test/Sema/block-misc.c187
-rw-r--r--test/Sema/block-printf-attribute-1.c15
-rw-r--r--test/Sema/block-return.c104
-rw-r--r--test/Sema/block-sentinel-attribute.c25
-rw-r--r--test/Sema/block-storageclass.c18
-rw-r--r--test/Sema/builtin-object-size.c28
-rw-r--r--test/Sema/builtin-prefetch.c13
-rw-r--r--test/Sema/builtin-stackaddress.c16
-rw-r--r--test/Sema/builtins.c52
-rw-r--r--test/Sema/c89-2.c7
-rw-r--r--test/Sema/c89.c82
-rw-r--r--test/Sema/callingconv.c10
-rw-r--r--test/Sema/carbon-pth.c7
-rw-r--r--test/Sema/carbon.c5
-rw-r--r--test/Sema/cast-to-union.c19
-rw-r--r--test/Sema/cast.c14
-rw-r--r--test/Sema/check-increment.c10
-rw-r--r--test/Sema/compare.c17
-rw-r--r--test/Sema/complex-int.c52
-rw-r--r--test/Sema/complex-promotion.c15
-rw-r--r--test/Sema/compound-literal.c33
-rw-r--r--test/Sema/conditional-expr.c51
-rw-r--r--test/Sema/conditional.c15
-rw-r--r--test/Sema/const-eval.c67
-rw-r--r--test/Sema/const-ptr-int-ptr-cast.c5
-rw-r--r--test/Sema/constant-builtins-2.c50
-rw-r--r--test/Sema/constant-builtins.c24
-rw-r--r--test/Sema/constructor-attribute.c15
-rw-r--r--test/Sema/darwin-align-cast.c23
-rw-r--r--test/Sema/decl-invalid.c29
-rw-r--r--test/Sema/decl-type-merging.c16
-rw-r--r--test/Sema/declspec.c23
-rw-r--r--test/Sema/default.c8
-rw-r--r--test/Sema/default1.c2
-rw-r--r--test/Sema/deref.c44
-rw-r--r--test/Sema/designated-initializers.c234
-rw-r--r--test/Sema/dllimport-dllexport.c18
-rw-r--r--test/Sema/enum.c86
-rw-r--r--test/Sema/expr-address-of.c109
-rw-r--r--test/Sema/expr-comma-c89.c18
-rw-r--r--test/Sema/expr-comma.c18
-rw-r--r--test/Sema/exprs.c108
-rw-r--r--test/Sema/ext_vector_components.c37
-rw-r--r--test/Sema/flexible-array-init.c58
-rw-r--r--test/Sema/floating-point-compare.c25
-rw-r--r--test/Sema/for.c7
-rw-r--r--test/Sema/format-attribute.c34
-rw-r--r--test/Sema/format-string-percentm.c6
-rw-r--r--test/Sema/format-strings.c132
-rw-r--r--test/Sema/function-pointer-sentinel-attribute.c23
-rw-r--r--test/Sema/function-ptr.c11
-rw-r--r--test/Sema/function-redecl.c127
-rw-r--r--test/Sema/function-sentinel-attr.c30
-rw-r--r--test/Sema/function.c89
-rw-r--r--test/Sema/gnu89.c3
-rw-r--r--test/Sema/heinous-extensions-off.c10
-rw-r--r--test/Sema/heinous-extensions-on.c10
-rw-r--r--test/Sema/i-c-e.c66
-rw-r--r--test/Sema/if-empty-body.c16
-rw-r--r--test/Sema/illegal-types.c7
-rw-r--r--test/Sema/implicit-builtin-decl.c53
-rw-r--r--test/Sema/implicit-builtin-freestanding.c4
-rw-r--r--test/Sema/implicit-builtin-redecl.c14
-rw-r--r--test/Sema/implicit-cast.c8
-rw-r--r--test/Sema/implicit-decl.c17
-rw-r--r--test/Sema/implicit-def.c8
-rw-r--r--test/Sema/implicit-int.c31
-rw-r--r--test/Sema/incompatible-sign.c5
-rw-r--r--test/Sema/incomplete-call.c13
-rw-r--r--test/Sema/incomplete-decl.c30
-rw-r--r--test/Sema/indirect-goto.c8
-rw-r--r--test/Sema/init-struct-qualified.c12
-rw-r--r--test/Sema/init.c128
-rw-r--r--test/Sema/inline.c6
-rw-r--r--test/Sema/int-arith-convert.c12
-rw-r--r--test/Sema/invalid-decl.c22
-rw-r--r--test/Sema/invalid-init-diag.c4
-rw-r--r--test/Sema/invalid-struct-init.c29
-rw-r--r--test/Sema/knr-def-call.c18
-rw-r--r--test/Sema/knr-variadic-def.c29
-rw-r--r--test/Sema/member-reference.c20
-rw-r--r--test/Sema/merge-decls.c39
-rw-r--r--test/Sema/ms-fuzzy-asm.c9
-rw-r--r--test/Sema/nested-redef.c22
-rw-r--r--test/Sema/nonnull.c32
-rw-r--r--test/Sema/offsetof.c50
-rw-r--r--test/Sema/overloadable-complex.c50
-rw-r--r--test/Sema/overloadable.c53
-rw-r--r--test/Sema/pointer-addition.c19
-rw-r--r--test/Sema/pointer-subtract-compat.c11
-rw-r--r--test/Sema/pragma-pack-2.c93
-rw-r--r--test/Sema/pragma-pack-3.c34
-rw-r--r--test/Sema/pragma-pack.c27
-rw-r--r--test/Sema/pragma-unused.c38
-rw-r--r--test/Sema/predef.c19
-rw-r--r--test/Sema/predefined-function.c38
-rw-r--r--test/Sema/private-extern.c88
-rw-r--r--test/Sema/rdar6248119.m27
-rw-r--r--test/Sema/rdr6094103-unordered-compare-promote.c6
-rw-r--r--test/Sema/recover-goto.c4
-rw-r--r--test/Sema/redefinition.c10
-rw-r--r--test/Sema/return-silent.c9
-rw-r--r--test/Sema/return.c12
-rw-r--r--test/Sema/scope-check.c196
-rw-r--r--test/Sema/self-comparison.c33
-rw-r--r--test/Sema/sentinel-attribute.c15
-rw-r--r--test/Sema/shift.c6
-rw-r--r--test/Sema/statements.c29
-rw-r--r--test/Sema/static-init.c23
-rw-r--r--test/Sema/stdcall-fastcall.c10
-rw-r--r--test/Sema/struct-cast.c14
-rw-r--r--test/Sema/struct-compat.c17
-rw-r--r--test/Sema/struct-decl.c43
-rw-r--r--test/Sema/struct-packed-align.c111
-rw-r--r--test/Sema/surpress-deprecated.c7
-rw-r--r--test/Sema/switch.c70
-rw-r--r--test/Sema/tentative-decls.c65
-rw-r--r--test/Sema/text-diag.c4
-rw-r--r--test/Sema/thread-specifier.c21
-rw-r--r--test/Sema/transparent-union-pointer.c14
-rw-r--r--test/Sema/transparent-union.c40
-rw-r--r--test/Sema/type-spec-struct-union.c65
-rw-r--r--test/Sema/typecheck-binop.c27
-rw-r--r--test/Sema/typedef-prototype.c8
-rw-r--r--test/Sema/typedef-redef.c11
-rw-r--r--test/Sema/typedef-retain.c38
-rw-r--r--test/Sema/typedef-variable-type.c3
-rw-r--r--test/Sema/types.c39
-rw-r--r--test/Sema/ucn-cstring.c17
-rw-r--r--test/Sema/unnamed-bitfield-init.c6
-rw-r--r--test/Sema/unused-expr.c46
-rw-r--r--test/Sema/usual-float.c12
-rw-r--r--test/Sema/va_arg_x86_32.c6
-rw-r--r--test/Sema/va_arg_x86_64.c16
-rw-r--r--test/Sema/var-redecl.c61
-rw-r--r--test/Sema/varargs-x86-64.c8
-rw-r--r--test/Sema/varargs.c63
-rw-r--r--test/Sema/variadic-block.c41
-rw-r--r--test/Sema/vector-assign.c45
-rw-r--r--test/Sema/vector-cast.c38
-rw-r--r--test/Sema/vector-init.c23
-rw-r--r--test/Sema/vla.c56
-rw-r--r--test/Sema/void_arg.c26
-rw-r--r--test/Sema/warn-freestanding-complex.c4
-rw-r--r--test/Sema/warn-missing-prototypes.c37
-rw-r--r--test/Sema/wchar.c12
-rw-r--r--test/SemaCXX/__null.cpp14
-rw-r--r--test/SemaCXX/abstract.cpp128
-rw-r--r--test/SemaCXX/access-base-class.cpp82
-rw-r--r--test/SemaCXX/access.cpp23
-rw-r--r--test/SemaCXX/addr-of-overloaded-function.cpp29
-rw-r--r--test/SemaCXX/address-of.cpp35
-rw-r--r--test/SemaCXX/aggregate-initialization.cpp28
-rw-r--r--test/SemaCXX/anonymous-union.cpp113
-rw-r--r--test/SemaCXX/attr-unavailable.cpp20
-rw-r--r--test/SemaCXX/basic_lookup_argdep.cpp60
-rw-r--r--test/SemaCXX/blocks.cpp11
-rw-r--r--test/SemaCXX/bool.cpp18
-rw-r--r--test/SemaCXX/carbon.cpp5
-rw-r--r--test/SemaCXX/class-names.cpp52
-rw-r--r--test/SemaCXX/class.cpp112
-rw-r--r--test/SemaCXX/complex-overload.cpp50
-rw-r--r--test/SemaCXX/composite-pointer-type.cpp27
-rw-r--r--test/SemaCXX/condition.cpp35
-rw-r--r--test/SemaCXX/conditional-expr.cpp181
-rw-r--r--test/SemaCXX/const-cast.cpp63
-rw-r--r--test/SemaCXX/constant-expression.cpp83
-rw-r--r--test/SemaCXX/constructor-initializer.cpp56
-rw-r--r--test/SemaCXX/constructor-recovery.cpp10
-rw-r--r--test/SemaCXX/constructor.cpp60
-rw-r--r--test/SemaCXX/conversion-function.cpp66
-rw-r--r--test/SemaCXX/convert-to-bool.cpp67
-rw-r--r--test/SemaCXX/converting-constructor.cpp40
-rw-r--r--test/SemaCXX/copy-assignment.cpp99
-rw-r--r--test/SemaCXX/copy-initialization.cpp23
-rw-r--r--test/SemaCXX/dcl_ambig_res.cpp66
-rw-r--r--test/SemaCXX/dcl_init_aggr.cpp122
-rw-r--r--test/SemaCXX/decl-expr-ambiguity.cpp43
-rw-r--r--test/SemaCXX/default1.cpp31
-rw-r--r--test/SemaCXX/default2.cpp123
-rw-r--r--test/SemaCXX/deleted-function.cpp36
-rw-r--r--test/SemaCXX/dependent-types.cpp10
-rw-r--r--test/SemaCXX/derived-to-base-ambig.cpp33
-rw-r--r--test/SemaCXX/destructor.cpp56
-rw-r--r--test/SemaCXX/direct-initializer.cpp36
-rw-r--r--test/SemaCXX/do-while-scope.cpp8
-rw-r--r--test/SemaCXX/dynamic-cast.cpp74
-rw-r--r--test/SemaCXX/elaborated-type-specifier.cpp47
-rw-r--r--test/SemaCXX/enum.cpp38
-rw-r--r--test/SemaCXX/exception-spec.cpp35
-rw-r--r--test/SemaCXX/exceptions.cpp99
-rw-r--r--test/SemaCXX/expressions.cpp9
-rw-r--r--test/SemaCXX/fntype-decl.cpp20
-rw-r--r--test/SemaCXX/friend.cpp6
-rw-r--r--test/SemaCXX/function-redecl.cpp26
-rw-r--r--test/SemaCXX/function-type-qual.cpp23
-rw-r--r--test/SemaCXX/functional-cast.cpp27
-rw-r--r--test/SemaCXX/i-c-e-cxx.cpp6
-rw-r--r--test/SemaCXX/implicit-int.cpp5
-rw-r--r--test/SemaCXX/inherit.cpp32
-rw-r--r--test/SemaCXX/inline.cpp5
-rw-r--r--test/SemaCXX/linkage-spec.cpp27
-rw-r--r--test/SemaCXX/member-expr-static.cpp21
-rw-r--r--test/SemaCXX/member-expr.cpp33
-rw-r--r--test/SemaCXX/member-location.cpp5
-rw-r--r--test/SemaCXX/member-name-lookup.cpp148
-rw-r--r--test/SemaCXX/member-pointer-size.cpp15
-rw-r--r--test/SemaCXX/member-pointer.cpp129
-rw-r--r--test/SemaCXX/ms-exception-spec.cpp3
-rw-r--r--test/SemaCXX/namespace-alias.cpp64
-rw-r--r--test/SemaCXX/namespace.cpp69
-rw-r--r--test/SemaCXX/nested-name-spec.cpp173
-rw-r--r--test/SemaCXX/new-delete.cpp97
-rw-r--r--test/SemaCXX/no-implicit-builtin-decls.cpp7
-rw-r--r--test/SemaCXX/nullptr.cpp67
-rw-r--r--test/SemaCXX/offsetof.cpp15
-rw-r--r--test/SemaCXX/overload-call-copycon.cpp48
-rw-r--r--test/SemaCXX/overload-call.cpp280
-rw-r--r--test/SemaCXX/overload-decl.cpp31
-rw-r--r--test/SemaCXX/overload-member-call.cpp56
-rw-r--r--test/SemaCXX/overloaded-builtin-operators.cpp122
-rw-r--r--test/SemaCXX/overloaded-operator-decl.cpp39
-rw-r--r--test/SemaCXX/overloaded-operator.cpp211
-rw-r--r--test/SemaCXX/qualification-conversion.cpp23
-rw-r--r--test/SemaCXX/qualified-id-lookup.cpp111
-rw-r--r--test/SemaCXX/qualified-names-diag.cpp33
-rw-r--r--test/SemaCXX/qualified-names-print.cpp15
-rw-r--r--test/SemaCXX/references.cpp89
-rw-r--r--test/SemaCXX/reinterpret-cast.cpp90
-rw-r--r--test/SemaCXX/reinterpret-fn-obj-pedantic.cpp9
-rw-r--r--test/SemaCXX/return-stack-addr.cpp112
-rw-r--r--test/SemaCXX/rval-references.cpp91
-rw-r--r--test/SemaCXX/statements.cpp5
-rw-r--r--test/SemaCXX/static-assert.cpp30
-rw-r--r--test/SemaCXX/static-cast.cpp129
-rw-r--r--test/SemaCXX/static-initializers.cpp12
-rw-r--r--test/SemaCXX/struct-class-redecl.cpp8
-rw-r--r--test/SemaCXX/template-specialization.cpp4
-rw-r--r--test/SemaCXX/this.cpp6
-rw-r--r--test/SemaCXX/trivial-constructor.cpp38
-rw-r--r--test/SemaCXX/trivial-destructor.cpp38
-rw-r--r--test/SemaCXX/type-convert-construct.cpp17
-rw-r--r--test/SemaCXX/type-definition-in-specifier.cpp25
-rw-r--r--test/SemaCXX/type-dependent-exprs.cpp24
-rw-r--r--test/SemaCXX/type-traits.cpp111
-rw-r--r--test/SemaCXX/typedef-redecl.cpp31
-rw-r--r--test/SemaCXX/typeid.cpp16
-rw-r--r--test/SemaCXX/types_compatible_p.cpp5
-rw-r--r--test/SemaCXX/unused.cpp15
-rw-r--r--test/SemaCXX/user-defined-conversions.cpp69
-rw-r--r--test/SemaCXX/using-directive.cpp108
-rw-r--r--test/SemaCXX/vararg-non-pod.cpp56
-rw-r--r--test/SemaCXX/virtual-override.cpp106
-rw-r--r--test/SemaCXX/virtuals.cpp38
-rw-r--r--test/SemaCXX/warn-for-var-in-else.cpp30
-rw-r--r--test/SemaCXX/wchar_t.cpp9
-rw-r--r--test/SemaObjC/ContClassPropertyLookup.m18
-rw-r--r--test/SemaObjC/DoubleMethod.m19
-rw-r--r--test/SemaObjC/access-property-getter.m35
-rw-r--r--test/SemaObjC/alias-test-1.m31
-rw-r--r--test/SemaObjC/alias-test-2.m17
-rw-r--r--test/SemaObjC/argument-checking.m25
-rw-r--r--test/SemaObjC/at-defs.m29
-rw-r--r--test/SemaObjC/attr-cleanup.m10
-rw-r--r--test/SemaObjC/attr-deprecated.m99
-rw-r--r--test/SemaObjC/attr-objc-exception.m16
-rw-r--r--test/SemaObjC/attr-objc-gc.m8
-rw-r--r--test/SemaObjC/bad-receiver-1.m19
-rw-r--r--test/SemaObjC/block-attr.m9
-rw-r--r--test/SemaObjC/block-ivar.m19
-rw-r--r--test/SemaObjC/blocks.m46
-rw-r--r--test/SemaObjC/call-super-2.m98
-rw-r--r--test/SemaObjC/catch-stmt.m13
-rw-r--r--test/SemaObjC/category-1.m56
-rw-r--r--test/SemaObjC/category-method-lookup-2.m22
-rw-r--r--test/SemaObjC/category-method-lookup.m31
-rw-r--r--test/SemaObjC/check-dup-decl-methods-1.m38
-rw-r--r--test/SemaObjC/check-dup-objc-decls-1.m39
-rw-r--r--test/SemaObjC/class-bitfield.m37
-rw-r--r--test/SemaObjC/class-conforming-protocol-1.m21
-rw-r--r--test/SemaObjC/class-conforming-protocol-2.m22
-rw-r--r--test/SemaObjC/class-def-test-1.m33
-rw-r--r--test/SemaObjC/class-extension-dup-methods.m15
-rw-r--r--test/SemaObjC/class-impl-1.m40
-rw-r--r--test/SemaObjC/class-method-lookup.m46
-rw-r--r--test/SemaObjC/class-method-self.m26
-rw-r--r--test/SemaObjC/class-property-access.m12
-rw-r--r--test/SemaObjC/class-proto-1.m36
-rw-r--r--test/SemaObjC/cocoa-pth.m7
-rw-r--r--test/SemaObjC/cocoa.m5
-rw-r--r--test/SemaObjC/compare-qualified-id.m33
-rw-r--r--test/SemaObjC/compatible-protocol-qualified-types.m75
-rw-r--r--test/SemaObjC/comptypes-1.m91
-rw-r--r--test/SemaObjC/comptypes-2.m37
-rw-r--r--test/SemaObjC/comptypes-3.m64
-rw-r--r--test/SemaObjC/comptypes-4.m25
-rw-r--r--test/SemaObjC/comptypes-5.m44
-rw-r--r--test/SemaObjC/comptypes-6.m16
-rw-r--r--test/SemaObjC/comptypes-7.m70
-rw-r--r--test/SemaObjC/comptypes-8.m12
-rw-r--r--test/SemaObjC/comptypes-9.m86
-rw-r--r--test/SemaObjC/comptypes-a.m32
-rw-r--r--test/SemaObjC/comptypes-legal.m37
-rw-r--r--test/SemaObjC/conditional-expr-2.m29
-rw-r--r--test/SemaObjC/conditional-expr-3.m67
-rw-r--r--test/SemaObjC/conditional-expr-4.m78
-rw-r--r--test/SemaObjC/conditional-expr.m44
-rw-r--r--test/SemaObjC/conflicting-ivar-test-1.m86
-rw-r--r--test/SemaObjC/continuation-class-err.m15
-rw-r--r--test/SemaObjC/duplicate-ivar-check.m22
-rw-r--r--test/SemaObjC/enhanced-proto-2.m21
-rw-r--r--test/SemaObjC/error-property-gc-attr.m27
-rw-r--r--test/SemaObjC/exprs.m21
-rw-r--r--test/SemaObjC/foreach.m18
-rw-r--r--test/SemaObjC/format-arg-attribute.m28
-rw-r--r--test/SemaObjC/format-strings-objc.m43
-rw-r--r--test/SemaObjC/forward-class-1.m47
-rw-r--r--test/SemaObjC/forward-class-receiver.m13
-rw-r--r--test/SemaObjC/gcc-cast-ext.m24
-rw-r--r--test/SemaObjC/id.m20
-rw-r--r--test/SemaObjC/id_builtin.m10
-rw-r--r--test/SemaObjC/ignore-weakimport-method.m7
-rw-r--r--test/SemaObjC/incompatible-protocol-qualified-types.m40
-rw-r--r--test/SemaObjC/inst-method-lookup-in-root.m27
-rw-r--r--test/SemaObjC/interface-1.m38
-rw-r--r--test/SemaObjC/interface-layout-2.m16
-rw-r--r--test/SemaObjC/interface-layout.m27
-rw-r--r--test/SemaObjC/interface-scope-2.m126
-rw-r--r--test/SemaObjC/interface-scope.m12
-rw-r--r--test/SemaObjC/interface-tu-variable.m26
-rw-r--r--test/SemaObjC/invalid-code.m7
-rw-r--r--test/SemaObjC/invalid-objc-decls-1.m34
-rw-r--r--test/SemaObjC/invalid-receiver.m9
-rw-r--r--test/SemaObjC/invalid-typename.m12
-rw-r--r--test/SemaObjC/ivar-access-package.m45
-rw-r--r--test/SemaObjC/ivar-access-tests.m122
-rw-r--r--test/SemaObjC/ivar-lookup.m18
-rw-r--r--test/SemaObjC/ivar-ref-misuse.m41
-rw-r--r--test/SemaObjC/ivar-sem-check-1.m19
-rw-r--r--test/SemaObjC/ivar-sem-check-2.m23
-rw-r--r--test/SemaObjC/legacy-implementation-1.m11
-rw-r--r--test/SemaObjC/message.m100
-rw-r--r--test/SemaObjC/method-arg-decay.m95
-rw-r--r--test/SemaObjC/method-attributes.m32
-rw-r--r--test/SemaObjC/method-bad-param.m30
-rw-r--r--test/SemaObjC/method-conflict.m53
-rw-r--r--test/SemaObjC/method-def-1.m40
-rw-r--r--test/SemaObjC/method-def-2.m19
-rw-r--r--test/SemaObjC/method-encoding-2.m12
-rw-r--r--test/SemaObjC/method-lookup-2.m62
-rw-r--r--test/SemaObjC/method-lookup-3.m52
-rw-r--r--test/SemaObjC/method-lookup-4.m62
-rw-r--r--test/SemaObjC/method-lookup.m34
-rw-r--r--test/SemaObjC/method-no-context.m4
-rw-r--r--test/SemaObjC/method-not-defined.m13
-rw-r--r--test/SemaObjC/method-sentinel-attr.m37
-rw-r--r--test/SemaObjC/method-typecheck-1.m37
-rw-r--r--test/SemaObjC/method-typecheck-2.m25
-rw-r--r--test/SemaObjC/method-undef-category-warn-1.m32
-rw-r--r--test/SemaObjC/method-undef-extension-warn-1.m25
-rw-r--r--test/SemaObjC/method-undefined-warn-1.m42
-rw-r--r--test/SemaObjC/missing-method-context.m4
-rw-r--r--test/SemaObjC/newproperty-class-method-1.m60
-rw-r--r--test/SemaObjC/no-gc-weak-test.m28
-rw-r--r--test/SemaObjC/no-warn-synth-protocol-meth.m17
-rw-r--r--test/SemaObjC/no-warn-unimpl-method.m42
-rw-r--r--test/SemaObjC/nsobject-attribute-1.m48
-rw-r--r--test/SemaObjC/nsobject-attribute.m36
-rw-r--r--test/SemaObjC/objc-string-constant.m39
-rw-r--r--test/SemaObjC/objc2-merge-gc-attribue-decl.m12
-rw-r--r--test/SemaObjC/objc2-warn-weak-decl.m10
-rw-r--r--test/SemaObjC/property-10.m22
-rw-r--r--test/SemaObjC/property-11.m35
-rw-r--r--test/SemaObjC/property-12.m32
-rw-r--r--test/SemaObjC/property-13.m77
-rw-r--r--test/SemaObjC/property-2.m63
-rw-r--r--test/SemaObjC/property-3.m14
-rw-r--r--test/SemaObjC/property-4.m29
-rw-r--r--test/SemaObjC/property-5.m34
-rw-r--r--test/SemaObjC/property-6.m69
-rw-r--r--test/SemaObjC/property-7.m34
-rw-r--r--test/SemaObjC/property-8.m74
-rw-r--r--test/SemaObjC/property-9-impl-method.m94
-rw-r--r--test/SemaObjC/property-9.m86
-rw-r--r--test/SemaObjC/property-category-1.m52
-rw-r--r--test/SemaObjC/property-category-2.m19
-rw-r--r--test/SemaObjC/property-category-3.m31
-rw-r--r--test/SemaObjC/property-error-readonly-assign.m21
-rw-r--r--test/SemaObjC/property-impl-misuse.m16
-rw-r--r--test/SemaObjC/property-inherited.m44
-rw-r--r--test/SemaObjC/property-ivar-mismatch.m14
-rw-r--r--test/SemaObjC/property-method-lookup-impl.m26
-rw-r--r--test/SemaObjC/property-missing.m22
-rw-r--r--test/SemaObjC/property-nonfragile-abi.m21
-rw-r--r--test/SemaObjC/property-noprotocol-warning.m36
-rw-r--r--test/SemaObjC/property-redundant-decl-accessor.m18
-rw-r--r--test/SemaObjC/property-typecheck-1.m101
-rw-r--r--test/SemaObjC/property-user-setter.m90
-rw-r--r--test/SemaObjC/property-weak.m5
-rw-r--r--test/SemaObjC/property.m55
-rw-r--r--test/SemaObjC/props-on-prots.m65
-rw-r--r--test/SemaObjC/protocol-archane.m35
-rw-r--r--test/SemaObjC/protocol-attribute.m49
-rw-r--r--test/SemaObjC/protocol-expr-1.m15
-rw-r--r--test/SemaObjC/protocol-expr-neg-1.m19
-rw-r--r--test/SemaObjC/protocol-id-test-1.m16
-rw-r--r--test/SemaObjC/protocol-id-test-2.m12
-rw-r--r--test/SemaObjC/protocol-id-test-3.m94
-rw-r--r--test/SemaObjC/protocol-implementation-inherited.m56
-rw-r--r--test/SemaObjC/protocol-lookup-2.m33
-rw-r--r--test/SemaObjC/protocol-lookup.m50
-rw-r--r--test/SemaObjC/protocol-qualified-class-unsupported.m40
-rw-r--r--test/SemaObjC/protocol-typecheck.m25
-rw-r--r--test/SemaObjC/protocols.m63
-rw-r--r--test/SemaObjC/rdr-6211479-array-property.m9
-rw-r--r--test/SemaObjC/scope-check.m103
-rw-r--r--test/SemaObjC/selector-1.m22
-rw-r--r--test/SemaObjC/selector-error.m20
-rw-r--r--test/SemaObjC/selector-overload.m47
-rw-r--r--test/SemaObjC/sizeof-interface.m79
-rw-r--r--test/SemaObjC/static-ivar-ref-1.m17
-rw-r--r--test/SemaObjC/stmts.m14
-rw-r--r--test/SemaObjC/string.m15
-rw-r--r--test/SemaObjC/super-cat-prot.m48
-rw-r--r--test/SemaObjC/super-property-message-expr.m21
-rw-r--r--test/SemaObjC/super-property-notation.m30
-rw-r--r--test/SemaObjC/super.m40
-rw-r--r--test/SemaObjC/synchronized.m23
-rw-r--r--test/SemaObjC/synthesize-setter-contclass.m24
-rw-r--r--test/SemaObjC/synthesized-ivar.m13
-rw-r--r--test/SemaObjC/try-catch.m47
-rw-r--r--test/SemaObjC/typedef-class.m78
-rw-r--r--test/SemaObjC/ucn-objc-string.m13
-rw-r--r--test/SemaObjC/undef-class-messagin-error.m13
-rw-r--r--test/SemaObjC/undef-protocol-methods-1.m42
-rw-r--r--test/SemaObjC/undef-superclass-1.m26
-rw-r--r--test/SemaObjC/undefined-protocol-type-1.m9
-rw-r--r--test/SemaObjC/unused.m18
-rw-r--r--test/SemaObjC/va-method-1.m17
-rw-r--r--test/SemaObjC/warn-selector-selection.m14
-rw-r--r--test/SemaObjC/warn-weak-field.m24
-rw-r--r--test/SemaObjC/weak-attr-ivar.m73
-rw-r--r--test/SemaObjC/writable-property-in-superclass.m17
-rw-r--r--test/SemaObjCXX/blocks.mm46
-rw-r--r--test/SemaObjCXX/cocoa.mm4
-rw-r--r--test/SemaObjCXX/linkage-spec.mm4
-rw-r--r--test/SemaObjCXX/objc-decls-inside-namespace.mm27
-rw-r--r--test/SemaObjCXX/overload.mm94
-rw-r--r--test/SemaObjCXX/protocol-lookup.mm50
-rw-r--r--test/SemaObjCXX/reserved-keyword-selectors.mm35
-rw-r--r--test/SemaObjCXX/vararg-non-pod.mm32
-rw-r--r--test/SemaObjCXX/void_to_obj.mm11
-rw-r--r--test/SemaTemplate/class-template-decl.cpp49
-rw-r--r--test/SemaTemplate/class-template-id-2.cpp24
-rw-r--r--test/SemaTemplate/class-template-id.cpp38
-rw-r--r--test/SemaTemplate/class-template-spec.cpp80
-rw-r--r--test/SemaTemplate/current-instantiation.cpp71
-rw-r--r--test/SemaTemplate/default-arguments.cpp12
-rw-r--r--test/SemaTemplate/dependent-type-identity.cpp72
-rw-r--r--test/SemaTemplate/enum-argument.cpp7
-rw-r--r--test/SemaTemplate/example-dynarray.cpp150
-rw-r--r--test/SemaTemplate/fibonacci.cpp66
-rw-r--r--test/SemaTemplate/fun-template-def.cpp43
-rw-r--r--test/SemaTemplate/injected-class-name.cpp40
-rw-r--r--test/SemaTemplate/instantiate-array.cpp28
-rw-r--r--test/SemaTemplate/instantiate-c99.cpp81
-rw-r--r--test/SemaTemplate/instantiate-call.cpp50
-rw-r--r--test/SemaTemplate/instantiate-cast.cpp109
-rw-r--r--test/SemaTemplate/instantiate-clang.cpp35
-rw-r--r--test/SemaTemplate/instantiate-complete.cpp47
-rw-r--r--test/SemaTemplate/instantiate-declref.cpp71
-rw-r--r--test/SemaTemplate/instantiate-enum.cpp11
-rw-r--r--test/SemaTemplate/instantiate-expr-1.cpp71
-rw-r--r--test/SemaTemplate/instantiate-expr-2.cpp132
-rw-r--r--test/SemaTemplate/instantiate-expr-3.cpp115
-rw-r--r--test/SemaTemplate/instantiate-expr-4.cpp289
-rw-r--r--test/SemaTemplate/instantiate-expr-basic.cpp17
-rw-r--r--test/SemaTemplate/instantiate-field.cpp28
-rw-r--r--test/SemaTemplate/instantiate-function-1.cpp211
-rw-r--r--test/SemaTemplate/instantiate-function-1.mm14
-rw-r--r--test/SemaTemplate/instantiate-function-2.cpp12
-rw-r--r--test/SemaTemplate/instantiate-member-class.cpp38
-rw-r--r--test/SemaTemplate/instantiate-method.cpp74
-rw-r--r--test/SemaTemplate/instantiate-static-var.cpp18
-rw-r--r--test/SemaTemplate/instantiate-subscript.cpp26
-rw-r--r--test/SemaTemplate/instantiate-template-template-parm.cpp21
-rw-r--r--test/SemaTemplate/instantiate-try-catch.cpp14
-rw-r--r--test/SemaTemplate/instantiate-type.cpp17
-rw-r--r--test/SemaTemplate/instantiate-typedef.cpp16
-rw-r--r--test/SemaTemplate/instantiation-backtrace.cpp32
-rw-r--r--test/SemaTemplate/instantiation-default-1.cpp102
-rw-r--r--test/SemaTemplate/instantiation-default-2.cpp18
-rw-r--r--test/SemaTemplate/instantiation-default-3.cpp21
-rw-r--r--test/SemaTemplate/instantiation-depth.cpp9
-rw-r--r--test/SemaTemplate/metafun-apply.cpp43
-rw-r--r--test/SemaTemplate/nested-name-spec-template.cpp61
-rw-r--r--test/SemaTemplate/nested-template.cpp16
-rw-r--r--test/SemaTemplate/qualified-names-diag.cpp16
-rw-r--r--test/SemaTemplate/right-angle-brackets-0x.cpp22
-rw-r--r--test/SemaTemplate/right-angle-brackets-98.cpp12
-rw-r--r--test/SemaTemplate/temp.cpp5
-rw-r--r--test/SemaTemplate/temp_arg.cpp12
-rw-r--r--test/SemaTemplate/temp_arg_nontype.cpp124
-rw-r--r--test/SemaTemplate/temp_arg_template.cpp38
-rw-r--r--test/SemaTemplate/temp_arg_type.cpp24
-rw-r--r--test/SemaTemplate/temp_class_spec.cpp20
-rw-r--r--test/SemaTemplate/temp_explicit.cpp111
-rw-r--r--test/SemaTemplate/temp_explicit_cxx0x.cpp24
-rw-r--r--test/SemaTemplate/temp_param.cpp90
-rw-r--r--test/SemaTemplate/typename-specifier-2.cpp30
-rw-r--r--test/SemaTemplate/typename-specifier.cpp74
-rwxr-xr-xtest/TestRunner.sh134
-rw-r--r--tools/CMakeLists.txt2
-rw-r--r--tools/Makefile13
-rw-r--r--tools/clang-cc/CMakeLists.txt26
-rw-r--r--tools/clang-cc/Makefile32
-rw-r--r--tools/clang-cc/clang-cc.cpp2293
-rw-r--r--tools/driver/CMakeLists.txt12
-rw-r--r--tools/driver/Makefile23
-rw-r--r--tools/driver/driver.cpp228
-rw-r--r--tools/scan-view/Reporter.py248
-rw-r--r--tools/scan-view/Resources/FileRadar.scptbin0 -> 18418 bytes
-rw-r--r--tools/scan-view/Resources/GetRadarVersion.scpt0
-rw-r--r--tools/scan-view/Resources/bugcatcher.icobin0 -> 318 bytes
-rw-r--r--tools/scan-view/ScanView.py770
-rwxr-xr-xtools/scan-view/scan-view131
-rw-r--r--tools/scan-view/startfile.py203
-rwxr-xr-xutils/ABITest/ABITestGen.py638
-rw-r--r--utils/ABITest/Enumeration.py276
-rw-r--r--utils/ABITest/Makefile.test.common170
-rw-r--r--utils/ABITest/TypeGen.py381
-rwxr-xr-xutils/ABITest/build-and-summarize-all.sh15
-rwxr-xr-xutils/ABITest/build-and-summarize.sh14
-rwxr-xr-xutils/ABITest/build.sh12
-rw-r--r--utils/ABITest/layout/Makefile68
-rw-r--r--utils/ABITest/return-types-32/Makefile7
-rw-r--r--utils/ABITest/return-types-64/Makefile7
-rw-r--r--utils/ABITest/single-args-32/Makefile7
-rw-r--r--utils/ABITest/single-args-64/Makefile13
-rwxr-xr-xutils/ABITest/summarize.sh15
-rwxr-xr-xutils/CaptureCmd73
-rwxr-xr-xutils/CmpDriver194
-rwxr-xr-xutils/FindSpecRefs910
-rwxr-xr-xutils/SummarizeErrors117
-rw-r--r--utils/builtin-defines.c85
-rwxr-xr-xutils/ccc-analyzer617
-rwxr-xr-xutils/pch-test.pl61
-rwxr-xr-xutils/scan-build1278
-rw-r--r--utils/scanview.css62
-rw-r--r--utils/sorttable.js493
-rw-r--r--utils/test/Makefile.multi21
-rwxr-xr-xutils/test/MultiTestRunner.py331
-rw-r--r--utils/test/ProgressBar.py227
-rwxr-xr-xutils/test/TestRunner.py210
-rwxr-xr-xutils/token-delta.py251
-rwxr-xr-xutils/ubiviz74
-rw-r--r--win32/clangAST/clangAST.vcproj347
-rw-r--r--win32/clangAnalysis/clangAnalysis.vcproj351
-rw-r--r--win32/clangBasic/clangBasic.vcproj236
-rw-r--r--win32/clangCodeGen/clangCodeGen.vcproj271
-rw-r--r--win32/clangDriver/clangDriver.vcproj270
-rw-r--r--win32/clangLex/clangLex.vcproj283
-rw-r--r--win32/clangLibDriver/clangLibDriver.vcproj205
-rw-r--r--win32/clangParse/clangParse.vcproj248
-rw-r--r--win32/clangRewrite/clangRewrite.vcproj191
-rw-r--r--win32/clangSema/clangSema.vcproj263
-rw-r--r--www/CheckerNotes.html9
-rw-r--r--www/OpenProjects.html112
-rw-r--r--www/StaticAnalysis.html156
-rw-r--r--www/StaticAnalysisUsage.html274
-rw-r--r--www/carbon-compile.pngbin0 -> 23702 bytes
-rw-r--r--www/clang_video-05-25-2007.html27
-rw-r--r--www/clang_video-07-25-2007.html30
-rw-r--r--www/comparison.html195
-rw-r--r--www/content.css25
-rw-r--r--www/cxx_status.html2320
-rw-r--r--www/demo/DemoInfo.html83
-rw-r--r--www/demo/cathead.pngbin0 -> 21602 bytes
-rw-r--r--www/demo/index.cgi461
-rw-r--r--www/demo/syntax.css4
-rw-r--r--www/demo/what is this directory.txt15
-rw-r--r--www/diagnostics.html279
-rw-r--r--www/distclang_status.html30
-rw-r--r--www/feature-compile1.pngbin0 -> 91247 bytes
-rw-r--r--www/feature-compile2.pngbin0 -> 140963 bytes
-rw-r--r--www/feature-memory1.pngbin0 -> 92680 bytes
-rw-r--r--www/features.html423
-rw-r--r--www/get_involved.html61
-rw-r--r--www/get_started.html228
-rw-r--r--www/hacking.html101
-rw-r--r--www/index.html117
-rw-r--r--www/latest_checker.html.incl1
-rw-r--r--www/menu.css39
-rw-r--r--www/menu.html.incl43
-rw-r--r--www/performance-2008-10-31.html134
-rw-r--r--www/performance.html112
-rw-r--r--www/timing-data/2008-10-31/176.gcc-01.txt135
-rw-r--r--www/timing-data/2008-10-31/176.gcc-02.txt135
-rw-r--r--www/timing-data/2008-10-31/176.gcc.pngbin0 -> 20395 bytes
-rw-r--r--www/timing-data/2008-10-31/sketch-01.txt187
-rw-r--r--www/timing-data/2008-10-31/sketch-02.txt187
-rw-r--r--www/timing-data/2008-10-31/sketch.pngbin0 -> 23482 bytes
-rw-r--r--www/timing-data/2009-03-02/176.gcc.pdfbin0 -> 34547 bytes
-rw-r--r--www/timing-data/2009-03-02/176.gcc.pngbin0 -> 77003 bytes
-rw-r--r--www/timing-data/2009-03-02/176.gcc.txt1120
-rw-r--r--www/timing-data/2009-03-02/sketch.pdfbin0 -> 36086 bytes
-rw-r--r--www/timing-data/2009-03-02/sketch.pngbin0 -> 78278 bytes
-rw-r--r--www/timing-data/2009-03-02/sketch.txt2368
1829 files changed, 297910 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 000000000000..8ca44b844574
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,56 @@
+macro(add_clang_library name)
+ set(srcs ${ARGN})
+ if(MSVC_IDE OR XCODE)
+ file( GLOB_RECURSE headers *.h)
+ set(srcs ${srcs} ${headers})
+ string( REGEX MATCHALL "/[^/]+" split_path ${CMAKE_CURRENT_SOURCE_DIR})
+ list( GET split_path -1 dir)
+ file( GLOB_RECURSE headers ../../include/clang${dir}/*.h)
+ set(srcs ${srcs} ${headers})
+ endif(MSVC_IDE OR XCODE)
+ add_library( ${name} ${srcs} )
+ if( LLVM_COMMON_DEPENDS )
+ add_dependencies( ${name} ${LLVM_COMMON_DEPENDS} )
+ endif( LLVM_COMMON_DEPENDS )
+ add_dependencies(${name} ClangDiagnosticCommon)
+ if(MSVC)
+ get_target_property(cflag ${name} COMPILE_FLAGS)
+ if(NOT cflag)
+ set(cflag "")
+ endif(NOT cflag)
+ set(cflag "${cflag} /Za")
+ set_target_properties(${name} PROPERTIES COMPILE_FLAGS ${cflag})
+ endif(MSVC)
+ install(TARGETS ${name}
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib)
+endmacro(add_clang_library)
+
+macro(add_clang_executable name)
+ set(srcs ${ARGN})
+ if(MSVC_IDE)
+ file( GLOB_RECURSE headers *.h)
+ set(srcs ${srcs} ${headers})
+ endif(MSVC_IDE)
+ add_llvm_executable( ${name} ${srcs} )
+ install(TARGETS ${name}
+ RUNTIME DESTINATION bin)
+endmacro(add_clang_executable)
+
+include_directories(
+ ${CMAKE_CURRENT_SOURCE_DIR}/include
+ ${CMAKE_CURRENT_BINARY_DIR}/include
+ )
+
+install(DIRECTORY include
+ DESTINATION .
+ PATTERN ".svn" EXCLUDE
+ )
+
+add_definitions( -D_GNU_SOURCE )
+
+add_subdirectory(include)
+add_subdirectory(lib)
+add_subdirectory(tools)
+
+# TODO: docs.
diff --git a/INPUTS/Cocoa_h.m b/INPUTS/Cocoa_h.m
new file mode 100644
index 000000000000..e6ba59924d6d
--- /dev/null
+++ b/INPUTS/Cocoa_h.m
@@ -0,0 +1,2 @@
+
+#import <Cocoa/Cocoa.h>
diff --git a/INPUTS/c99-intconst-1.c b/INPUTS/c99-intconst-1.c
new file mode 100644
index 000000000000..629b0bcac205
--- /dev/null
+++ b/INPUTS/c99-intconst-1.c
@@ -0,0 +1,639 @@
+/* Test for integer constant types. */
+
+/* Origin: Joseph Myers <jsm28@cam.ac.uk>. */
+/* { dg-do compile } */
+/* { dg-options "-std=iso9899:1999 -pedantic-errors" } */
+
+#include <limits.h>
+
+/* Assertion that constant C is of type T. */
+#define ASSERT_CONST_TYPE(C, T) \
+ do { \
+ typedef T type; \
+ typedef type **typepp; \
+ typedef __typeof__((C)) ctype; \
+ typedef ctype **ctypepp; \
+ typepp x = 0; \
+ ctypepp y = 0; \
+ x = y; \
+ y = x; \
+ } while (0)
+
+/* (T *) if E is zero, (void *) otherwise. */
+#define type_if_not(T, E) __typeof__(0 ? (T *)0 : (void *)(E))
+
+/* (T *) if E is nonzero, (void *) otherwise. */
+#define type_if(T, E) type_if_not(T, !(E))
+
+/* Combine pointer types, all but one (void *). */
+#define type_comb2(T1, T2) __typeof__(0 ? (T1)0 : (T2)0)
+#define type_comb3(T1, T2, T3) type_comb2(T1, type_comb2(T2, T3))
+#define type_comb4(T1, T2, T3, T4) \
+ type_comb2(T1, type_comb2(T2, type_comb2(T3, T4)))
+#define type_comb6(T1, T2, T3, T4, T5, T6) \
+ type_comb2(T1, \
+ type_comb2(T2, \
+ type_comb2(T3, \
+ type_comb2(T4, \
+ type_comb2(T5, T6)))))
+
+/* (T1 *) if E1, otherwise (T2 *) if E2. */
+#define first_of2p(T1, E1, T2, E2) type_comb2(type_if(T1, (E1)), \
+ type_if(T2, (!(E1) && (E2))))
+/* (T1 *) if E1, otherwise (T2 *) if E2, otherwise (T3 *) if E3. */
+#define first_of3p(T1, E1, T2, E2, T3, E3) \
+ type_comb3(type_if(T1, (E1)), \
+ type_if(T2, (!(E1) && (E2))), \
+ type_if(T3, (!(E1) && !(E2) && (E3))))
+/* (T1 *) if E1, otherwise (T2 *) if E2, otherwise (T3 *) if E3, otherwise
+ (T4 *) if E4. */
+#define first_of4p(T1, E1, T2, E2, T3, E3, T4, E4) \
+ type_comb4(type_if(T1, (E1)), \
+ type_if(T2, (!(E1) && (E2))), \
+ type_if(T3, (!(E1) && !(E2) && (E3))), \
+ type_if(T4, (!(E1) && !(E2) && !(E3) && (E4))))
+/* (T1 *) if E1, otherwise (T2 *) if E2, otherwise (T3 *) if E3, otherwise
+ (T4 *) if E4, otherwise (T5 *) if E5, otherwise (T6 *) if E6. */
+#define first_of6p(T1, E1, T2, E2, T3, E3, T4, E4, T5, E5, T6, E6) \
+ type_comb6(type_if(T1, (E1)), \
+ type_if(T2, (!(E1) && (E2))), \
+ type_if(T3, (!(E1) && !(E2) && (E3))), \
+ type_if(T4, (!(E1) && !(E2) && !(E3) && (E4))), \
+ type_if(T5, (!(E1) && !(E2) && !(E3) && !(E4) && (E5))), \
+ type_if(T6, (!(E1) && !(E2) && !(E3) \
+ && !(E4) && !(E5) && (E6))))
+
+/* Likewise, but return the original type rather than a pointer type. */
+#define first_of2(T1, E1, T2, E2) \
+ __typeof__(*((first_of2p(T1, (E1), T2, (E2)))0))
+#define first_of3(T1, E1, T2, E2, T3, E3) \
+ __typeof__(*((first_of3p(T1, (E1), T2, (E2), T3, (E3)))0))
+#define first_of4(T1, E1, T2, E2, T3, E3, T4, E4) \
+ __typeof__(*((first_of4p(T1, (E1), T2, (E2), T3, (E3), T4, (E4)))0))
+#define first_of6(T1, E1, T2, E2, T3, E3, T4, E4, T5, E5, T6, E6) \
+ __typeof__(*((first_of6p(T1, (E1), T2, (E2), T3, (E3), \
+ T4, (E4), T5, (E5), T6, (E6)))0))
+
+/* Types of constants according to the C99 rules. */
+#define C99_UNSUF_DEC_TYPE(C) \
+ first_of3(int, (C) <= INT_MAX, \
+ long int, (C) <= LONG_MAX, \
+ long long int, (C) <= LLONG_MAX)
+#define C99_UNSUF_OCTHEX_TYPE(C) \
+ first_of6(int, (C) <= INT_MAX, \
+ unsigned int, (C) <= UINT_MAX, \
+ long int, (C) <= LONG_MAX, \
+ unsigned long int, (C) <= ULONG_MAX, \
+ long long int, (C) <= LLONG_MAX, \
+ unsigned long long int, (C) <= ULLONG_MAX)
+#define C99_SUFu_TYPE(C) \
+ first_of3(unsigned int, (C) <= UINT_MAX, \
+ unsigned long int, (C) <= ULONG_MAX, \
+ unsigned long long int, (C) <= ULLONG_MAX)
+#define C99_SUFl_DEC_TYPE(C) \
+ first_of2(long int, (C) <= LONG_MAX, \
+ long long int, (C) <= LLONG_MAX)
+#define C99_SUFl_OCTHEX_TYPE(C) \
+ first_of4(long int, (C) <= LONG_MAX, \
+ unsigned long int, (C) <= ULONG_MAX, \
+ long long int, (C) <= LLONG_MAX, \
+ unsigned long long int, (C) <= ULLONG_MAX)
+#define C99_SUFul_TYPE(C) \
+ first_of2(unsigned long int, (C) <= ULONG_MAX, \
+ unsigned long long int, (C) <= ULLONG_MAX)
+#define C99_SUFll_OCTHEX_TYPE(C) \
+ first_of2(long long int, (C) <= LLONG_MAX, \
+ unsigned long long int, (C) <= ULLONG_MAX)
+
+/* Checks that constants have correct type. */
+#define CHECK_UNSUF_DEC_TYPE(C) ASSERT_CONST_TYPE((C), C99_UNSUF_DEC_TYPE((C)))
+#define CHECK_UNSUF_OCTHEX_TYPE(C) \
+ ASSERT_CONST_TYPE((C), C99_UNSUF_OCTHEX_TYPE((C)))
+#define CHECK_SUFu_TYPE(C) ASSERT_CONST_TYPE((C), C99_SUFu_TYPE((C)))
+#define CHECK_SUFl_DEC_TYPE(C) ASSERT_CONST_TYPE((C), C99_SUFl_DEC_TYPE((C)))
+#define CHECK_SUFl_OCTHEX_TYPE(C) \
+ ASSERT_CONST_TYPE((C), C99_SUFl_OCTHEX_TYPE((C)))
+#define CHECK_SUFul_TYPE(C) ASSERT_CONST_TYPE((C), C99_SUFul_TYPE((C)))
+#define CHECK_SUFll_DEC_TYPE(C) ASSERT_CONST_TYPE((C), long long int)
+#define CHECK_SUFll_OCTHEX_TYPE(C) \
+ ASSERT_CONST_TYPE((C), C99_SUFll_OCTHEX_TYPE((C)))
+#define CHECK_SUFull_TYPE(C) ASSERT_CONST_TYPE((C), unsigned long long int)
+
+/* Check a decimal value, with all suffixes. */
+#define CHECK_DEC_CONST(C) \
+ CHECK_UNSUF_DEC_TYPE(C); \
+ CHECK_SUFu_TYPE(C##u); \
+ CHECK_SUFu_TYPE(C##U); \
+ CHECK_SUFl_DEC_TYPE(C##l); \
+ CHECK_SUFl_DEC_TYPE(C##L); \
+ CHECK_SUFul_TYPE(C##ul); \
+ CHECK_SUFul_TYPE(C##uL); \
+ CHECK_SUFul_TYPE(C##Ul); \
+ CHECK_SUFul_TYPE(C##UL); \
+ CHECK_SUFll_DEC_TYPE(C##ll); \
+ CHECK_SUFll_DEC_TYPE(C##LL); \
+ CHECK_SUFull_TYPE(C##ull); \
+ CHECK_SUFull_TYPE(C##uLL); \
+ CHECK_SUFull_TYPE(C##Ull); \
+ CHECK_SUFull_TYPE(C##ULL);
+
+/* Check an octal or hexadecimal value, with all suffixes. */
+#define CHECK_OCTHEX_CONST(C) \
+ CHECK_UNSUF_OCTHEX_TYPE(C); \
+ CHECK_SUFu_TYPE(C##u); \
+ CHECK_SUFu_TYPE(C##U); \
+ CHECK_SUFl_OCTHEX_TYPE(C##l); \
+ CHECK_SUFl_OCTHEX_TYPE(C##L); \
+ CHECK_SUFul_TYPE(C##ul); \
+ CHECK_SUFul_TYPE(C##uL); \
+ CHECK_SUFul_TYPE(C##Ul); \
+ CHECK_SUFul_TYPE(C##UL); \
+ CHECK_SUFll_OCTHEX_TYPE(C##ll); \
+ CHECK_SUFll_OCTHEX_TYPE(C##LL); \
+ CHECK_SUFull_TYPE(C##ull); \
+ CHECK_SUFull_TYPE(C##uLL); \
+ CHECK_SUFull_TYPE(C##Ull); \
+ CHECK_SUFull_TYPE(C##ULL);
+
+#define CHECK_OCT_CONST(C) CHECK_OCTHEX_CONST(C)
+#define CHECK_HEX_CONST(C) \
+ CHECK_OCTHEX_CONST(0x##C); \
+ CHECK_OCTHEX_CONST(0X##C);
+
+/* True iff "long long" is at least B bits. This presumes that (B-2)/3 is at
+ most 63. */
+#define LLONG_AT_LEAST(B) \
+ (LLONG_MAX >> ((B)-2)/3 >> ((B)-2)/3 \
+ >> ((B)-2 - ((B)-2)/3 - ((B)-2)/3))
+
+#define LLONG_HAS_BITS(B) (LLONG_AT_LEAST((B)) && !LLONG_AT_LEAST((B) + 1))
+
+void
+foo (void)
+{
+ /* Decimal. */
+ /* Check all 2^n and 2^n - 1 up to 2^71 - 1. */
+ CHECK_DEC_CONST(1);
+ CHECK_DEC_CONST(2);
+ CHECK_DEC_CONST(3);
+ CHECK_DEC_CONST(4);
+ CHECK_DEC_CONST(7);
+ CHECK_DEC_CONST(8);
+ CHECK_DEC_CONST(15);
+ CHECK_DEC_CONST(16);
+ CHECK_DEC_CONST(31);
+ CHECK_DEC_CONST(32);
+ CHECK_DEC_CONST(63);
+ CHECK_DEC_CONST(64);
+ CHECK_DEC_CONST(127);
+ CHECK_DEC_CONST(128);
+ CHECK_DEC_CONST(255);
+ CHECK_DEC_CONST(256);
+ CHECK_DEC_CONST(511);
+ CHECK_DEC_CONST(512);
+ CHECK_DEC_CONST(1023);
+ CHECK_DEC_CONST(1024);
+ CHECK_DEC_CONST(2047);
+ CHECK_DEC_CONST(2048);
+ CHECK_DEC_CONST(4095);
+ CHECK_DEC_CONST(4096);
+ CHECK_DEC_CONST(8191);
+ CHECK_DEC_CONST(8192);
+ CHECK_DEC_CONST(16383);
+ CHECK_DEC_CONST(16384);
+ CHECK_DEC_CONST(32767);
+ CHECK_DEC_CONST(32768);
+ CHECK_DEC_CONST(65535);
+ CHECK_DEC_CONST(65536);
+ CHECK_DEC_CONST(131071);
+ CHECK_DEC_CONST(131072);
+ CHECK_DEC_CONST(262143);
+ CHECK_DEC_CONST(262144);
+ CHECK_DEC_CONST(524287);
+ CHECK_DEC_CONST(524288);
+ CHECK_DEC_CONST(1048575);
+ CHECK_DEC_CONST(1048576);
+ CHECK_DEC_CONST(2097151);
+ CHECK_DEC_CONST(2097152);
+ CHECK_DEC_CONST(4194303);
+ CHECK_DEC_CONST(4194304);
+ CHECK_DEC_CONST(8388607);
+ CHECK_DEC_CONST(8388608);
+ CHECK_DEC_CONST(16777215);
+ CHECK_DEC_CONST(16777216);
+ CHECK_DEC_CONST(33554431);
+ CHECK_DEC_CONST(33554432);
+ CHECK_DEC_CONST(67108863);
+ CHECK_DEC_CONST(67108864);
+ CHECK_DEC_CONST(134217727);
+ CHECK_DEC_CONST(134217728);
+ CHECK_DEC_CONST(268435455);
+ CHECK_DEC_CONST(268435456);
+ CHECK_DEC_CONST(536870911);
+ CHECK_DEC_CONST(536870912);
+ CHECK_DEC_CONST(1073741823);
+ CHECK_DEC_CONST(1073741824);
+ CHECK_DEC_CONST(2147483647);
+ CHECK_DEC_CONST(2147483648);
+ CHECK_DEC_CONST(4294967295);
+ CHECK_DEC_CONST(4294967296);
+ CHECK_DEC_CONST(8589934591);
+ CHECK_DEC_CONST(8589934592);
+ CHECK_DEC_CONST(17179869183);
+ CHECK_DEC_CONST(17179869184);
+ CHECK_DEC_CONST(34359738367);
+ CHECK_DEC_CONST(34359738368);
+ CHECK_DEC_CONST(68719476735);
+ CHECK_DEC_CONST(68719476736);
+ CHECK_DEC_CONST(137438953471);
+ CHECK_DEC_CONST(137438953472);
+ CHECK_DEC_CONST(274877906943);
+ CHECK_DEC_CONST(274877906944);
+ CHECK_DEC_CONST(549755813887);
+ CHECK_DEC_CONST(549755813888);
+ CHECK_DEC_CONST(1099511627775);
+ CHECK_DEC_CONST(1099511627776);
+ CHECK_DEC_CONST(2199023255551);
+ CHECK_DEC_CONST(2199023255552);
+ CHECK_DEC_CONST(4398046511103);
+ CHECK_DEC_CONST(4398046511104);
+ CHECK_DEC_CONST(8796093022207);
+ CHECK_DEC_CONST(8796093022208);
+ CHECK_DEC_CONST(17592186044415);
+ CHECK_DEC_CONST(17592186044416);
+ CHECK_DEC_CONST(35184372088831);
+ CHECK_DEC_CONST(35184372088832);
+ CHECK_DEC_CONST(70368744177663);
+ CHECK_DEC_CONST(70368744177664);
+ CHECK_DEC_CONST(140737488355327);
+ CHECK_DEC_CONST(140737488355328);
+ CHECK_DEC_CONST(281474976710655);
+ CHECK_DEC_CONST(281474976710656);
+ CHECK_DEC_CONST(562949953421311);
+ CHECK_DEC_CONST(562949953421312);
+ CHECK_DEC_CONST(1125899906842623);
+ CHECK_DEC_CONST(1125899906842624);
+ CHECK_DEC_CONST(2251799813685247);
+ CHECK_DEC_CONST(2251799813685248);
+ CHECK_DEC_CONST(4503599627370495);
+ CHECK_DEC_CONST(4503599627370496);
+ CHECK_DEC_CONST(9007199254740991);
+ CHECK_DEC_CONST(9007199254740992);
+ CHECK_DEC_CONST(18014398509481983);
+ CHECK_DEC_CONST(18014398509481984);
+ CHECK_DEC_CONST(36028797018963967);
+ CHECK_DEC_CONST(36028797018963968);
+ CHECK_DEC_CONST(72057594037927935);
+ CHECK_DEC_CONST(72057594037927936);
+ CHECK_DEC_CONST(144115188075855871);
+ CHECK_DEC_CONST(144115188075855872);
+ CHECK_DEC_CONST(288230376151711743);
+ CHECK_DEC_CONST(288230376151711744);
+ CHECK_DEC_CONST(576460752303423487);
+ CHECK_DEC_CONST(576460752303423488);
+ CHECK_DEC_CONST(1152921504606846975);
+ CHECK_DEC_CONST(1152921504606846976);
+ CHECK_DEC_CONST(2305843009213693951);
+ CHECK_DEC_CONST(2305843009213693952);
+ CHECK_DEC_CONST(4611686018427387903);
+ CHECK_DEC_CONST(4611686018427387904);
+ CHECK_DEC_CONST(9223372036854775807);
+#if LLONG_AT_LEAST(65)
+ CHECK_DEC_CONST(9223372036854775808);
+ CHECK_DEC_CONST(18446744073709551615);
+#endif
+#if LLONG_AT_LEAST(66)
+ CHECK_DEC_CONST(18446744073709551616);
+ CHECK_DEC_CONST(36893488147419103231);
+#endif
+#if LLONG_AT_LEAST(67)
+ CHECK_DEC_CONST(36893488147419103232);
+ CHECK_DEC_CONST(73786976294838206463);
+#endif
+#if LLONG_AT_LEAST(68)
+ CHECK_DEC_CONST(73786976294838206464);
+ CHECK_DEC_CONST(147573952589676412927);
+#endif
+#if LLONG_AT_LEAST(69)
+ CHECK_DEC_CONST(147573952589676412928);
+ CHECK_DEC_CONST(295147905179352825855);
+#endif
+#if LLONG_AT_LEAST(70)
+ CHECK_DEC_CONST(295147905179352825856);
+ CHECK_DEC_CONST(590295810358705651711);
+#endif
+#if LLONG_AT_LEAST(71)
+ CHECK_DEC_CONST(590295810358705651712);
+ CHECK_DEC_CONST(1180591620717411303423);
+#endif
+#if LLONG_AT_LEAST(72)
+ CHECK_DEC_CONST(1180591620717411303424);
+ CHECK_DEC_CONST(2361183241434822606847);
+#endif
+ /* Octal and hexadecimal. */
+ /* Check all 2^n and 2^n - 1 up to 2^72 - 1. */
+ CHECK_OCT_CONST(0);
+ CHECK_HEX_CONST(0);
+ CHECK_OCT_CONST(01);
+ CHECK_HEX_CONST(1);
+ CHECK_OCT_CONST(02);
+ CHECK_HEX_CONST(2);
+ CHECK_OCT_CONST(03);
+ CHECK_HEX_CONST(3);
+ CHECK_OCT_CONST(04);
+ CHECK_HEX_CONST(4);
+ CHECK_OCT_CONST(07);
+ CHECK_HEX_CONST(7);
+ CHECK_OCT_CONST(010);
+ CHECK_HEX_CONST(8);
+ CHECK_OCT_CONST(017);
+ CHECK_HEX_CONST(f);
+ CHECK_OCT_CONST(020);
+ CHECK_HEX_CONST(10);
+ CHECK_OCT_CONST(037);
+ CHECK_HEX_CONST(1f);
+ CHECK_OCT_CONST(040);
+ CHECK_HEX_CONST(20);
+ CHECK_OCT_CONST(077);
+ CHECK_HEX_CONST(3f);
+ CHECK_OCT_CONST(0100);
+ CHECK_HEX_CONST(40);
+ CHECK_OCT_CONST(0177);
+ CHECK_HEX_CONST(7f);
+ CHECK_OCT_CONST(0200);
+ CHECK_HEX_CONST(80);
+ CHECK_OCT_CONST(0377);
+ CHECK_HEX_CONST(ff);
+ CHECK_OCT_CONST(0400);
+ CHECK_HEX_CONST(100);
+ CHECK_OCT_CONST(0777);
+ CHECK_HEX_CONST(1ff);
+ CHECK_OCT_CONST(01000);
+ CHECK_HEX_CONST(200);
+ CHECK_OCT_CONST(01777);
+ CHECK_HEX_CONST(3ff);
+ CHECK_OCT_CONST(02000);
+ CHECK_HEX_CONST(400);
+ CHECK_OCT_CONST(03777);
+ CHECK_HEX_CONST(7ff);
+ CHECK_OCT_CONST(04000);
+ CHECK_HEX_CONST(800);
+ CHECK_OCT_CONST(07777);
+ CHECK_HEX_CONST(fff);
+ CHECK_OCT_CONST(010000);
+ CHECK_HEX_CONST(1000);
+ CHECK_OCT_CONST(017777);
+ CHECK_HEX_CONST(1fff);
+ CHECK_OCT_CONST(020000);
+ CHECK_HEX_CONST(2000);
+ CHECK_OCT_CONST(037777);
+ CHECK_HEX_CONST(3fff);
+ CHECK_OCT_CONST(040000);
+ CHECK_HEX_CONST(4000);
+ CHECK_OCT_CONST(077777);
+ CHECK_HEX_CONST(7fff);
+ CHECK_OCT_CONST(0100000);
+ CHECK_HEX_CONST(8000);
+ CHECK_OCT_CONST(0177777);
+ CHECK_HEX_CONST(ffff);
+ CHECK_OCT_CONST(0200000);
+ CHECK_HEX_CONST(10000);
+ CHECK_OCT_CONST(0377777);
+ CHECK_HEX_CONST(1ffff);
+ CHECK_OCT_CONST(0400000);
+ CHECK_HEX_CONST(20000);
+ CHECK_OCT_CONST(0777777);
+ CHECK_HEX_CONST(3ffff);
+ CHECK_OCT_CONST(01000000);
+ CHECK_HEX_CONST(40000);
+ CHECK_OCT_CONST(01777777);
+ CHECK_HEX_CONST(7ffff);
+ CHECK_OCT_CONST(02000000);
+ CHECK_HEX_CONST(80000);
+ CHECK_OCT_CONST(03777777);
+ CHECK_HEX_CONST(fffff);
+ CHECK_OCT_CONST(04000000);
+ CHECK_HEX_CONST(100000);
+ CHECK_OCT_CONST(07777777);
+ CHECK_HEX_CONST(1fffff);
+ CHECK_OCT_CONST(010000000);
+ CHECK_HEX_CONST(200000);
+ CHECK_OCT_CONST(017777777);
+ CHECK_HEX_CONST(3fffff);
+ CHECK_OCT_CONST(020000000);
+ CHECK_HEX_CONST(400000);
+ CHECK_OCT_CONST(037777777);
+ CHECK_HEX_CONST(7fffff);
+ CHECK_OCT_CONST(040000000);
+ CHECK_HEX_CONST(800000);
+ CHECK_OCT_CONST(077777777);
+ CHECK_HEX_CONST(ffffff);
+ CHECK_OCT_CONST(0100000000);
+ CHECK_HEX_CONST(1000000);
+ CHECK_OCT_CONST(0177777777);
+ CHECK_HEX_CONST(1ffffff);
+ CHECK_OCT_CONST(0200000000);
+ CHECK_HEX_CONST(2000000);
+ CHECK_OCT_CONST(0377777777);
+ CHECK_HEX_CONST(3ffffff);
+ CHECK_OCT_CONST(0400000000);
+ CHECK_HEX_CONST(4000000);
+ CHECK_OCT_CONST(0777777777);
+ CHECK_HEX_CONST(7ffffff);
+ CHECK_OCT_CONST(01000000000);
+ CHECK_HEX_CONST(8000000);
+ CHECK_OCT_CONST(01777777777);
+ CHECK_HEX_CONST(fffffff);
+ CHECK_OCT_CONST(02000000000);
+ CHECK_HEX_CONST(10000000);
+ CHECK_OCT_CONST(03777777777);
+ CHECK_HEX_CONST(1fffffff);
+ CHECK_OCT_CONST(04000000000);
+ CHECK_HEX_CONST(20000000);
+ CHECK_OCT_CONST(07777777777);
+ CHECK_HEX_CONST(3fffffff);
+ CHECK_OCT_CONST(010000000000);
+ CHECK_HEX_CONST(40000000);
+ CHECK_OCT_CONST(017777777777);
+ CHECK_HEX_CONST(7fffffff);
+ CHECK_OCT_CONST(020000000000);
+ CHECK_HEX_CONST(80000000);
+ CHECK_OCT_CONST(037777777777);
+ CHECK_HEX_CONST(ffffffff);
+ CHECK_OCT_CONST(040000000000);
+ CHECK_HEX_CONST(100000000);
+ CHECK_OCT_CONST(077777777777);
+ CHECK_HEX_CONST(1ffffffff);
+ CHECK_OCT_CONST(0100000000000);
+ CHECK_HEX_CONST(200000000);
+ CHECK_OCT_CONST(0177777777777);
+ CHECK_HEX_CONST(3ffffffff);
+ CHECK_OCT_CONST(0200000000000);
+ CHECK_HEX_CONST(400000000);
+ CHECK_OCT_CONST(0377777777777);
+ CHECK_HEX_CONST(7ffffffff);
+ CHECK_OCT_CONST(0400000000000);
+ CHECK_HEX_CONST(800000000);
+ CHECK_OCT_CONST(0777777777777);
+ CHECK_HEX_CONST(fffffffff);
+ CHECK_OCT_CONST(01000000000000);
+ CHECK_HEX_CONST(1000000000);
+ CHECK_OCT_CONST(01777777777777);
+ CHECK_HEX_CONST(1fffffffff);
+ CHECK_OCT_CONST(02000000000000);
+ CHECK_HEX_CONST(2000000000);
+ CHECK_OCT_CONST(03777777777777);
+ CHECK_HEX_CONST(3fffffffff);
+ CHECK_OCT_CONST(04000000000000);
+ CHECK_HEX_CONST(4000000000);
+ CHECK_OCT_CONST(07777777777777);
+ CHECK_HEX_CONST(7fffffffff);
+ CHECK_OCT_CONST(010000000000000);
+ CHECK_HEX_CONST(8000000000);
+ CHECK_OCT_CONST(017777777777777);
+ CHECK_HEX_CONST(ffffffffff);
+ CHECK_OCT_CONST(020000000000000);
+ CHECK_HEX_CONST(10000000000);
+ CHECK_OCT_CONST(037777777777777);
+ CHECK_HEX_CONST(1ffffffffff);
+ CHECK_OCT_CONST(040000000000000);
+ CHECK_HEX_CONST(20000000000);
+ CHECK_OCT_CONST(077777777777777);
+ CHECK_HEX_CONST(3ffffffffff);
+ CHECK_OCT_CONST(0100000000000000);
+ CHECK_HEX_CONST(40000000000);
+ CHECK_OCT_CONST(0177777777777777);
+ CHECK_HEX_CONST(7ffffffffff);
+ CHECK_OCT_CONST(0200000000000000);
+ CHECK_HEX_CONST(80000000000);
+ CHECK_OCT_CONST(0377777777777777);
+ CHECK_HEX_CONST(fffffffffff);
+ CHECK_OCT_CONST(0400000000000000);
+ CHECK_HEX_CONST(100000000000);
+ CHECK_OCT_CONST(0777777777777777);
+ CHECK_HEX_CONST(1fffffffffff);
+ CHECK_OCT_CONST(01000000000000000);
+ CHECK_HEX_CONST(200000000000);
+ CHECK_OCT_CONST(01777777777777777);
+ CHECK_HEX_CONST(3fffffffffff);
+ CHECK_OCT_CONST(02000000000000000);
+ CHECK_HEX_CONST(400000000000);
+ CHECK_OCT_CONST(03777777777777777);
+ CHECK_HEX_CONST(7fffffffffff);
+ CHECK_OCT_CONST(04000000000000000);
+ CHECK_HEX_CONST(800000000000);
+ CHECK_OCT_CONST(07777777777777777);
+ CHECK_HEX_CONST(ffffffffffff);
+ CHECK_OCT_CONST(010000000000000000);
+ CHECK_HEX_CONST(1000000000000);
+ CHECK_OCT_CONST(017777777777777777);
+ CHECK_HEX_CONST(1ffffffffffff);
+ CHECK_OCT_CONST(020000000000000000);
+ CHECK_HEX_CONST(2000000000000);
+ CHECK_OCT_CONST(037777777777777777);
+ CHECK_HEX_CONST(3ffffffffffff);
+ CHECK_OCT_CONST(040000000000000000);
+ CHECK_HEX_CONST(4000000000000);
+ CHECK_OCT_CONST(077777777777777777);
+ CHECK_HEX_CONST(7ffffffffffff);
+ CHECK_OCT_CONST(0100000000000000000);
+ CHECK_HEX_CONST(8000000000000);
+ CHECK_OCT_CONST(0177777777777777777);
+ CHECK_HEX_CONST(fffffffffffff);
+ CHECK_OCT_CONST(0200000000000000000);
+ CHECK_HEX_CONST(10000000000000);
+ CHECK_OCT_CONST(0377777777777777777);
+ CHECK_HEX_CONST(1fffffffffffff);
+ CHECK_OCT_CONST(0400000000000000000);
+ CHECK_HEX_CONST(20000000000000);
+ CHECK_OCT_CONST(0777777777777777777);
+ CHECK_HEX_CONST(3fffffffffffff);
+ CHECK_OCT_CONST(01000000000000000000);
+ CHECK_HEX_CONST(40000000000000);
+ CHECK_OCT_CONST(01777777777777777777);
+ CHECK_HEX_CONST(7fffffffffffff);
+ CHECK_OCT_CONST(02000000000000000000);
+ CHECK_HEX_CONST(80000000000000);
+ CHECK_OCT_CONST(03777777777777777777);
+ CHECK_HEX_CONST(ffffffffffffff);
+ CHECK_OCT_CONST(04000000000000000000);
+ CHECK_HEX_CONST(100000000000000);
+ CHECK_OCT_CONST(07777777777777777777);
+ CHECK_HEX_CONST(1ffffffffffffff);
+ CHECK_OCT_CONST(010000000000000000000);
+ CHECK_HEX_CONST(200000000000000);
+ CHECK_OCT_CONST(017777777777777777777);
+ CHECK_HEX_CONST(3ffffffffffffff);
+ CHECK_OCT_CONST(020000000000000000000);
+ CHECK_HEX_CONST(400000000000000);
+ CHECK_OCT_CONST(037777777777777777777);
+ CHECK_HEX_CONST(7ffffffffffffff);
+ CHECK_OCT_CONST(040000000000000000000);
+ CHECK_HEX_CONST(800000000000000);
+ CHECK_OCT_CONST(077777777777777777777);
+ CHECK_HEX_CONST(fffffffffffffff);
+ CHECK_OCT_CONST(0100000000000000000000);
+ CHECK_HEX_CONST(1000000000000000);
+ CHECK_OCT_CONST(0177777777777777777777);
+ CHECK_HEX_CONST(1fffffffffffffff);
+ CHECK_OCT_CONST(0200000000000000000000);
+ CHECK_HEX_CONST(2000000000000000);
+ CHECK_OCT_CONST(0377777777777777777777);
+ CHECK_HEX_CONST(3fffffffffffffff);
+ CHECK_OCT_CONST(0400000000000000000000);
+ CHECK_HEX_CONST(4000000000000000);
+ CHECK_OCT_CONST(0777777777777777777777);
+ CHECK_HEX_CONST(7fffffffffffffff);
+ CHECK_OCT_CONST(01000000000000000000000);
+ CHECK_HEX_CONST(8000000000000000);
+ CHECK_OCT_CONST(01777777777777777777777);
+ CHECK_HEX_CONST(ffffffffffffffff);
+#if LLONG_AT_LEAST(65)
+ CHECK_OCT_CONST(02000000000000000000000);
+ CHECK_HEX_CONST(10000000000000000);
+ CHECK_OCT_CONST(03777777777777777777777);
+ CHECK_HEX_CONST(1ffffffffffffffff);
+#endif
+#if LLONG_AT_LEAST(66)
+ CHECK_OCT_CONST(04000000000000000000000);
+ CHECK_HEX_CONST(20000000000000000);
+ CHECK_OCT_CONST(07777777777777777777777);
+ CHECK_HEX_CONST(3ffffffffffffffff);
+#endif
+#if LLONG_AT_LEAST(67)
+ CHECK_OCT_CONST(010000000000000000000000);
+ CHECK_HEX_CONST(40000000000000000);
+ CHECK_OCT_CONST(017777777777777777777777);
+ CHECK_HEX_CONST(7ffffffffffffffff);
+#endif
+#if LLONG_AT_LEAST(68)
+ CHECK_OCT_CONST(020000000000000000000000);
+ CHECK_HEX_CONST(80000000000000000);
+ CHECK_OCT_CONST(037777777777777777777777);
+ CHECK_HEX_CONST(fffffffffffffffff);
+#endif
+#if LLONG_AT_LEAST(69)
+ CHECK_OCT_CONST(040000000000000000000000);
+ CHECK_HEX_CONST(100000000000000000);
+ CHECK_OCT_CONST(077777777777777777777777);
+ CHECK_HEX_CONST(1fffffffffffffffff);
+#endif
+#if LLONG_AT_LEAST(70)
+ CHECK_OCT_CONST(0100000000000000000000000);
+ CHECK_HEX_CONST(200000000000000000);
+ CHECK_OCT_CONST(0177777777777777777777777);
+ CHECK_HEX_CONST(3fffffffffffffffff);
+#endif
+#if LLONG_AT_LEAST(71)
+ CHECK_OCT_CONST(0200000000000000000000000);
+ CHECK_HEX_CONST(400000000000000000);
+ CHECK_OCT_CONST(0377777777777777777777777);
+ CHECK_HEX_CONST(7fffffffffffffffff);
+#endif
+#if LLONG_AT_LEAST(72)
+ CHECK_OCT_CONST(0400000000000000000000000);
+ CHECK_HEX_CONST(800000000000000000);
+ CHECK_OCT_CONST(0777777777777777777777777);
+ CHECK_HEX_CONST(ffffffffffffffffff);
+#endif
+}
diff --git a/INPUTS/carbon_h.c b/INPUTS/carbon_h.c
new file mode 100644
index 000000000000..599f123a36c6
--- /dev/null
+++ b/INPUTS/carbon_h.c
@@ -0,0 +1,4 @@
+
+#include <Carbon/Carbon.h>
+
+//#import<vecLib/vecLib.h>
diff --git a/INPUTS/iostream.cc b/INPUTS/iostream.cc
new file mode 100644
index 000000000000..eb12fc9aaf4e
--- /dev/null
+++ b/INPUTS/iostream.cc
@@ -0,0 +1,5 @@
+// clang -I/usr/include/c++/4.0.0 -I/usr/include/c++/4.0.0/powerpc-apple-darwin8 -I/usr/include/c++/4.0.0/backward INPUTS/iostream.cc -Eonly
+
+#include <iostream>
+
+#include <stdint.h>
diff --git a/INPUTS/macro_pounder_fn.c b/INPUTS/macro_pounder_fn.c
new file mode 100644
index 000000000000..73f40a1d6db8
--- /dev/null
+++ b/INPUTS/macro_pounder_fn.c
@@ -0,0 +1,17 @@
+
+// This pounds on macro expansion for performance reasons. This is currently
+// heavily constrained by darwin's malloc.
+
+// Function-like macros.
+#define A0(A, B) A B
+#define A1(A, B) A0(A,B) A0(A,B) A0(A,B) A0(A,B) A0(A,B) A0(A,B)
+#define A2(A, B) A1(A,B) A1(A,B) A1(A,B) A1(A,B) A1(A,B) A1(A,B)
+#define A3(A, B) A2(A,B) A2(A,B) A2(A,B) A2(A,B) A2(A,B) A2(A,B)
+#define A4(A, B) A3(A,B) A3(A,B) A3(A,B) A3(A,B) A3(A,B) A3(A,B)
+#define A5(A, B) A4(A,B) A4(A,B) A4(A,B) A4(A,B) A4(A,B) A4(A,B)
+#define A6(A, B) A5(A,B) A5(A,B) A5(A,B) A5(A,B) A5(A,B) A5(A,B)
+#define A7(A, B) A6(A,B) A6(A,B) A6(A,B) A6(A,B) A6(A,B) A6(A,B)
+#define A8(A, B) A7(A,B) A7(A,B) A7(A,B) A7(A,B) A7(A,B) A7(A,B)
+
+A8(a, b)
+
diff --git a/INPUTS/macro_pounder_obj.c b/INPUTS/macro_pounder_obj.c
new file mode 100644
index 000000000000..d2465f34edb7
--- /dev/null
+++ b/INPUTS/macro_pounder_obj.c
@@ -0,0 +1,16 @@
+
+// This pounds on macro expansion for performance reasons. This is currently
+// heavily constrained by darwin's malloc.
+
+// Object-like expansions
+#define A0 a b
+#define A1 A0 A0 A0 A0 A0 A0
+#define A2 A1 A1 A1 A1 A1 A1
+#define A3 A2 A2 A2 A2 A2 A2
+#define A4 A3 A3 A3 A3 A3 A3
+#define A5 A4 A4 A4 A4 A4 A4
+#define A6 A5 A5 A5 A5 A5 A5
+#define A7 A6 A6 A6 A6 A6 A6
+#define A8 A7 A7 A7 A7 A7 A7
+
+A8
diff --git a/INPUTS/stpcpy-test.c b/INPUTS/stpcpy-test.c
new file mode 100644
index 000000000000..b96a8066e63c
--- /dev/null
+++ b/INPUTS/stpcpy-test.c
@@ -0,0 +1,47 @@
+#define __extension__
+
+#define __stpcpy(dest, src) (__extension__ (__builtin_constant_p (src) ? (__string2_1bptr_p (src) && strlen (src) + 1 <= 8 ? __stpcpy_small (dest, __stpcpy_args (src), strlen (src) + 1) : ((char *) __mempcpy (dest, src, strlen (src) + 1) - 1)) : __stpcpy (dest, src)))
+#define stpcpy(dest, src) __stpcpy (dest, src)
+#define __stpcpy_args(src) __extension__ __STRING2_SMALL_GET16 (src, 0), __extension__ __STRING2_SMALL_GET16 (src, 4), __extension__ __STRING2_SMALL_GET32 (src, 0), __extension__ __STRING2_SMALL_GET32 (src, 4)
+
+#define __mempcpy(dest, src, n) (__extension__ (__builtin_constant_p (src) && __builtin_constant_p (n) && __string2_1bptr_p (src) && n <= 8 ? __mempcpy_small (dest, __mempcpy_args (src), n) : __mempcpy (dest, src, n)))
+#define mempcpy(dest, src, n) __mempcpy (dest, src, n)
+#define __mempcpy_args(src) ((char *) (src))[0], ((char *) (src))[2], ((char *) (src))[4], ((char *) (src))[6], __extension__ __STRING2_SMALL_GET16 (src, 0), __extension__ __STRING2_SMALL_GET16 (src, 4), __extension__ __STRING2_SMALL_GET32 (src, 0), __extension__ __STRING2_SMALL_GET32 (src, 4)
+
+#define __STRING2_SMALL_GET16(src, idx) (((__const unsigned char *) (__const char *) (src))[idx + 1] << 8 | ((__const unsigned char *) (__const char *) (src))[idx])
+
+#define __STRING2_SMALL_GET32(src, idx) (((((__const unsigned char *) (__const char *) (src))[idx + 3] << 8 | ((__const unsigned char *) (__const char *) (src))[idx + 2]) << 8 | ((__const unsigned char *) (__const char *) (src))[idx + 1]) << 8 | ((__const unsigned char *) (__const char *) (src))[idx])
+
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
+stpcpy (stpcpy (stpcpy (stpcpy (a, b), c), d), e)
diff --git a/LICENSE.TXT b/LICENSE.TXT
new file mode 100644
index 000000000000..21cb5c7ac589
--- /dev/null
+++ b/LICENSE.TXT
@@ -0,0 +1,63 @@
+==============================================================================
+LLVM Release License
+==============================================================================
+University of Illinois/NCSA
+Open Source License
+
+Copyright (c) 2007 University of Illinois at Urbana-Champaign.
+All rights reserved.
+
+Developed by:
+
+ LLVM Team
+
+ University of Illinois at Urbana-Champaign
+
+ http://llvm.org
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of
+this software and associated documentation files (the "Software"), to deal with
+the Software without restriction, including without limitation the rights to
+use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do
+so, subject to the following conditions:
+
+ * Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimers.
+
+ * Redistributions in binary form must reproduce the above copyright notice,
+ this list of conditions and the following disclaimers in the
+ documentation and/or other materials provided with the distribution.
+
+ * Neither the names of the LLVM Team, University of Illinois at
+ Urbana-Champaign, nor the names of its contributors may be used to
+ endorse or promote products derived from this Software without specific
+ prior written permission.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
+FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+CONTRIBUTORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS WITH THE
+SOFTWARE.
+
+==============================================================================
+The LLVM software contains code written by third parties. Such software will
+have its own individual LICENSE.TXT file in the directory in which it appears.
+This file will describe the copyrights, license, and restrictions which apply
+to that code.
+
+The disclaimer of warranty in the University of Illinois Open Source License
+applies to all code in the LLVM Distribution, and nothing in any of the
+other licenses gives permission to use the names of the LLVM Team or the
+University of Illinois to endorse or promote products derived from this
+Software.
+
+The following pieces of software have additional or alternate copyrights,
+licenses, and/or restrictions:
+
+Program Directory
+------- ---------
+<none yet>
+
diff --git a/Makefile b/Makefile
new file mode 100644
index 000000000000..00e38d26de46
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,32 @@
+LEVEL = ../..
+DIRS := include lib tools docs
+
+include $(LEVEL)/Makefile.common
+
+ifneq ($(PROJ_SRC_ROOT),$(PROJ_OBJ_ROOT))
+test::
+ $(Verb) if [ ! -f test/Makefile ]; then \
+ $(MKDIR) test; \
+ $(CP) $(PROJ_SRC_DIR)/test/Makefile test/Makefile; \
+ fi
+endif
+
+test::
+ @ $(MAKE) -C test
+
+report::
+ @ $(MAKE) -C test report
+
+clean::
+ @ $(MAKE) -C test clean
+
+tags::
+ $(Verb) etags `find . -type f -name \*.h | grep -v /lib/Headers | grep -v /test/` `find . -type f -name \*.cpp | grep -v /lib/Headers | grep -v /test/`
+
+cscope.files:
+ find tools lib include -name '*.cpp' \
+ -or -name '*.def' \
+ -or -name '*.td' \
+ -or -name '*.h' > cscope.files
+
+.PHONY: test report clean cscope.files
diff --git a/ModuleInfo.txt b/ModuleInfo.txt
new file mode 100644
index 000000000000..4368ef067aea
--- /dev/null
+++ b/ModuleInfo.txt
@@ -0,0 +1,5 @@
+# This file provides information for llvm-top
+DepModule: llvm
+ConfigCmd:
+ConfigTest:
+BuildCmd:
diff --git a/NOTES.txt b/NOTES.txt
new file mode 100644
index 000000000000..3b5ad16e3e10
--- /dev/null
+++ b/NOTES.txt
@@ -0,0 +1,86 @@
+//===---------------------------------------------------------------------===//
+// Random Notes
+//===---------------------------------------------------------------------===//
+
+C90/C99/C++ Comparisons:
+http://david.tribble.com/text/cdiffs.htm
+
+//===---------------------------------------------------------------------===//
+
+To time GCC preprocessing speed without output, use:
+ "time gcc -MM file"
+This is similar to -Eonly.
+
+//===---------------------------------------------------------------------===//
+
+Creating and using a PTH file for performance measurement (use a release-asserts
+build).
+
+$ clang -x objective-c-header INPUTS/Cocoa_h.m -o /tmp/tokencache
+$ clang -token-cache /tmp/tokencache INPUTS/Cocoa_h.m
+
+//===---------------------------------------------------------------------===//
+
+ C++ Template Instantiation benchmark:
+ http://users.rcn.com/abrahams/instantiation_speed/index.html
+
+//===---------------------------------------------------------------------===//
+
+TODO: File Manager Speedup:
+
+ We currently do a lot of stat'ing for files that don't exist, particularly
+ when lots of -I paths exist (e.g. see the <iostream> example, check for
+ failures in stat in FileManager::getFile). It would be far better to make
+ the following changes:
+ 1. FileEntry contains a sys::Path instead of a std::string for Name.
+ 2. sys::Path contains timestamp and size, lazily computed. Eliminate from
+ FileEntry.
+ 3. File UIDs are created on request, not when files are opened.
+ These changes make it possible to efficiently have FileEntry objects for
+ files that exist on the file system, but have not been used yet.
+
+ Once this is done:
+ 1. DirectoryEntry gets a boolean value "has read entries". When false, not
+ all entries in the directory are in the file mgr, when true, they are.
+ 2. Instead of stat'ing the file in FileManager::getFile, check to see if
+ the dir has been read. If so, fail immediately, if not, read the dir,
+ then retry.
+ 3. Reading the dir uses the getdirentries syscall, creating an FileEntry
+ for all files found.
+
+//===---------------------------------------------------------------------===//
+// Specifying targets: -triple and -arch
+===---------------------------------------------------------------------===//
+
+The clang supports "-triple" and "-arch" options. At most one -triple and one
+-arch option may be specified. Both are optional.
+
+The "selection of target" behavior is defined as follows:
+
+(1) If the user does not specify -triple, we default to the host triple.
+(2) If the user specifies a -arch, that overrides the arch in the host or
+ specified triple.
+
+//===---------------------------------------------------------------------===//
+
+
+verifyInputConstraint and verifyOutputConstraint should not return bool.
+
+Instead we should return something like:
+
+enum VerifyConstraintResult {
+ Valid,
+
+ // Output only
+ OutputOperandConstraintLacksEqualsCharacter,
+ MatchingConstraintNotValidInOutputOperand,
+
+ // Input only
+ InputOperandConstraintContainsEqualsCharacter,
+ MatchingConstraintReferencesInvalidOperandNumber,
+
+ // Both
+ PercentConstraintUsedWithLastOperand
+};
+
+//===---------------------------------------------------------------------===//
diff --git a/README.txt b/README.txt
new file mode 100644
index 000000000000..611dc9d2c01c
--- /dev/null
+++ b/README.txt
@@ -0,0 +1,178 @@
+//===----------------------------------------------------------------------===//
+// C Language Family Front-end
+//===----------------------------------------------------------------------===//
+ Chris Lattner
+
+I. Introduction:
+
+ clang: noun
+ 1. A loud, resonant, metallic sound.
+ 2. The strident call of a crane or goose.
+ 3. C-language family front-end toolkit.
+
+ The world needs better compiler tools, tools which are built as libraries. This
+ design point allows reuse of the tools in new and novel ways. However, building
+ the tools as libraries isn't enough: they must have clean APIs, be as
+ decoupled from each other as possible, and be easy to modify/extend. This
+ requires clean layering, decent design, and avoiding tying the libraries to a
+ specific use. Oh yeah, did I mention that we want the resultant libraries to
+ be as fast as possible? :)
+
+ This front-end is built as a component of the LLVM toolkit that can be used
+ with the LLVM backend or independently of it. In this spirit, the API has been
+ carefully designed as the following components:
+
+ libsupport - Basic support library, reused from LLVM.
+
+ libsystem - System abstraction library, reused from LLVM.
+
+ libbasic - Diagnostics, SourceLocations, SourceBuffer abstraction,
+ file system caching for input source files. This depends on
+ libsupport and libsystem.
+
+ libast - Provides classes to represent the C AST, the C type system,
+ builtin functions, and various helpers for analyzing and
+ manipulating the AST (visitors, pretty printers, etc). This
+ library depends on libbasic.
+
+
+ liblex - C/C++/ObjC lexing and preprocessing, identifier hash table,
+ pragma handling, tokens, and macros. This depends on libbasic.
+
+ libparse - C (for now) parsing and local semantic analysis. This library
+ invokes coarse-grained 'Actions' provided by the client to do
+ stuff (e.g. libsema builds ASTs). This depends on liblex.
+
+ libsema - Provides a set of parser actions to build a standardized AST
+ for programs. AST's are 'streamed' out a top-level declaration
+ at a time, allowing clients to use decl-at-a-time processing,
+ build up entire translation units, or even build 'whole
+ program' ASTs depending on how they use the APIs. This depends
+ on libast and libparse.
+
+ librewrite - Fast, scalable rewriting of source code. This operates on
+ the raw syntactic text of source code, allowing a client
+ to insert and delete text in very large source files using
+ the same source location information embedded in ASTs. This
+ is intended to be a low-level API that is useful for
+ higher-level clients and libraries such as code refactoring.
+
+ libanalysis - Source-level dataflow analysis useful for performing analyses
+ such as computing live variables. It also includes a
+ path-sensitive "graph-reachability" engine for writing
+ analyses that reason about different possible paths of
+ execution through source code. This is currently being
+ employed to write a set of checks for finding bugs in software.
+
+ libcodegen - Lower the AST to LLVM IR for optimization & codegen. Depends
+ on libast.
+
+ clang - An example driver, client of the libraries at various levels.
+ This depends on all these libraries, and on LLVM VMCore.
+
+ This front-end has been intentionally built as a DAG of libraries, making it
+ easy to reuse individual parts or replace pieces if desired. For example, to
+ build a preprocessor, you take the Basic and Lexer libraries. If you want an
+ indexer, you take those plus the Parser library and provide some actions for
+ indexing. If you want a refactoring, static analysis, or source-to-source
+ compiler tool, it makes sense to take those plus the AST building and semantic
+ analyzer library. Finally, if you want to use this with the LLVM backend,
+ you'd take these components plus the AST to LLVM lowering code.
+
+ In the future I hope this toolkit will grow to include new and interesting
+ components, including a C++ front-end, ObjC support, and a whole lot of other
+ things.
+
+ Finally, it should be pointed out that the goal here is to build something that
+ is high-quality and industrial-strength: all the obnoxious features of the C
+ family must be correctly supported (trigraphs, preprocessor arcana, K&R-style
+ prototypes, GCC/MS extensions, etc). It cannot be used if it is not 'real'.
+
+
+II. Usage of clang driver:
+
+ * Basic Command-Line Options:
+ - Help: clang --help
+ - Standard GCC options accepted: -E, -I*, -i*, -pedantic, -std=c90, etc.
+ - To make diagnostics more gcc-like: -fno-caret-diagnostics -fno-show-column
+ - Enable metric printing: -stats
+
+ * -fsyntax-only is currently the default mode.
+
+ * -E mode works the same way as GCC.
+
+ * -Eonly mode does all preprocessing, but does not print the output,
+ useful for timing the preprocessor.
+
+ * -fsyntax-only is currently partially implemented, lacking some
+ semantic analysis (some errors and warnings are not produced).
+
+ * -parse-noop parses code without building an AST. This is useful
+ for timing the cost of the parser without including AST building
+ time.
+
+ * -parse-ast builds ASTs, but doesn't print them. This is most
+ useful for timing AST building vs -parse-noop.
+
+ * -parse-ast-print pretty prints most expression and statements nodes.
+
+ * -parse-ast-check checks that diagnostic messages that are expected
+ are reported and that those which are reported are expected.
+
+ * -dump-cfg builds ASTs and then CFGs. CFGs are then pretty-printed.
+
+ * -view-cfg builds ASTs and then CFGs. CFGs are then visualized by
+ invoking Graphviz.
+
+ For more information on getting Graphviz to work with clang/LLVM,
+ see: http://llvm.org/docs/ProgrammersManual.html#ViewGraph
+
+
+III. Current advantages over GCC:
+
+ * Column numbers are fully tracked (no 256 col limit, no GCC-style pruning).
+ * All diagnostics have column numbers, includes 'caret diagnostics', and they
+ highlight regions of interesting code (e.g. the LHS and RHS of a binop).
+ * Full diagnostic customization by client (can format diagnostics however they
+ like, e.g. in an IDE or refactoring tool) through DiagnosticClient interface.
+ * Built as a framework, can be reused by multiple tools.
+ * All languages supported linked into same library (no cc1,cc1obj, ...).
+ * mmap's code in read-only, does not dirty the pages like GCC (mem footprint).
+ * LLVM License, can be linked into non-GPL projects.
+ * Full diagnostic control, per diagnostic. Diagnostics are identified by ID.
+ * Significantly faster than GCC at semantic analysis, parsing, preprocessing
+ and lexing.
+ * Defers exposing platform-specific stuff to as late as possible, tracks use of
+ platform-specific features (e.g. #ifdef PPC) to allow 'portable bytecodes'.
+ * The lexer doesn't rely on the "lexer hack": it has no notion of scope and
+ does not categorize identifiers as types or variables -- this is up to the
+ parser to decide.
+
+Potential Future Features:
+
+ * Fine grained diag control within the source (#pragma enable/disable warning).
+ * Better token tracking within macros? (Token came from this line, which is
+ a macro argument instantiated here, recursively instantiated here).
+ * Fast #import with a module system.
+ * Dependency tracking: change to header file doesn't recompile every function
+ that texually depends on it: recompile only those functions that need it.
+ This is aka 'incremental parsing'.
+
+
+IV. Missing Functionality / Improvements
+
+Lexer:
+ * Source character mapping. GCC supports ASCII and UTF-8.
+ See GCC options: -ftarget-charset and -ftarget-wide-charset.
+ * Universal character support. Experimental in GCC, enabled with
+ -fextended-identifiers.
+ * -fpreprocessed mode.
+
+Preprocessor:
+ * #assert/#unassert
+ * MSExtension: "L#param" stringizes to a wide string literal.
+ * Add support for -M*
+
+Traditional Preprocessor:
+ * Currently, we have none. :)
+
diff --git a/TODO.txt b/TODO.txt
new file mode 100644
index 000000000000..522dcd37b365
--- /dev/null
+++ b/TODO.txt
@@ -0,0 +1,68 @@
+//===---------------------------------------------------------------------===//
+// Minor random things that can be improved
+//===---------------------------------------------------------------------===//
+
+
+Warn about "X && 0x1000" saying that the user may mean "X & 0x1000".
+We should do this for any immediate except zero, so long as it doesn't come
+from a macro expansion. Likewise for ||.
+
+//===---------------------------------------------------------------------===//
+
+Lexer-related diagnostics should point to the problematic character, not the
+start of the token. For example:
+
+int y = 0000\
+00080;
+
+diag.c:4:9: error: invalid digit '8' in octal constant
+int y = 0000\
+ ^
+
+should be:
+
+diag.c:4:9: error: invalid digit '8' in octal constant
+00080;
+ ^
+
+This specific diagnostic is implemented, but others should be updated.
+
+//===---------------------------------------------------------------------===//
+
+C++ (checker): For iterators, warn of the use of "iterator++" instead
+ of "++iterator" when when the value returned by operator++(int) is
+ ignored.
+
+//===---------------------------------------------------------------------===//
+
+We want to keep more source range information in Declarator to help
+produce better diagnostics. Declarator::getSourceRange() should be
+implemented to give a range for the whole declarator with all of its
+specifiers, and DeclaratorChunk::ParamInfo should also have a source
+range covering the whole parameter, so that an error message like this:
+
+overloaded-operator-decl.cpp:37:23: error: parameter of overloaded post-increment operator must have type 'int' (not 'float')
+X operator++(X&, const float& f);
+ ^
+can be turned into something like this:
+
+overloaded-operator-decl.cpp:37:23: error: parameter of overloaded post-increment operator must have type 'int' (not 'float')
+X operator++(X&, const float& f);
+ ^ ~~~~~~~~~~~~~~
+
+//===---------------------------------------------------------------------===//
+
+For terminal output, we should consider limiting the amount of
+diagnostic text we print once the first error has been
+encountered. For example, once we have produced an error diagnostic,
+we should only continue producing diagnostics until we have produced a
+page full of results (say, 50 lines of text). Beyond that, (1) the
+remaining errors are likely to be less interesting, and (2) the poor
+user has to scroll his terminal to find out where things went wrong.
+
+//===---------------------------------------------------------------------===//
+More ideas for code modification hints:
+ - If no member of a given name is found in a class/struct, search through the names of entities that do exist in the class and suggest the closest candidate. e.g., if I write "DS.setTypeSpecType", it would suggest "DS.SetTypeSpecType" (edit distance = 1).
+ - If a class member is defined out-of-line but isn't in the class declaration (and there are no close matches!), provide the option to add an in-class declaration.
+ - Fix-it hints for the inclusion of headers when needed for particular features (e.g., <typeinfo> for typeid)
+ - Change "foo.bar" to "foo->bar" when "foo" is a pointer.
diff --git a/clang.xcodeproj/project.pbxproj b/clang.xcodeproj/project.pbxproj
new file mode 100644
index 000000000000..c0ccb2e79733
--- /dev/null
+++ b/clang.xcodeproj/project.pbxproj
@@ -0,0 +1,1836 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 42;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 03F50AC60D416EAA00B9CF60 /* Targets.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 03F50AC50D416EAA00B9CF60 /* Targets.cpp */; };
+ 1A2193CE0F45EEB700C0713D /* Mangle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2193CC0F45EEB700C0713D /* Mangle.cpp */; };
+ 1A2A54B50FD1DD1C00F4CE45 /* AnalysisConsumer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2A54A40FD1DD1C00F4CE45 /* AnalysisConsumer.cpp */; };
+ 1A2A54B60FD1DD1C00F4CE45 /* ASTConsumers.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2A54A50FD1DD1C00F4CE45 /* ASTConsumers.cpp */; };
+ 1A2A54B70FD1DD1C00F4CE45 /* Backend.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2A54A60FD1DD1C00F4CE45 /* Backend.cpp */; };
+ 1A2A54B80FD1DD1C00F4CE45 /* CacheTokens.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2A54A70FD1DD1C00F4CE45 /* CacheTokens.cpp */; };
+ 1A2A54B90FD1DD1C00F4CE45 /* DependencyFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2A54A80FD1DD1C00F4CE45 /* DependencyFile.cpp */; };
+ 1A2A54BA0FD1DD1C00F4CE45 /* DiagChecker.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2A54A90FD1DD1C00F4CE45 /* DiagChecker.cpp */; };
+ 1A2A54BB0FD1DD1C00F4CE45 /* DocumentXML.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2A54AA0FD1DD1C00F4CE45 /* DocumentXML.cpp */; };
+ 1A2A54BC0FD1DD1C00F4CE45 /* GeneratePCH.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2A54AB0FD1DD1C00F4CE45 /* GeneratePCH.cpp */; };
+ 1A2A54BD0FD1DD1C00F4CE45 /* HTMLPrint.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2A54AC0FD1DD1C00F4CE45 /* HTMLPrint.cpp */; };
+ 1A2A54BE0FD1DD1C00F4CE45 /* PrintParserCallbacks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2A54AD0FD1DD1C00F4CE45 /* PrintParserCallbacks.cpp */; };
+ 1A2A54BF0FD1DD1C00F4CE45 /* PrintPreprocessedOutput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2A54AE0FD1DD1C00F4CE45 /* PrintPreprocessedOutput.cpp */; };
+ 1A2A54C00FD1DD1C00F4CE45 /* RewriteBlocks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2A54AF0FD1DD1C00F4CE45 /* RewriteBlocks.cpp */; };
+ 1A2A54C10FD1DD1C00F4CE45 /* RewriteMacros.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2A54B00FD1DD1C00F4CE45 /* RewriteMacros.cpp */; };
+ 1A2A54C20FD1DD1C00F4CE45 /* RewriteObjC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2A54B10FD1DD1C00F4CE45 /* RewriteObjC.cpp */; };
+ 1A2A54C30FD1DD1C00F4CE45 /* RewriteTest.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2A54B20FD1DD1C00F4CE45 /* RewriteTest.cpp */; };
+ 1A2A54C40FD1DD1C00F4CE45 /* StmtXML.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2A54B30FD1DD1C00F4CE45 /* StmtXML.cpp */; };
+ 1A2A54C50FD1DD1C00F4CE45 /* Warnings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A2A54B40FD1DD1C00F4CE45 /* Warnings.cpp */; };
+ 1A30A9E90B93A4C800201A91 /* ExprCXX.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 1A30A9E80B93A4C800201A91 /* ExprCXX.h */; };
+ 1A32C17F0E1C87AD00A6B483 /* ExprConstant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A32C17E0E1C87AD00A6B483 /* ExprConstant.cpp */; };
+ 1A376A2D0D4AED9B002A1C52 /* CGExprConstant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A376A2C0D4AED9B002A1C52 /* CGExprConstant.cpp */; };
+ 1A410F850FBCE51100351440 /* SemaTemplateInstantiateExpr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A410F840FBCE51100351440 /* SemaTemplateInstantiateExpr.cpp */; };
+ 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 */; };
+ 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 */; };
+ 1A869AA80BA21ABA008DA07A /* LiteralSupport.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1A869AA70BA21ABA008DA07A /* LiteralSupport.cpp */; };
+ 1ABC36940C7A4BDC006DB0AB /* CGBuiltin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ABC36930C7A4BDC006DB0AB /* CGBuiltin.cpp */; };
+ 1ADF47AF0F782C3200E48A8A /* SemaTemplateInstantiateDecl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1ADF47AE0F782C3200E48A8A /* SemaTemplateInstantiateDecl.cpp */; };
+ 1AFEF4070F8A6B2300476F2B /* clang-cc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 1AFEF4050F8A6B2300476F2B /* clang-cc.cpp */; };
+ 3507E4C20E27FE2D00FB7B57 /* CheckObjCInstMethSignature.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3507E4C10E27FE2D00FB7B57 /* CheckObjCInstMethSignature.cpp */; };
+ 352246E70F5C6BE000D0D279 /* HTMLDiagnostics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 352246E10F5C6BE000D0D279 /* HTMLDiagnostics.cpp */; };
+ 352246E80F5C6BE000D0D279 /* InitHeaderSearch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 352246E20F5C6BE000D0D279 /* InitHeaderSearch.cpp */; };
+ 352246E90F5C6BE000D0D279 /* ManagerRegistry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 352246E30F5C6BE000D0D279 /* ManagerRegistry.cpp */; };
+ 352246EA0F5C6BE000D0D279 /* PlistDiagnostics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 352246E40F5C6BE000D0D279 /* PlistDiagnostics.cpp */; };
+ 352246EB0F5C6BE000D0D279 /* TextDiagnosticBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 352246E50F5C6BE000D0D279 /* TextDiagnosticBuffer.cpp */; };
+ 352246EC0F5C6BE000D0D279 /* TextDiagnosticPrinter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 352246E60F5C6BE000D0D279 /* TextDiagnosticPrinter.cpp */; };
+ 35260CA50C7F75C000D66CE9 /* ExprCXX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35260CA40C7F75C000D66CE9 /* ExprCXX.cpp */; };
+ 352712510DAFE54700C76352 /* IdentifierResolver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 352712500DAFE54700C76352 /* IdentifierResolver.cpp */; };
+ 3534A01D0E129849002709B2 /* ParseCXXInlineMethods.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3534A01C0E129849002709B2 /* ParseCXXInlineMethods.cpp */; };
+ 3536456B0E23EBF7009C6509 /* Environment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3536456A0E23EBF7009C6509 /* Environment.cpp */; };
+ 3537AA0E0ECD08A4008F7CDC /* PreprocessorLexer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3537AA0D0ECD08A4008F7CDC /* PreprocessorLexer.cpp */; };
+ 3538FDB80ED24A4E005EC283 /* DeclarationName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3538FDB70ED24A4E005EC283 /* DeclarationName.cpp */; };
+ 353959D50EE5F88A00E82461 /* ParseTemplate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 353959D40EE5F88A00E82461 /* ParseTemplate.cpp */; };
+ 35475B200E79973F0000BFE4 /* CGCall.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35475B1F0E79973F0000BFE4 /* CGCall.cpp */; };
+ 355106860E9A8507006A4E44 /* MemRegion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 355106850E9A8507006A4E44 /* MemRegion.cpp */; };
+ 3551068C0E9A8546006A4E44 /* ParsePragma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3551068A0E9A8546006A4E44 /* ParsePragma.cpp */; };
+ 3551068D0E9A8546006A4E44 /* ParseTentative.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3551068B0E9A8546006A4E44 /* ParseTentative.cpp */; };
+ 3552E7550E520D80003A8CA5 /* PPCaching.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3552E7540E520D80003A8CA5 /* PPCaching.cpp */; };
+ 3552E7590E520DD7003A8CA5 /* CGObjCMac.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3552E7580E520DD7003A8CA5 /* CGObjCMac.cpp */; };
+ 35544B880F5C7FD700D92AA9 /* RangeConstraintManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35544B850F5C7FD700D92AA9 /* RangeConstraintManager.cpp */; };
+ 35544B890F5C7FD700D92AA9 /* SimpleConstraintManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35544B860F5C7FD700D92AA9 /* SimpleConstraintManager.cpp */; };
+ 35544B8C0F5C803200D92AA9 /* SemaTemplateInstantiate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35544B8B0F5C803200D92AA9 /* SemaTemplateInstantiate.cpp */; };
+ 3557D1A90EB136B100C59739 /* InheritViz.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3557D1A80EB136B100C59739 /* InheritViz.cpp */; };
+ 3557D1F00EB13BB700C59739 /* SemaInherit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3557D1EF0EB13BB700C59739 /* SemaInherit.cpp */; };
+ 35585DC00EAFBC4500D0A97A /* SemaOverload.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35585DBE0EAFBC4500D0A97A /* SemaOverload.cpp */; };
+ 3558F76D0E267C8300A5B0DF /* BasicStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3558F76C0E267C8300A5B0DF /* BasicStore.cpp */; };
+ 356EF9B50C8F7DDF006650F5 /* LiveVariables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 356EF9B40C8F7DDF006650F5 /* LiveVariables.cpp */; };
+ 35707EFE0CD0F5CC000B2204 /* SourceLocation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35707EFD0CD0F5CC000B2204 /* SourceLocation.cpp */; };
+ 357EA27D0F2526F300439B60 /* SemaLookup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 357EA27C0F2526F300439B60 /* SemaLookup.cpp */; };
+ 35847BE50CC7DBAF00C40FFF /* StmtIterator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35847BE40CC7DBAF00C40FFF /* StmtIterator.cpp */; };
+ 35862B0D0E3628CB0009F542 /* CheckDeadStores.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35862B0C0E3628CB0009F542 /* CheckDeadStores.cpp */; };
+ 35862B120E3629850009F542 /* GRExprEngineInternalChecks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35862B110E3629850009F542 /* GRExprEngineInternalChecks.cpp */; };
+ 358CFBB80E65AB04002A8E19 /* BasicConstraintManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 358CFBB70E65AB04002A8E19 /* BasicConstraintManager.cpp */; };
+ 358D230B0E8BEB9D0003DDCC /* DeclGroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 358D230A0E8BEB9D0003DDCC /* DeclGroup.cpp */; };
+ 358F51520E529AA4007F2102 /* GRState.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 358F51510E529AA4007F2102 /* GRState.cpp */; };
+ 3591853F0EFB1088000039AF /* SemaTemplate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3591853E0EFB1088000039AF /* SemaTemplate.cpp */; };
+ 3593790A0DA48ABA0043B19C /* BugReporter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 359379090DA48ABA0043B19C /* BugReporter.cpp */; };
+ 3595AFB80E1C8D62004CDF09 /* CheckObjCDealloc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3595AFB70E1C8D62004CDF09 /* CheckObjCDealloc.cpp */; };
+ 3599299B0DE2425300A8A33E /* SemaInit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 3599299A0DE2425300A8A33E /* SemaInit.cpp */; };
+ 35A057E20EAE2D950069249F /* RegionStore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35A057E00EAE2D950069249F /* RegionStore.cpp */; };
+ 35A057E30EAE2D950069249F /* SVals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35A057E10EAE2D950069249F /* SVals.cpp */; };
+ 35A3E7020DD3874400757F74 /* CGDebugInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35A3E7000DD3874400757F74 /* CGDebugInfo.cpp */; };
+ 35A8FCF90D9B4B2A001C2F97 /* PathDiagnostic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35A8FCF80D9B4B29001C2F97 /* PathDiagnostic.cpp */; };
+ 35BAC1E80E82C5B7003FB76F /* CheckNSError.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35BAC1E70E82C5B7003FB76F /* CheckNSError.cpp */; };
+ 35BB2D7F0D19954000944DB5 /* ASTConsumer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35BB2D7E0D19954000944DB5 /* ASTConsumer.cpp */; };
+ 35CFFE000CA1CBCB00E6F2BE /* StmtViz.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35CFFDFF0CA1CBCB00E6F2BE /* StmtViz.cpp */; };
+ 35D55B270D81D8C60092E734 /* BasicValueFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35D55B240D81D8C60092E734 /* BasicValueFactory.cpp */; };
+ 35D55B280D81D8C60092E734 /* CFRefCount.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35D55B250D81D8C60092E734 /* CFRefCount.cpp */; };
+ 35E194690ECB82FB00F21733 /* SemaCXXScopeSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35E194670ECB82FB00F21733 /* SemaCXXScopeSpec.cpp */; };
+ 35E1946A0ECB82FB00F21733 /* SemaNamedCast.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35E194680ECB82FB00F21733 /* SemaNamedCast.cpp */; };
+ 35E1946D0ECB83C100F21733 /* PTHLexer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35E1946C0ECB83C100F21733 /* PTHLexer.cpp */; };
+ 35EE48B10E0C4CCA00715C54 /* DeclCXX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35EE48AF0E0C4CCA00715C54 /* DeclCXX.cpp */; };
+ 35EE48B20E0C4CCA00715C54 /* ParentMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35EE48B00E0C4CCA00715C54 /* ParentMap.cpp */; };
+ 35EF67700DAD1D2C00B19414 /* SemaDeclCXX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35EF676F0DAD1D2C00B19414 /* SemaDeclCXX.cpp */; };
+ 35EFEFB60DB67ED60020783D /* GRTransferFuncs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35EFEFB50DB67ED60020783D /* GRTransferFuncs.cpp */; };
+ 35F2A01E0E36AFF100D17527 /* CheckObjCUnusedIVars.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35F2A01D0E36AFF100D17527 /* CheckObjCUnusedIVars.cpp */; };
+ 35F8D0D60D9B82CD00D91C5E /* BasicObjCFoundationChecks.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35F8D0D50D9B82CD00D91C5E /* BasicObjCFoundationChecks.cpp */; };
+ 35FE6BCF0DF6EE1F00739712 /* DeclBase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 35FE6BCE0DF6EE1F00739712 /* DeclBase.cpp */; };
+ 72D16C1F0D9975C400E6DA4A /* HTMLRewrite.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 72D16C1E0D9975C400E6DA4A /* HTMLRewrite.cpp */; };
+ 84AF36A10CB17A3B00C820A5 /* DeclObjC.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84AF36A00CB17A3B00C820A5 /* DeclObjC.h */; };
+ 84D9A8880C1A57E100AC7ABC /* AttributeList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 84D9A8870C1A57E100AC7ABC /* AttributeList.cpp */; };
+ 84D9A88C0C1A581300AC7ABC /* AttributeList.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = 84D9A88B0C1A581300AC7ABC /* AttributeList.h */; };
+ 906BF4B00F83BA2E001071FA /* ConvertUTF.c in Sources */ = {isa = PBXBuildFile; fileRef = 906BF4AF0F83BA2E001071FA /* ConvertUTF.c */; };
+ DE01DA490B12ADA300AC22CE /* PPCallbacks.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE01DA480B12ADA300AC22CE /* PPCallbacks.h */; };
+ DE06756C0C051CFE00EBBFD8 /* ParseExprCXX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE06756B0C051CFE00EBBFD8 /* ParseExprCXX.cpp */; };
+ DE06B73E0A8307640050E87E /* LangOptions.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE06B73D0A8307640050E87E /* LangOptions.h */; };
+ DE06BECB0A854E4B0050E87E /* Scope.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE06BECA0A854E4B0050E87E /* Scope.h */; };
+ DE06D4310A8BB52D0050E87E /* Parser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE06D42F0A8BB52D0050E87E /* Parser.cpp */; };
+ DE06E8140A8FF9330050E87E /* Action.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE06E8130A8FF9330050E87E /* Action.h */; };
+ DE0FCA630A95859D00248FD5 /* Expr.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE0FCA620A95859D00248FD5 /* Expr.h */; };
+ DE0FCB340A9C21F100248FD5 /* Expr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE0FCB330A9C21F100248FD5 /* Expr.cpp */; };
+ DE1733000B068B700080B521 /* ASTContext.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE1732FF0B068B700080B521 /* ASTContext.cpp */; };
+ DE17336E0B068DC20080B521 /* DeclSpec.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE17336D0B068DC20080B521 /* DeclSpec.cpp */; };
+ DE1733700B068DC60080B521 /* DeclSpec.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE17336F0B068DC60080B521 /* DeclSpec.h */; };
+ DE1F22030A7D852A00FBF588 /* Parser.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE1F22020A7D852A00FBF588 /* Parser.h */; };
+ DE224FF80C7AA98800D370A5 /* CGExprComplex.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE224FF70C7AA98800D370A5 /* CGExprComplex.cpp */; };
+ DE2252700C7E82D000D370A5 /* CGExprScalar.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE22526F0C7E82D000D370A5 /* CGExprScalar.cpp */; };
+ DE2255FC0C8004E600D370A5 /* ParseDeclCXX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE2255FB0C8004E600D370A5 /* ParseDeclCXX.cpp */; };
+ DE22BCF20E14197E0094DC60 /* SemaDeclAttr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE22BCF10E14197E0094DC60 /* SemaDeclAttr.cpp */; };
+ DE344AB80AE5DF6D00DBC861 /* HeaderSearch.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE344AB70AE5DF6D00DBC861 /* HeaderSearch.h */; };
+ DE344B540AE5E46C00DBC861 /* HeaderSearch.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE344B530AE5E46C00DBC861 /* HeaderSearch.cpp */; };
+ DE3450D70AEB543100DBC861 /* DirectoryLookup.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE3450D60AEB543100DBC861 /* DirectoryLookup.h */; };
+ DE3452410AEF1A2D00DBC861 /* Stmt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE3452400AEF1A2D00DBC861 /* Stmt.cpp */; };
+ DE3452810AEF1B1800DBC861 /* Stmt.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE3452800AEF1B1800DBC861 /* Stmt.h */; };
+ DE345C1A0AFC658B00DBC861 /* StmtVisitor.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE345C190AFC658B00DBC861 /* StmtVisitor.h */; };
+ DE345F220AFD347900DBC861 /* StmtNodes.def in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE345F210AFD347900DBC861 /* StmtNodes.def */; };
+ DE3460000AFDCC1900DBC861 /* ParseObjc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE345FFF0AFDCC1900DBC861 /* ParseObjc.cpp */; };
+ DE3460050AFDCC6500DBC861 /* ParseInit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE3460040AFDCC6500DBC861 /* ParseInit.cpp */; };
+ DE34600B0AFDCCBF00DBC861 /* ParseStmt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE34600A0AFDCCBF00DBC861 /* ParseStmt.cpp */; };
+ DE34600F0AFDCCCE00DBC861 /* ParseDecl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE34600E0AFDCCCE00DBC861 /* ParseDecl.cpp */; };
+ DE3460130AFDCCDA00DBC861 /* ParseExpr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE3460120AFDCCDA00DBC861 /* ParseExpr.cpp */; };
+ DE3461270AFE68BE00DBC861 /* MinimalAction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE3461260AFE68BE00DBC861 /* MinimalAction.cpp */; };
+ DE34621D0AFEB19B00DBC861 /* StmtPrinter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE34621C0AFEB19B00DBC861 /* StmtPrinter.cpp */; };
+ DE3464220B03040900DBC861 /* Type.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE3464210B03040900DBC861 /* Type.h */; };
+ DE38CD500D794D0100A273B6 /* CGObjCGNU.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE38CD4F0D794D0100A273B6 /* CGObjCGNU.cpp */; };
+ DE38CF270D8C9E6C00A273B6 /* DeclObjC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE38CF260D8C9E6C00A273B6 /* DeclObjC.cpp */; };
+ DE3986F00CB8D4B300223765 /* IdentifierTable.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE3986EF0CB8D4B300223765 /* IdentifierTable.h */; };
+ DE3986F40CB8D50C00223765 /* IdentifierTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE3986F30CB8D50C00223765 /* IdentifierTable.cpp */; };
+ DE4121350D7F1C1C0080F80A /* SymbolManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE4121270D7F1C1C0080F80A /* SymbolManager.cpp */; };
+ DE4121360D7F1C1C0080F80A /* ExplodedGraph.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE4121280D7F1C1C0080F80A /* ExplodedGraph.cpp */; };
+ DE4121370D7F1C1C0080F80A /* UninitializedValues.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE4121290D7F1C1C0080F80A /* UninitializedValues.cpp */; };
+ DE4121380D7F1C1C0080F80A /* GRCoreEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE41212A0D7F1C1C0080F80A /* GRCoreEngine.cpp */; };
+ DE41213C0D7F1C1C0080F80A /* GRSimpleVals.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE41212F0D7F1C1C0080F80A /* GRSimpleVals.cpp */; };
+ DE41213D0D7F1C1C0080F80A /* GRBlockCounter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE4121300D7F1C1C0080F80A /* GRBlockCounter.cpp */; };
+ DE41213E0D7F1C1C0080F80A /* GRExprEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE4121310D7F1C1C0080F80A /* GRExprEngine.cpp */; };
+ DE4264FC0C113592005A861D /* CGDecl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE4264FB0C113592005A861D /* CGDecl.cpp */; };
+ DE46BF280AE0A82D00CC047C /* TargetInfo.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE46BF270AE0A82D00CC047C /* TargetInfo.h */; };
+ DE4772FA0C10EAE5002239E8 /* CGStmt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE4772F90C10EAE5002239E8 /* CGStmt.cpp */; };
+ DE4772FC0C10EAEC002239E8 /* CGExpr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE4772FB0C10EAEC002239E8 /* CGExpr.cpp */; };
+ DE47999C0D2EBE1A00706D2D /* SemaExprObjC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE47999B0D2EBE1A00706D2D /* SemaExprObjC.cpp */; };
+ DE4DC7A30EA1C33E00069E5A /* TokenRewriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE4DC7A20EA1C33E00069E5A /* TokenRewriter.cpp */; };
+ DE67E70B0C020EC500F66BC5 /* SemaType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE67E70A0C020EC500F66BC5 /* SemaType.cpp */; };
+ DE67E70D0C020ECA00F66BC5 /* SemaStmt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE67E70C0C020ECA00F66BC5 /* SemaStmt.cpp */; };
+ DE67E70F0C020ECF00F66BC5 /* SemaExprCXX.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE67E70E0C020ECF00F66BC5 /* SemaExprCXX.cpp */; };
+ DE67E7110C020ED400F66BC5 /* SemaExpr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE67E7100C020ED400F66BC5 /* SemaExpr.cpp */; };
+ DE67E7130C020ED900F66BC5 /* SemaDecl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE67E7120C020ED900F66BC5 /* SemaDecl.cpp */; };
+ DE67E7150C020EDF00F66BC5 /* Sema.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE67E7140C020EDF00F66BC5 /* Sema.h */; };
+ DE67E7170C020EE400F66BC5 /* Sema.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE67E7160C020EE400F66BC5 /* Sema.cpp */; };
+ DE67E71A0C020F4F00F66BC5 /* ParseAST.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE67E7190C020F4F00F66BC5 /* ParseAST.cpp */; };
+ DE67E7280C02109800F66BC5 /* ParseAST.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE67E7270C02109800F66BC5 /* ParseAST.h */; };
+ DE6951C70C4D1F5D00A5826B /* RecordLayout.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE6951C60C4D1F5D00A5826B /* RecordLayout.h */; };
+ DE6954640C5121BD00A5826B /* Token.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE6954630C5121BD00A5826B /* Token.h */; };
+ DE704B260D0FBEBE009C7762 /* SemaDeclObjC.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE704B250D0FBEBE009C7762 /* SemaDeclObjC.cpp */; };
+ DE704DD20D1668A4009C7762 /* HeaderMap.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE704DD10D1668A4009C7762 /* HeaderMap.cpp */; };
+ DE75ED290B044DC90020CF81 /* ASTContext.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE75ED280B044DC90020CF81 /* ASTContext.h */; };
+ DE75EDF10B06880E0020CF81 /* Type.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE75EDF00B06880E0020CF81 /* Type.cpp */; };
+ DE85CD810D8380B10070E26E /* TokenLexer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE85CD800D8380B10070E26E /* TokenLexer.cpp */; };
+ DE85CDA30D8383B20070E26E /* MacroArgs.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE85CDA20D8383B20070E26E /* MacroArgs.cpp */; };
+ DE85CDAC0D838C120070E26E /* PPMacroExpansion.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE85CDAB0D838C120070E26E /* PPMacroExpansion.cpp */; };
+ DE85CDB00D838C390070E26E /* PPDirectives.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE85CDAF0D838C390070E26E /* PPDirectives.cpp */; };
+ DE85CDB60D839BAE0070E26E /* PPLexerChange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE85CDB50D839BAE0070E26E /* PPLexerChange.cpp */; };
+ DE8823CB0ED0046600CBC30A /* APValue.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE8823CA0ED0046600CBC30A /* APValue.cpp */; };
+ DE928B130C05659200231DA4 /* ModuleBuilder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE928B120C05659200231DA4 /* ModuleBuilder.cpp */; };
+ DE928B200C0565B000231DA4 /* ModuleBuilder.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE928B1F0C0565B000231DA4 /* ModuleBuilder.h */; };
+ DE928B7D0C0A615100231DA4 /* CodeGenModule.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE928B7C0C0A615100231DA4 /* CodeGenModule.h */; };
+ DE928B7F0C0A615600231DA4 /* CodeGenModule.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE928B7E0C0A615600231DA4 /* CodeGenModule.cpp */; };
+ DE928B810C0A615B00231DA4 /* CodeGenFunction.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DE928B800C0A615B00231DA4 /* CodeGenFunction.h */; };
+ DE928B830C0A616000231DA4 /* CodeGenFunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DE928B820C0A616000231DA4 /* CodeGenFunction.cpp */; };
+ DEAEE98B0A5A2B970045101B /* MultipleIncludeOpt.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DEAEE98A0A5A2B970045101B /* MultipleIncludeOpt.h */; };
+ DEAEED4B0A5AF89A0045101B /* NOTES.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = DEAEED4A0A5AF89A0045101B /* NOTES.txt */; };
+ DEB076CF0F3A222200F5A2BE /* DeclTemplate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEB076CE0F3A222200F5A2BE /* DeclTemplate.cpp */; };
+ DEB077990F44F97800F5A2BE /* TokenConcatenation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEB077980F44F97800F5A2BE /* TokenConcatenation.cpp */; };
+ DEB07AC80F4A427E00F5A2BE /* SemaAttr.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEB07AC70F4A427E00F5A2BE /* SemaAttr.cpp */; };
+ DEC63B1A0C7B940200DBF169 /* CFG.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEC63B190C7B940200DBF169 /* CFG.cpp */; };
+ DEC63B1C0C7B940600DBF169 /* CFG.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DEC63B1B0C7B940600DBF169 /* CFG.h */; };
+ DEC8D9910A9433CD00353FCA /* Decl.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DEC8D9900A9433CD00353FCA /* Decl.h */; };
+ DEC8D9A40A94346E00353FCA /* AST.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DEC8D9A30A94346E00353FCA /* AST.h */; };
+ DECAB0D00DB3C84200E13CCB /* RewriteRope.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DECAB0CF0DB3C84200E13CCB /* RewriteRope.cpp */; };
+ DECB6D650F9AE26600F5FBC7 /* JumpDiagnostics.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DECB6D640F9AE26600F5FBC7 /* JumpDiagnostics.cpp */; };
+ DECB6F070F9D93A800F5FBC7 /* InitPreprocessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DECB6F060F9D93A800F5FBC7 /* InitPreprocessor.cpp */; };
+ DECB77130FA5752300F5FBC7 /* PCHReaderStmt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DECB77120FA5752300F5FBC7 /* PCHReaderStmt.cpp */; };
+ DECB77790FA579B000F5FBC7 /* PCHReaderDecl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DECB77780FA579B000F5FBC7 /* PCHReaderDecl.cpp */; };
+ DECB77F70FA5850200F5FBC7 /* PCHWriterDecl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DECB77F60FA5850200F5FBC7 /* PCHWriterDecl.cpp */; };
+ DECB78170FA5882F00F5FBC7 /* PCHWriterStmt.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DECB78160FA5882F00F5FBC7 /* PCHWriterStmt.cpp */; };
+ DED626C90AE0C065001E80A4 /* TargetInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DED626C80AE0C065001E80A4 /* TargetInfo.cpp */; };
+ DED62ABB0AE2EDF1001E80A4 /* Decl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DED62ABA0AE2EDF1001E80A4 /* Decl.cpp */; };
+ DED676D10B6C786700AAD4A3 /* Builtins.def in CopyFiles */ = {isa = PBXBuildFile; fileRef = DED676D00B6C786700AAD4A3 /* Builtins.def */; };
+ DED676FA0B6C797B00AAD4A3 /* Builtins.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DED676F90B6C797B00AAD4A3 /* Builtins.h */; };
+ DED677C90B6C854100AAD4A3 /* Builtins.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DED677C80B6C854100AAD4A3 /* Builtins.cpp */; };
+ DED7D7410A524295003AD0FB /* Diagnostic.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DED7D7310A524295003AD0FB /* Diagnostic.h */; };
+ DED7D7430A524295003AD0FB /* FileManager.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DED7D7330A524295003AD0FB /* FileManager.h */; };
+ DED7D7450A524295003AD0FB /* SourceLocation.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DED7D7350A524295003AD0FB /* SourceLocation.h */; };
+ DED7D7460A524295003AD0FB /* SourceManager.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DED7D7360A524295003AD0FB /* SourceManager.h */; };
+ DED7D7470A524295003AD0FB /* TokenKinds.def in CopyFiles */ = {isa = PBXBuildFile; fileRef = DED7D7370A524295003AD0FB /* TokenKinds.def */; };
+ DED7D7480A524295003AD0FB /* TokenKinds.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DED7D7380A524295003AD0FB /* TokenKinds.h */; };
+ DED7D74A0A524295003AD0FB /* Lexer.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DED7D73B0A524295003AD0FB /* Lexer.h */; };
+ DED7D74D0A524295003AD0FB /* MacroInfo.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DED7D73E0A524295003AD0FB /* MacroInfo.h */; };
+ DED7D74E0A524295003AD0FB /* Pragma.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DED7D73F0A524295003AD0FB /* Pragma.h */; };
+ DED7D74F0A524295003AD0FB /* Preprocessor.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DED7D7400A524295003AD0FB /* Preprocessor.h */; };
+ DED7D77A0A5242C7003AD0FB /* Diagnostic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DED7D75D0A5242C7003AD0FB /* Diagnostic.cpp */; };
+ DED7D77B0A5242C7003AD0FB /* FileManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DED7D75E0A5242C7003AD0FB /* FileManager.cpp */; };
+ DED7D7890A5242C7003AD0FB /* SourceManager.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DED7D76D0A5242C7003AD0FB /* SourceManager.cpp */; };
+ DED7D78A0A5242C7003AD0FB /* TokenKinds.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DED7D76E0A5242C7003AD0FB /* TokenKinds.cpp */; };
+ DED7D7C30A5242E6003AD0FB /* Lexer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DED7D79E0A5242E6003AD0FB /* Lexer.cpp */; };
+ DED7D7C50A5242E6003AD0FB /* MacroInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DED7D7A00A5242E6003AD0FB /* MacroInfo.cpp */; };
+ DED7D7C70A5242E6003AD0FB /* PPExpressions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DED7D7A20A5242E6003AD0FB /* PPExpressions.cpp */; };
+ DED7D7C80A5242E6003AD0FB /* Pragma.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DED7D7A30A5242E6003AD0FB /* Pragma.cpp */; };
+ DED7D7C90A5242E6003AD0FB /* Preprocessor.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DED7D7A40A5242E6003AD0FB /* Preprocessor.cpp */; };
+ DED7D7D80A524302003AD0FB /* README.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = DED7D7D70A524302003AD0FB /* README.txt */; };
+ DED7D9180A52518C003AD0FB /* ScratchBuffer.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DED7D9170A52518C003AD0FB /* ScratchBuffer.h */; };
+ DED7D9E50A5257F6003AD0FB /* ScratchBuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DED7D9E40A5257F6003AD0FB /* ScratchBuffer.cpp */; };
+ DEDFE5CF0F7206E40035BD10 /* NestedNameSpecifier.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEDFE5CE0F7206E40035BD10 /* NestedNameSpecifier.cpp */; };
+ DEDFE6460F7B3B4E0035BD10 /* driver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEDFE6450F7B3B4E0035BD10 /* driver.cpp */; };
+ DEDFE65A0F7B3B830035BD10 /* Types.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEDFE6480F7B3B830035BD10 /* Types.cpp */; };
+ DEDFE65B0F7B3B830035BD10 /* Tools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEDFE64A0F7B3B830035BD10 /* Tools.cpp */; };
+ DEDFE65C0F7B3B830035BD10 /* Compilation.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEDFE64C0F7B3B830035BD10 /* Compilation.cpp */; };
+ DEDFE65D0F7B3B830035BD10 /* ArgList.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEDFE64D0F7B3B830035BD10 /* ArgList.cpp */; };
+ DEDFE65E0F7B3B830035BD10 /* Arg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEDFE64E0F7B3B830035BD10 /* Arg.cpp */; };
+ DEDFE65F0F7B3B830035BD10 /* Action.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEDFE64F0F7B3B830035BD10 /* Action.cpp */; };
+ DEDFE6600F7B3B830035BD10 /* Phases.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEDFE6500F7B3B830035BD10 /* Phases.cpp */; };
+ DEDFE6610F7B3B830035BD10 /* OptTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEDFE6510F7B3B830035BD10 /* OptTable.cpp */; };
+ DEDFE6620F7B3B830035BD10 /* Option.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEDFE6520F7B3B830035BD10 /* Option.cpp */; };
+ DEDFE6630F7B3B830035BD10 /* Job.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEDFE6530F7B3B830035BD10 /* Job.cpp */; };
+ DEDFE6640F7B3B830035BD10 /* ToolChains.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEDFE6550F7B3B830035BD10 /* ToolChains.cpp */; };
+ DEDFE6650F7B3B830035BD10 /* ToolChain.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEDFE6560F7B3B830035BD10 /* ToolChain.cpp */; };
+ DEDFE6660F7B3B830035BD10 /* Tool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEDFE6570F7B3B830035BD10 /* Tool.cpp */; };
+ DEDFE6670F7B3B830035BD10 /* HostInfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEDFE6580F7B3B830035BD10 /* HostInfo.cpp */; };
+ DEDFE6680F7B3B830035BD10 /* Driver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEDFE6590F7B3B830035BD10 /* Driver.cpp */; };
+ DEDFF8880F848CF80035BD10 /* TemplateName.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEDFF8870F848CF80035BD10 /* TemplateName.cpp */; };
+ DEEBBD440C19C5D200A9FE82 /* TODO.txt in CopyFiles */ = {isa = PBXBuildFile; fileRef = DEEBBD430C19C5D200A9FE82 /* TODO.txt */; };
+ DEEBC3BA0C2363B800A9FE82 /* CodeGenTypes.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DEEBC3B90C2363B800A9FE82 /* CodeGenTypes.h */; };
+ DEEBC3BC0C2363BC00A9FE82 /* CodeGenTypes.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEEBC3BB0C2363BC00A9FE82 /* CodeGenTypes.cpp */; };
+ DEF165710F8FB34D0098507F /* PCHWriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEF165700F8FB34D0098507F /* PCHWriter.cpp */; };
+ DEF165750F8FB3510098507F /* PCHReader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEF165740F8FB3510098507F /* PCHReader.cpp */; };
+ DEF168400F9548DC0098507F /* FixItRewriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEF1683F0F9548DC0098507F /* FixItRewriter.cpp */; };
+ DEF2E95F0C5FBD74000C4259 /* InternalsManual.html in CopyFiles */ = {isa = PBXBuildFile; fileRef = DEF2E95E0C5FBD74000C4259 /* InternalsManual.html */; };
+ DEF2EDA70C6A4252000C4259 /* StmtDumper.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEF2EDA60C6A4252000C4259 /* StmtDumper.cpp */; };
+ DEF2EFF30C6CDD74000C4259 /* CGExprAgg.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEF2EFF20C6CDD74000C4259 /* CGExprAgg.cpp */; };
+ DEF2F0100C6CFED5000C4259 /* SemaChecking.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEF2F00F0C6CFED5000C4259 /* SemaChecking.cpp */; };
+ DEF7D9F70C9C8B1A0001F598 /* Rewriter.h in CopyFiles */ = {isa = PBXBuildFile; fileRef = DEF7D9F60C9C8B1A0001F598 /* Rewriter.h */; };
+ DEF7D9F90C9C8B1D0001F598 /* Rewriter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEF7D9F80C9C8B1D0001F598 /* Rewriter.cpp */; };
+ DEFFECA70DB1546600B4E7C3 /* DeltaTree.cpp in Sources */ = {isa = PBXBuildFile; fileRef = DEFFECA60DB1546600B4E7C3 /* DeltaTree.cpp */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXCopyFilesBuildPhase section */
+ 8DD76F690486A84900D96B5E /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 8;
+ dstPath = /usr/share/man/man1/;
+ dstSubfolderSpec = 0;
+ files = (
+ DED7D7410A524295003AD0FB /* Diagnostic.h in CopyFiles */,
+ DED7D7430A524295003AD0FB /* FileManager.h in CopyFiles */,
+ DED7D7450A524295003AD0FB /* SourceLocation.h in CopyFiles */,
+ DED7D7460A524295003AD0FB /* SourceManager.h in CopyFiles */,
+ DED7D7470A524295003AD0FB /* TokenKinds.def in CopyFiles */,
+ DED7D7480A524295003AD0FB /* TokenKinds.h in CopyFiles */,
+ DED7D74A0A524295003AD0FB /* Lexer.h in CopyFiles */,
+ DED7D74D0A524295003AD0FB /* MacroInfo.h in CopyFiles */,
+ DED7D74E0A524295003AD0FB /* Pragma.h in CopyFiles */,
+ DED7D74F0A524295003AD0FB /* Preprocessor.h in CopyFiles */,
+ DED7D7D80A524302003AD0FB /* README.txt in CopyFiles */,
+ DED7D9180A52518C003AD0FB /* ScratchBuffer.h in CopyFiles */,
+ DEAEE98B0A5A2B970045101B /* MultipleIncludeOpt.h in CopyFiles */,
+ DEAEED4B0A5AF89A0045101B /* NOTES.txt in CopyFiles */,
+ DE1F22030A7D852A00FBF588 /* Parser.h in CopyFiles */,
+ DE06B73E0A8307640050E87E /* LangOptions.h in CopyFiles */,
+ DE06BECB0A854E4B0050E87E /* Scope.h in CopyFiles */,
+ DE06E8140A8FF9330050E87E /* Action.h in CopyFiles */,
+ DEC8D9910A9433CD00353FCA /* Decl.h in CopyFiles */,
+ DEC8D9A40A94346E00353FCA /* AST.h in CopyFiles */,
+ DE0FCA630A95859D00248FD5 /* Expr.h in CopyFiles */,
+ DE46BF280AE0A82D00CC047C /* TargetInfo.h in CopyFiles */,
+ DE344AB80AE5DF6D00DBC861 /* HeaderSearch.h in CopyFiles */,
+ DE3450D70AEB543100DBC861 /* DirectoryLookup.h in CopyFiles */,
+ DE3452810AEF1B1800DBC861 /* Stmt.h in CopyFiles */,
+ DE345C1A0AFC658B00DBC861 /* StmtVisitor.h in CopyFiles */,
+ DE345F220AFD347900DBC861 /* StmtNodes.def in CopyFiles */,
+ DE3464220B03040900DBC861 /* Type.h in CopyFiles */,
+ DE75ED290B044DC90020CF81 /* ASTContext.h in CopyFiles */,
+ DE1733700B068DC60080B521 /* DeclSpec.h in CopyFiles */,
+ DE01DA490B12ADA300AC22CE /* PPCallbacks.h in CopyFiles */,
+ DED676D10B6C786700AAD4A3 /* Builtins.def in CopyFiles */,
+ DED676FA0B6C797B00AAD4A3 /* Builtins.h in CopyFiles */,
+ 1A30A9E90B93A4C800201A91 /* ExprCXX.h in CopyFiles */,
+ 1A869A700BA2164C008DA07A /* LiteralSupport.h in CopyFiles */,
+ DE67E7150C020EDF00F66BC5 /* Sema.h in CopyFiles */,
+ DE67E7280C02109800F66BC5 /* ParseAST.h in CopyFiles */,
+ DE928B200C0565B000231DA4 /* ModuleBuilder.h in CopyFiles */,
+ DE928B7D0C0A615100231DA4 /* CodeGenModule.h in CopyFiles */,
+ DE928B810C0A615B00231DA4 /* CodeGenFunction.h in CopyFiles */,
+ DEEBBD440C19C5D200A9FE82 /* TODO.txt in CopyFiles */,
+ 84D9A88C0C1A581300AC7ABC /* AttributeList.h in CopyFiles */,
+ DEEBC3BA0C2363B800A9FE82 /* CodeGenTypes.h in CopyFiles */,
+ DE6951C70C4D1F5D00A5826B /* RecordLayout.h in CopyFiles */,
+ DE6954640C5121BD00A5826B /* Token.h in CopyFiles */,
+ DEF2E95F0C5FBD74000C4259 /* InternalsManual.html in CopyFiles */,
+ DEC63B1C0C7B940600DBF169 /* CFG.h in CopyFiles */,
+ DEF7D9F70C9C8B1A0001F598 /* Rewriter.h in CopyFiles */,
+ 84AF36A10CB17A3B00C820A5 /* DeclObjC.h in CopyFiles */,
+ DE3986F00CB8D4B300223765 /* IdentifierTable.h in CopyFiles */,
+ );
+ runOnlyForDeploymentPostprocessing = 1;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
+/* Begin PBXFileReference section */
+ 035611470DA6A45C00D2EF2A /* DeclBase.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = DeclBase.h; path = clang/AST/DeclBase.h; sourceTree = "<group>"; tabWidth = 2; };
+ 03F50AC50D416EAA00B9CF60 /* Targets.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = Targets.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1A2193CB0F45EEB700C0713D /* ABIInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = ABIInfo.h; path = lib/CodeGen/ABIInfo.h; sourceTree = "<group>"; tabWidth = 2; };
+ 1A2193CC0F45EEB700C0713D /* Mangle.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = Mangle.cpp; path = lib/CodeGen/Mangle.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1A2193CD0F45EEB700C0713D /* Mangle.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = Mangle.h; path = lib/CodeGen/Mangle.h; sourceTree = "<group>"; tabWidth = 2; };
+ 1A2A54A40FD1DD1C00F4CE45 /* AnalysisConsumer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = AnalysisConsumer.cpp; path = lib/Frontend/AnalysisConsumer.cpp; sourceTree = "<group>"; };
+ 1A2A54A50FD1DD1C00F4CE45 /* ASTConsumers.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ASTConsumers.cpp; path = lib/Frontend/ASTConsumers.cpp; sourceTree = "<group>"; };
+ 1A2A54A60FD1DD1C00F4CE45 /* Backend.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Backend.cpp; path = lib/Frontend/Backend.cpp; sourceTree = "<group>"; };
+ 1A2A54A70FD1DD1C00F4CE45 /* CacheTokens.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CacheTokens.cpp; path = lib/Frontend/CacheTokens.cpp; sourceTree = "<group>"; };
+ 1A2A54A80FD1DD1C00F4CE45 /* DependencyFile.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DependencyFile.cpp; path = lib/Frontend/DependencyFile.cpp; sourceTree = "<group>"; };
+ 1A2A54A90FD1DD1C00F4CE45 /* DiagChecker.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DiagChecker.cpp; path = lib/Frontend/DiagChecker.cpp; sourceTree = "<group>"; };
+ 1A2A54AA0FD1DD1C00F4CE45 /* DocumentXML.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DocumentXML.cpp; path = lib/Frontend/DocumentXML.cpp; sourceTree = "<group>"; };
+ 1A2A54AB0FD1DD1C00F4CE45 /* GeneratePCH.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GeneratePCH.cpp; path = lib/Frontend/GeneratePCH.cpp; sourceTree = "<group>"; };
+ 1A2A54AC0FD1DD1C00F4CE45 /* HTMLPrint.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HTMLPrint.cpp; path = lib/Frontend/HTMLPrint.cpp; sourceTree = "<group>"; };
+ 1A2A54AD0FD1DD1C00F4CE45 /* PrintParserCallbacks.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PrintParserCallbacks.cpp; path = lib/Frontend/PrintParserCallbacks.cpp; sourceTree = "<group>"; };
+ 1A2A54AE0FD1DD1C00F4CE45 /* PrintPreprocessedOutput.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PrintPreprocessedOutput.cpp; path = lib/Frontend/PrintPreprocessedOutput.cpp; sourceTree = "<group>"; };
+ 1A2A54AF0FD1DD1C00F4CE45 /* RewriteBlocks.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RewriteBlocks.cpp; path = lib/Frontend/RewriteBlocks.cpp; sourceTree = "<group>"; };
+ 1A2A54B00FD1DD1C00F4CE45 /* RewriteMacros.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RewriteMacros.cpp; path = lib/Frontend/RewriteMacros.cpp; sourceTree = "<group>"; };
+ 1A2A54B10FD1DD1C00F4CE45 /* RewriteObjC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RewriteObjC.cpp; path = lib/Frontend/RewriteObjC.cpp; sourceTree = "<group>"; };
+ 1A2A54B20FD1DD1C00F4CE45 /* RewriteTest.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RewriteTest.cpp; path = lib/Frontend/RewriteTest.cpp; sourceTree = "<group>"; };
+ 1A2A54B30FD1DD1C00F4CE45 /* StmtXML.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = StmtXML.cpp; path = lib/Frontend/StmtXML.cpp; sourceTree = "<group>"; };
+ 1A2A54B40FD1DD1C00F4CE45 /* Warnings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Warnings.cpp; path = lib/Frontend/Warnings.cpp; sourceTree = "<group>"; };
+ 1A30A9E80B93A4C800201A91 /* ExprCXX.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = ExprCXX.h; path = clang/AST/ExprCXX.h; sourceTree = "<group>"; tabWidth = 2; };
+ 1A32C17E0E1C87AD00A6B483 /* ExprConstant.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = ExprConstant.cpp; path = lib/AST/ExprConstant.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1A376A2C0D4AED9B002A1C52 /* CGExprConstant.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGExprConstant.cpp; path = lib/CodeGen/CGExprConstant.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1A410F840FBCE51100351440 /* SemaTemplateInstantiateExpr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = SemaTemplateInstantiateExpr.cpp; path = lib/Sema/SemaTemplateInstantiateExpr.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1A471AB40F437BC500753CE8 /* CGBlocks.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGBlocks.cpp; path = lib/CodeGen/CGBlocks.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1A5119C30FBDF71000A1FF22 /* SemaTemplateInstantiateStmt.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SemaTemplateInstantiateStmt.cpp; path = lib/Sema/SemaTemplateInstantiateStmt.cpp; sourceTree = "<group>"; };
+ 1A5D5E570E5E81010023C059 /* CGCXX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGCXX.cpp; path = lib/CodeGen/CGCXX.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1A649E1D0F9599D9005B965E /* CGBlocks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CGBlocks.h; path = lib/CodeGen/CGBlocks.h; sourceTree = "<group>"; };
+ 1A649E1E0F9599DA005B965E /* CGCXX.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CGCXX.h; path = lib/CodeGen/CGCXX.h; sourceTree = "<group>"; };
+ 1A68BC110D0CADDD001A28C8 /* PPCBuiltins.def */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = text; name = PPCBuiltins.def; path = clang/AST/PPCBuiltins.def; sourceTree = "<group>"; tabWidth = 2; };
+ 1A68BC120D0CADDD001A28C8 /* TargetBuiltins.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = TargetBuiltins.h; path = clang/AST/TargetBuiltins.h; sourceTree = "<group>"; tabWidth = 2; };
+ 1A68BC130D0CADDD001A28C8 /* X86Builtins.def */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = text; name = X86Builtins.def; path = clang/AST/X86Builtins.def; sourceTree = "<group>"; tabWidth = 2; };
+ 1A7019E90F79BC1100FEC4D1 /* DiagnosticAnalysisKinds.td */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DiagnosticAnalysisKinds.td; sourceTree = "<group>"; };
+ 1A7019EA0F79BC1100FEC4D1 /* DiagnosticASTKinds.td */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DiagnosticASTKinds.td; sourceTree = "<group>"; };
+ 1A7019EB0F79BC1100FEC4D1 /* DiagnosticCommonKinds.td */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DiagnosticCommonKinds.td; sourceTree = "<group>"; };
+ 1A7019EC0F79BC1100FEC4D1 /* DiagnosticDriverKinds.td */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DiagnosticDriverKinds.td; sourceTree = "<group>"; };
+ 1A7019ED0F79BC1100FEC4D1 /* DiagnosticFrontendKinds.td */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DiagnosticFrontendKinds.td; sourceTree = "<group>"; };
+ 1A7019EE0F79BC1100FEC4D1 /* DiagnosticLexKinds.td */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DiagnosticLexKinds.td; sourceTree = "<group>"; };
+ 1A7019EF0F79BC1100FEC4D1 /* DiagnosticParseKinds.td */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DiagnosticParseKinds.td; sourceTree = "<group>"; };
+ 1A701A250F79CE1C00FEC4D1 /* DiagnosticSemaKinds.td */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = DiagnosticSemaKinds.td; sourceTree = "<group>"; };
+ 1A701B630F7C8FE400FEC4D1 /* SemaAccess.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = SemaAccess.cpp; path = lib/Sema/SemaAccess.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1A72BEAC0D641E9400B085E9 /* Attr.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = Attr.h; path = clang/AST/Attr.h; sourceTree = "<group>"; tabWidth = 2; };
+ 1A7342470C7B57D500122F56 /* CGObjC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGObjC.cpp; path = lib/CodeGen/CGObjC.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1A869A6E0BA2164C008DA07A /* LiteralSupport.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LiteralSupport.h; sourceTree = "<group>"; };
+ 1A869AA70BA21ABA008DA07A /* LiteralSupport.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = LiteralSupport.cpp; sourceTree = "<group>"; };
+ 1ABC36930C7A4BDC006DB0AB /* CGBuiltin.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGBuiltin.cpp; path = lib/CodeGen/CGBuiltin.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1ADF47AE0F782C3200E48A8A /* SemaTemplateInstantiateDecl.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = SemaTemplateInstantiateDecl.cpp; path = lib/Sema/SemaTemplateInstantiateDecl.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 1AFEF4050F8A6B2300476F2B /* clang-cc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = "clang-cc.cpp"; path = "tools/clang-cc/clang-cc.cpp"; sourceTree = "<group>"; tabWidth = 2; };
+ 3507E4C10E27FE2D00FB7B57 /* CheckObjCInstMethSignature.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CheckObjCInstMethSignature.cpp; path = lib/Analysis/CheckObjCInstMethSignature.cpp; sourceTree = "<group>"; };
+ 352246E10F5C6BE000D0D279 /* HTMLDiagnostics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HTMLDiagnostics.cpp; path = lib/Frontend/HTMLDiagnostics.cpp; sourceTree = "<group>"; };
+ 352246E20F5C6BE000D0D279 /* InitHeaderSearch.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = InitHeaderSearch.cpp; path = lib/Frontend/InitHeaderSearch.cpp; sourceTree = "<group>"; };
+ 352246E30F5C6BE000D0D279 /* ManagerRegistry.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ManagerRegistry.cpp; path = lib/Frontend/ManagerRegistry.cpp; sourceTree = "<group>"; };
+ 352246E40F5C6BE000D0D279 /* PlistDiagnostics.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PlistDiagnostics.cpp; path = lib/Frontend/PlistDiagnostics.cpp; sourceTree = "<group>"; };
+ 352246E50F5C6BE000D0D279 /* TextDiagnosticBuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TextDiagnosticBuffer.cpp; path = lib/Frontend/TextDiagnosticBuffer.cpp; sourceTree = "<group>"; };
+ 352246E60F5C6BE000D0D279 /* TextDiagnosticPrinter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = TextDiagnosticPrinter.cpp; path = lib/Frontend/TextDiagnosticPrinter.cpp; sourceTree = "<group>"; };
+ 35260CA40C7F75C000D66CE9 /* ExprCXX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = ExprCXX.cpp; path = lib/AST/ExprCXX.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 3527124F0DAFE54700C76352 /* IdentifierResolver.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = IdentifierResolver.h; path = lib/Sema/IdentifierResolver.h; sourceTree = "<group>"; tabWidth = 2; };
+ 352712500DAFE54700C76352 /* IdentifierResolver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = IdentifierResolver.cpp; path = lib/Sema/IdentifierResolver.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 352C19DC0CA321C80045DB98 /* CFGRecStmtDeclVisitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CFGRecStmtDeclVisitor.h; path = clang/Analysis/Visitors/CFGRecStmtDeclVisitor.h; sourceTree = "<group>"; };
+ 352C19DD0CA321C80045DB98 /* CFGRecStmtVisitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CFGRecStmtVisitor.h; path = clang/Analysis/Visitors/CFGRecStmtVisitor.h; sourceTree = "<group>"; };
+ 352C19DE0CA321C80045DB98 /* CFGStmtVisitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CFGStmtVisitor.h; path = clang/Analysis/Visitors/CFGStmtVisitor.h; sourceTree = "<group>"; };
+ 352C19DF0CA321C80045DB98 /* CFGVarDeclVisitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = CFGVarDeclVisitor.h; path = clang/Analysis/Visitors/CFGVarDeclVisitor.h; sourceTree = "<group>"; };
+ 3534A01C0E129849002709B2 /* ParseCXXInlineMethods.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = ParseCXXInlineMethods.cpp; path = lib/Parse/ParseCXXInlineMethods.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 3536456A0E23EBF7009C6509 /* Environment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = Environment.cpp; path = lib/Analysis/Environment.cpp; sourceTree = "<group>"; };
+ 3536457C0E2406B0009C6509 /* Environment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Environment.h; path = clang/Analysis/PathSensitive/Environment.h; sourceTree = "<group>"; };
+ 3537AA0C0ECD088F008F7CDC /* BlkExprDeclBitVector.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BlkExprDeclBitVector.h; path = clang/Analysis/Support/BlkExprDeclBitVector.h; sourceTree = "<group>"; };
+ 3537AA0D0ECD08A4008F7CDC /* PreprocessorLexer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PreprocessorLexer.cpp; sourceTree = "<group>"; };
+ 3538FDB60ED24A2C005EC283 /* DeclarationName.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = DeclarationName.h; path = clang/AST/DeclarationName.h; sourceTree = "<group>"; tabWidth = 2; };
+ 3538FDB70ED24A4E005EC283 /* DeclarationName.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = DeclarationName.cpp; path = lib/AST/DeclarationName.cpp; sourceTree = "<group>"; };
+ 353959D40EE5F88A00E82461 /* ParseTemplate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = ParseTemplate.cpp; path = lib/Parse/ParseTemplate.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 3547129D0C88881300B3E1D5 /* PrettyPrinter.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = PrettyPrinter.h; path = clang/AST/PrettyPrinter.h; sourceTree = "<group>"; tabWidth = 2; };
+ 35475B1F0E79973F0000BFE4 /* CGCall.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGCall.cpp; path = lib/CodeGen/CGCall.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 35475B220E7997680000BFE4 /* CGCall.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = CGCall.h; path = lib/CodeGen/CGCall.h; sourceTree = "<group>"; tabWidth = 2; };
+ 35475B230E7997680000BFE4 /* CGValue.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = CGValue.h; path = lib/CodeGen/CGValue.h; sourceTree = "<group>"; tabWidth = 2; };
+ 355106850E9A8507006A4E44 /* MemRegion.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = MemRegion.cpp; path = lib/Analysis/MemRegion.cpp; sourceTree = "<group>"; };
+ 355106880E9A851B006A4E44 /* MemRegion.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = MemRegion.h; path = clang/Analysis/PathSensitive/MemRegion.h; sourceTree = "<group>"; };
+ 3551068A0E9A8546006A4E44 /* ParsePragma.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = ParsePragma.cpp; path = lib/Parse/ParsePragma.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 3551068B0E9A8546006A4E44 /* ParseTentative.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = ParseTentative.cpp; path = lib/Parse/ParseTentative.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 3551068E0E9A855F006A4E44 /* AccessSpecifier.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = AccessSpecifier.h; path = clang/Parse/AccessSpecifier.h; sourceTree = "<group>"; tabWidth = 2; };
+ 3551068F0E9A857C006A4E44 /* ParsePragma.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = ParsePragma.h; path = lib/Parse/ParsePragma.h; sourceTree = "<group>"; tabWidth = 2; };
+ 3552E7540E520D80003A8CA5 /* PPCaching.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PPCaching.cpp; sourceTree = "<group>"; };
+ 3552E7580E520DD7003A8CA5 /* CGObjCMac.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGObjCMac.cpp; path = lib/CodeGen/CGObjCMac.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 3553EB9A0E5F7089007D7359 /* GRStateTrait.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GRStateTrait.h; path = clang/Analysis/PathSensitive/GRStateTrait.h; sourceTree = "<group>"; };
+ 35544B850F5C7FD700D92AA9 /* RangeConstraintManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RangeConstraintManager.cpp; path = lib/Analysis/RangeConstraintManager.cpp; sourceTree = "<group>"; };
+ 35544B860F5C7FD700D92AA9 /* SimpleConstraintManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SimpleConstraintManager.cpp; path = lib/Analysis/SimpleConstraintManager.cpp; sourceTree = "<group>"; };
+ 35544B870F5C7FD700D92AA9 /* SimpleConstraintManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SimpleConstraintManager.h; path = lib/Analysis/SimpleConstraintManager.h; sourceTree = "<group>"; };
+ 35544B8B0F5C803200D92AA9 /* SemaTemplateInstantiate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = SemaTemplateInstantiate.cpp; path = lib/Sema/SemaTemplateInstantiate.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 3557D1A80EB136B100C59739 /* InheritViz.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = InheritViz.cpp; path = lib/AST/InheritViz.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 3557D1EF0EB13BB700C59739 /* SemaInherit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = SemaInherit.cpp; path = lib/Sema/SemaInherit.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 35585DBD0EAFBC4500D0A97A /* CXXFieldCollector.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = CXXFieldCollector.h; path = lib/Sema/CXXFieldCollector.h; sourceTree = "<group>"; tabWidth = 2; };
+ 35585DBE0EAFBC4500D0A97A /* SemaOverload.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = SemaOverload.cpp; path = lib/Sema/SemaOverload.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 35585DBF0EAFBC4500D0A97A /* SemaOverload.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = SemaOverload.h; path = lib/Sema/SemaOverload.h; sourceTree = "<group>"; tabWidth = 2; };
+ 3558F76C0E267C8300A5B0DF /* BasicStore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BasicStore.cpp; path = lib/Analysis/BasicStore.cpp; sourceTree = "<group>"; };
+ 3558F76F0E267C9A00A5B0DF /* Store.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Store.h; path = clang/Analysis/PathSensitive/Store.h; sourceTree = "<group>"; };
+ 355CF6820C90A8B600A08AA3 /* LocalCheckers.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LocalCheckers.h; path = clang/Analysis/LocalCheckers.h; sourceTree = "<group>"; };
+ 356B89760D9BFDC100CBEBE9 /* BasicObjCFoundationChecks.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BasicObjCFoundationChecks.h; path = lib/Analysis/BasicObjCFoundationChecks.h; sourceTree = "<group>"; };
+ 356EF9B40C8F7DDF006650F5 /* LiveVariables.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = LiveVariables.cpp; path = lib/Analysis/LiveVariables.cpp; sourceTree = "<group>"; };
+ 35707EFD0CD0F5CC000B2204 /* SourceLocation.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = SourceLocation.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 357EA27C0F2526F300439B60 /* SemaLookup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = SemaLookup.cpp; path = lib/Sema/SemaLookup.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 35847BE30CC7DB9000C40FFF /* StmtIterator.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = StmtIterator.h; path = clang/AST/StmtIterator.h; sourceTree = "<group>"; tabWidth = 2; };
+ 35847BE40CC7DBAF00C40FFF /* StmtIterator.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = StmtIterator.cpp; path = lib/AST/StmtIterator.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 35862B0C0E3628CB0009F542 /* CheckDeadStores.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CheckDeadStores.cpp; path = lib/Analysis/CheckDeadStores.cpp; sourceTree = "<group>"; };
+ 35862B110E3629850009F542 /* GRExprEngineInternalChecks.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GRExprEngineInternalChecks.cpp; path = lib/Analysis/GRExprEngineInternalChecks.cpp; sourceTree = "<group>"; };
+ 358CFBB70E65AB04002A8E19 /* BasicConstraintManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BasicConstraintManager.cpp; path = lib/Analysis/BasicConstraintManager.cpp; sourceTree = "<group>"; };
+ 358D23090E8BEB850003DDCC /* DeclGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = DeclGroup.h; path = clang/AST/DeclGroup.h; sourceTree = "<group>"; tabWidth = 2; };
+ 358D230A0E8BEB9D0003DDCC /* DeclGroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = DeclGroup.cpp; path = lib/AST/DeclGroup.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 358F514F0E529A87007F2102 /* GRState.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GRState.h; path = clang/Analysis/PathSensitive/GRState.h; sourceTree = "<group>"; };
+ 358F51510E529AA4007F2102 /* GRState.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GRState.cpp; path = lib/Analysis/GRState.cpp; sourceTree = "<group>"; };
+ 3591853E0EFB1088000039AF /* SemaTemplate.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = SemaTemplate.cpp; path = lib/Sema/SemaTemplate.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 359378FF0DA486490043B19C /* BugReporter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BugReporter.h; path = clang/Analysis/PathSensitive/BugReporter.h; sourceTree = "<group>"; };
+ 359379090DA48ABA0043B19C /* BugReporter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BugReporter.cpp; path = lib/Analysis/BugReporter.cpp; sourceTree = "<group>"; };
+ 3595AFB70E1C8D62004CDF09 /* CheckObjCDealloc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CheckObjCDealloc.cpp; path = lib/Analysis/CheckObjCDealloc.cpp; sourceTree = "<group>"; };
+ 3598EBEB0EDE23EF0070CA16 /* PTHManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PTHManager.h; sourceTree = "<group>"; };
+ 3599299A0DE2425300A8A33E /* SemaInit.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = SemaInit.cpp; path = lib/Sema/SemaInit.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 35A057D20EAE2D2B0069249F /* SVals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SVals.h; path = clang/Analysis/PathSensitive/SVals.h; sourceTree = "<group>"; };
+ 35A057E00EAE2D950069249F /* RegionStore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = RegionStore.cpp; path = lib/Analysis/RegionStore.cpp; sourceTree = "<group>"; };
+ 35A057E10EAE2D950069249F /* SVals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SVals.cpp; path = lib/Analysis/SVals.cpp; sourceTree = "<group>"; };
+ 35A3E7000DD3874400757F74 /* CGDebugInfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGDebugInfo.cpp; path = lib/CodeGen/CGDebugInfo.cpp; sourceTree = "<group>"; tabWidth = 2; wrapsLines = 1; };
+ 35A3E7010DD3874400757F74 /* CGDebugInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = CGDebugInfo.h; path = lib/CodeGen/CGDebugInfo.h; sourceTree = "<group>"; tabWidth = 2; };
+ 35A8FCF60D9B4ADD001C2F97 /* ProgramPoint.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ProgramPoint.h; path = clang/Analysis/ProgramPoint.h; sourceTree = "<group>"; };
+ 35A8FCF70D9B4ADD001C2F97 /* PathDiagnostic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PathDiagnostic.h; path = clang/Analysis/PathDiagnostic.h; sourceTree = "<group>"; };
+ 35A8FCF80D9B4B29001C2F97 /* PathDiagnostic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = PathDiagnostic.cpp; path = lib/Analysis/PathDiagnostic.cpp; sourceTree = "<group>"; };
+ 35B820740ECB811A0020BEC0 /* PreprocessorLexer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PreprocessorLexer.h; sourceTree = "<group>"; };
+ 35BAC1E70E82C5B7003FB76F /* CheckNSError.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CheckNSError.cpp; path = lib/Analysis/CheckNSError.cpp; sourceTree = "<group>"; };
+ 35BB2D7E0D19954000944DB5 /* ASTConsumer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = ASTConsumer.cpp; path = lib/AST/ASTConsumer.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 35BFBD2B0C9EDE1E006CB644 /* ASTConsumer.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = ASTConsumer.h; path = clang/AST/ASTConsumer.h; sourceTree = "<group>"; tabWidth = 2; };
+ 35CEA05A0DF9E82700A41296 /* ExprObjC.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = ExprObjC.h; path = clang/AST/ExprObjC.h; sourceTree = "<group>"; tabWidth = 2; };
+ 35CFFDFF0CA1CBCB00E6F2BE /* StmtViz.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = StmtViz.cpp; path = lib/AST/StmtViz.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 35CFFE010CA1CBDD00E6F2BE /* StmtGraphTraits.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = StmtGraphTraits.h; path = clang/AST/StmtGraphTraits.h; sourceTree = "<group>"; tabWidth = 2; };
+ 35D1DDD10CA9C6D50096E967 /* DataflowSolver.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DataflowSolver.h; path = clang/Analysis/FlowSensitive/DataflowSolver.h; sourceTree = "<group>"; };
+ 35D1DDD20CA9C6D50096E967 /* DataflowValues.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DataflowValues.h; path = clang/Analysis/FlowSensitive/DataflowValues.h; sourceTree = "<group>"; };
+ 35D55B240D81D8C60092E734 /* BasicValueFactory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BasicValueFactory.cpp; path = lib/Analysis/BasicValueFactory.cpp; sourceTree = "<group>"; };
+ 35D55B250D81D8C60092E734 /* CFRefCount.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CFRefCount.cpp; path = lib/Analysis/CFRefCount.cpp; sourceTree = "<group>"; };
+ 35D55B290D81D8E50092E734 /* BasicValueFactory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = BasicValueFactory.h; path = clang/Analysis/PathSensitive/BasicValueFactory.h; sourceTree = "<group>"; };
+ 35E194670ECB82FB00F21733 /* SemaCXXScopeSpec.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = SemaCXXScopeSpec.cpp; path = lib/Sema/SemaCXXScopeSpec.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 35E194680ECB82FB00F21733 /* SemaNamedCast.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = SemaNamedCast.cpp; path = lib/Sema/SemaNamedCast.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 35E1946C0ECB83C100F21733 /* PTHLexer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = PTHLexer.cpp; sourceTree = "<group>"; };
+ 35EE48AD0E0C4CB200715C54 /* DeclCXX.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = DeclCXX.h; path = clang/AST/DeclCXX.h; sourceTree = "<group>"; tabWidth = 2; };
+ 35EE48AE0E0C4CB200715C54 /* ParentMap.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = ParentMap.h; path = clang/AST/ParentMap.h; sourceTree = "<group>"; tabWidth = 2; };
+ 35EE48AF0E0C4CCA00715C54 /* DeclCXX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = DeclCXX.cpp; path = lib/AST/DeclCXX.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 35EE48B00E0C4CCA00715C54 /* ParentMap.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = ParentMap.cpp; path = lib/AST/ParentMap.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 35EF676F0DAD1D2C00B19414 /* SemaDeclCXX.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = SemaDeclCXX.cpp; path = lib/Sema/SemaDeclCXX.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 35EFEFB50DB67ED60020783D /* GRTransferFuncs.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GRTransferFuncs.cpp; path = lib/Analysis/GRTransferFuncs.cpp; sourceTree = "<group>"; };
+ 35F1ACE60E66166C001F4532 /* ConstraintManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ConstraintManager.h; path = clang/Analysis/PathSensitive/ConstraintManager.h; sourceTree = "<group>"; };
+ 35F2A01D0E36AFF100D17527 /* CheckObjCUnusedIVars.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = CheckObjCUnusedIVars.cpp; path = lib/Analysis/CheckObjCUnusedIVars.cpp; sourceTree = "<group>"; };
+ 35F2BE7B0DAC2963006E7668 /* HTMLRewrite.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = HTMLRewrite.h; path = clang/Rewrite/HTMLRewrite.h; sourceTree = "<group>"; };
+ 35F8D0CA0D9B7E8200D91C5E /* GRSimpleAPICheck.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GRSimpleAPICheck.h; path = clang/Analysis/PathSensitive/GRSimpleAPICheck.h; sourceTree = "<group>"; };
+ 35F8D0CB0D9B7E8200D91C5E /* GRAuditor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GRAuditor.h; path = clang/Analysis/PathSensitive/GRAuditor.h; sourceTree = "<group>"; };
+ 35F8D0D50D9B82CD00D91C5E /* BasicObjCFoundationChecks.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = BasicObjCFoundationChecks.cpp; path = lib/Analysis/BasicObjCFoundationChecks.cpp; sourceTree = "<group>"; };
+ 35F9B1550D1C6B2E00DDFDAE /* LiveVariables.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = LiveVariables.h; path = clang/Analysis/Analyses/LiveVariables.h; sourceTree = "<group>"; };
+ 35F9B1560D1C6B2E00DDFDAE /* UninitializedValues.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = UninitializedValues.h; path = clang/Analysis/Analyses/UninitializedValues.h; sourceTree = "<group>"; };
+ 35FE6BCE0DF6EE1F00739712 /* DeclBase.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = DeclBase.cpp; path = lib/AST/DeclBase.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 72D16C1E0D9975C400E6DA4A /* HTMLRewrite.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = HTMLRewrite.cpp; path = lib/Rewrite/HTMLRewrite.cpp; sourceTree = "<group>"; };
+ 84AF36A00CB17A3B00C820A5 /* DeclObjC.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = DeclObjC.h; path = clang/AST/DeclObjC.h; sourceTree = "<group>"; tabWidth = 2; };
+ 84D9A8870C1A57E100AC7ABC /* AttributeList.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = AttributeList.cpp; path = lib/Parse/AttributeList.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ 84D9A88B0C1A581300AC7ABC /* AttributeList.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = AttributeList.h; path = clang/Parse/AttributeList.h; sourceTree = "<group>"; tabWidth = 2; };
+ 8DD76F6C0486A84900D96B5E /* clang */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = clang; sourceTree = BUILT_PRODUCTS_DIR; };
+ 9063F2210F9E8BDF002F7251 /* ExternalSemaSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ExternalSemaSource.h; path = clang/Sema/ExternalSemaSource.h; sourceTree = "<group>"; };
+ 9063F2220F9E8BDF002F7251 /* SemaConsumer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SemaConsumer.h; path = clang/Sema/SemaConsumer.h; sourceTree = "<group>"; };
+ 9063F2280F9E911F002F7251 /* OnDiskHashTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OnDiskHashTable.h; sourceTree = "<group>"; };
+ 9063F2290F9E911F002F7251 /* SourceManagerInternals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SourceManagerInternals.h; sourceTree = "<group>"; };
+ 9063F22A0F9E911F002F7251 /* TemplateKinds.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TemplateKinds.h; sourceTree = "<group>"; };
+ 906BF4AE0F83BA16001071FA /* ConvertUTF.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ConvertUTF.h; sourceTree = "<group>"; };
+ 906BF4AF0F83BA2E001071FA /* ConvertUTF.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = ConvertUTF.c; sourceTree = "<group>"; };
+ 90FB99DE0F98FB1D008F9415 /* DeclContextInternals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeclContextInternals.h; path = clang/AST/DeclContextInternals.h; sourceTree = "<group>"; };
+ 90FB99DF0F98FB1D008F9415 /* DeclVisitor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DeclVisitor.h; path = clang/AST/DeclVisitor.h; sourceTree = "<group>"; };
+ 90FB99E00F98FB1D008F9415 /* ExternalASTSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ExternalASTSource.h; path = clang/AST/ExternalASTSource.h; sourceTree = "<group>"; };
+ DE01DA480B12ADA300AC22CE /* PPCallbacks.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = PPCallbacks.h; sourceTree = "<group>"; };
+ DE06756B0C051CFE00EBBFD8 /* ParseExprCXX.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = ParseExprCXX.cpp; path = lib/Parse/ParseExprCXX.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE06B73D0A8307640050E87E /* LangOptions.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.c.h; path = LangOptions.h; sourceTree = "<group>"; tabWidth = 2; };
+ DE06BECA0A854E4B0050E87E /* Scope.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = Scope.h; path = clang/Parse/Scope.h; sourceTree = "<group>"; tabWidth = 2; };
+ DE06D42F0A8BB52D0050E87E /* Parser.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = Parser.cpp; path = lib/Parse/Parser.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE06E8130A8FF9330050E87E /* Action.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = Action.h; path = clang/Parse/Action.h; sourceTree = "<group>"; tabWidth = 2; usesTabs = 0; };
+ DE0FCA620A95859D00248FD5 /* Expr.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = Expr.h; path = clang/AST/Expr.h; sourceTree = "<group>"; tabWidth = 2; };
+ DE0FCB330A9C21F100248FD5 /* Expr.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = Expr.cpp; path = lib/AST/Expr.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE1263C20EF2341900F56D2B /* Ownership.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = Ownership.h; path = clang/Parse/Ownership.h; sourceTree = "<group>"; tabWidth = 2; };
+ DE1732FF0B068B700080B521 /* ASTContext.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = ASTContext.cpp; path = lib/AST/ASTContext.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE17336D0B068DC20080B521 /* DeclSpec.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = DeclSpec.cpp; path = lib/Parse/DeclSpec.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE17336F0B068DC60080B521 /* DeclSpec.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = DeclSpec.h; path = clang/Parse/DeclSpec.h; sourceTree = "<group>"; tabWidth = 2; };
+ DE1F22020A7D852A00FBF588 /* Parser.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = Parser.h; path = clang/Parse/Parser.h; sourceTree = "<group>"; tabWidth = 2; };
+ DE224FF70C7AA98800D370A5 /* CGExprComplex.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGExprComplex.cpp; path = lib/CodeGen/CGExprComplex.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE22526F0C7E82D000D370A5 /* CGExprScalar.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGExprScalar.cpp; path = lib/CodeGen/CGExprScalar.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE2255FB0C8004E600D370A5 /* ParseDeclCXX.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = ParseDeclCXX.cpp; path = lib/Parse/ParseDeclCXX.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE22BCF10E14197E0094DC60 /* SemaDeclAttr.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = SemaDeclAttr.cpp; path = lib/Sema/SemaDeclAttr.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE344AB70AE5DF6D00DBC861 /* HeaderSearch.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = HeaderSearch.h; sourceTree = "<group>"; };
+ DE344B530AE5E46C00DBC861 /* HeaderSearch.cpp */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.cpp.cpp; path = HeaderSearch.cpp; sourceTree = "<group>"; };
+ DE3450D60AEB543100DBC861 /* DirectoryLookup.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = DirectoryLookup.h; sourceTree = "<group>"; };
+ DE3452400AEF1A2D00DBC861 /* Stmt.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = Stmt.cpp; path = lib/AST/Stmt.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE3452800AEF1B1800DBC861 /* Stmt.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = Stmt.h; path = clang/AST/Stmt.h; sourceTree = "<group>"; tabWidth = 2; };
+ DE345C190AFC658B00DBC861 /* StmtVisitor.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = StmtVisitor.h; path = clang/AST/StmtVisitor.h; sourceTree = "<group>"; tabWidth = 2; };
+ DE345F210AFD347900DBC861 /* StmtNodes.def */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = text; name = StmtNodes.def; path = clang/AST/StmtNodes.def; sourceTree = "<group>"; tabWidth = 2; };
+ DE345FFF0AFDCC1900DBC861 /* ParseObjc.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = ParseObjc.cpp; path = lib/Parse/ParseObjc.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE3460040AFDCC6500DBC861 /* ParseInit.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = ParseInit.cpp; path = lib/Parse/ParseInit.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE34600A0AFDCCBF00DBC861 /* ParseStmt.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = ParseStmt.cpp; path = lib/Parse/ParseStmt.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE34600E0AFDCCCE00DBC861 /* ParseDecl.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = ParseDecl.cpp; path = lib/Parse/ParseDecl.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE3460120AFDCCDA00DBC861 /* ParseExpr.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = ParseExpr.cpp; path = lib/Parse/ParseExpr.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE3461260AFE68BE00DBC861 /* MinimalAction.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = MinimalAction.cpp; path = lib/Parse/MinimalAction.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE34621C0AFEB19B00DBC861 /* StmtPrinter.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = StmtPrinter.cpp; path = lib/AST/StmtPrinter.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE3464210B03040900DBC861 /* Type.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = Type.h; path = clang/AST/Type.h; sourceTree = "<group>"; tabWidth = 2; };
+ DE38CD4E0D794CF900A273B6 /* CGObjCRuntime.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = CGObjCRuntime.h; path = lib/CodeGen/CGObjCRuntime.h; sourceTree = "<group>"; tabWidth = 2; };
+ DE38CD4F0D794D0100A273B6 /* CGObjCGNU.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGObjCGNU.cpp; path = lib/CodeGen/CGObjCGNU.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE38CF260D8C9E6C00A273B6 /* DeclObjC.cpp */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = DeclObjC.cpp; path = lib/AST/DeclObjC.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE3986EF0CB8D4B300223765 /* IdentifierTable.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.c.h; path = IdentifierTable.h; sourceTree = "<group>"; tabWidth = 2; };
+ DE3986F30CB8D50C00223765 /* IdentifierTable.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; path = IdentifierTable.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE3B90DE0EAC5EF200D01046 /* ExtensionRAIIObject.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = ExtensionRAIIObject.h; path = lib/Parse/ExtensionRAIIObject.h; sourceTree = "<group>"; tabWidth = 2; };
+ DE3B921C0EB1A81400D01046 /* SemaInherit.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = SemaInherit.h; path = lib/Sema/SemaInherit.h; sourceTree = "<group>"; tabWidth = 2; };
+ DE3B92230EB5152000D01046 /* Designator.h */ = {isa = PBXFileReference; fileEncoding = 4; indentWidth = 2; lastKnownFileType = sourcecode.c.h; name = Designator.h; path = clang/Parse/Designator.h; sourceTree = "<group>"; tabWidth = 2; };
+ DE41211D0D7F1BBE0080F80A /* GRWorkList.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GRWorkList.h; path = clang/Analysis/PathSensitive/GRWorkList.h; sourceTree = "<group>"; };
+ DE41211E0D7F1BBE0080F80A /* SymbolManager.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SymbolManager.h; path = clang/Analysis/PathSensitive/SymbolManager.h; sourceTree = "<group>"; };
+ DE41211F0D7F1BBE0080F80A /* GRBlockCounter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GRBlockCounter.h; path = clang/Analysis/PathSensitive/GRBlockCounter.h; sourceTree = "<group>"; };
+ DE4121200D7F1BBE0080F80A /* ExplodedGraph.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = ExplodedGraph.h; path = clang/Analysis/PathSensitive/ExplodedGraph.h; sourceTree = "<group>"; };
+ DE4121210D7F1BBE0080F80A /* GRExprEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GRExprEngine.h; path = clang/Analysis/PathSensitive/GRExprEngine.h; sourceTree = "<group>"; };
+ DE4121220D7F1BBE0080F80A /* GRTransferFuncs.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GRTransferFuncs.h; path = clang/Analysis/PathSensitive/GRTransferFuncs.h; sourceTree = "<group>"; };
+ DE4121230D7F1BBE0080F80A /* GRCoreEngine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GRCoreEngine.h; path = clang/Analysis/PathSensitive/GRCoreEngine.h; sourceTree = "<group>"; };
+ DE4121270D7F1C1C0080F80A /* SymbolManager.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = SymbolManager.cpp; path = lib/Analysis/SymbolManager.cpp; sourceTree = "<group>"; };
+ DE4121280D7F1C1C0080F80A /* ExplodedGraph.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = ExplodedGraph.cpp; path = lib/Analysis/ExplodedGraph.cpp; sourceTree = "<group>"; };
+ DE4121290D7F1C1C0080F80A /* UninitializedValues.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = UninitializedValues.cpp; path = lib/Analysis/UninitializedValues.cpp; sourceTree = "<group>"; };
+ DE41212A0D7F1C1C0080F80A /* GRCoreEngine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GRCoreEngine.cpp; path = lib/Analysis/GRCoreEngine.cpp; sourceTree = "<group>"; };
+ DE41212C0D7F1C1C0080F80A /* GRSimpleVals.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = GRSimpleVals.h; path = lib/Analysis/GRSimpleVals.h; sourceTree = "<group>"; };
+ DE41212F0D7F1C1C0080F80A /* GRSimpleVals.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GRSimpleVals.cpp; path = lib/Analysis/GRSimpleVals.cpp; sourceTree = "<group>"; };
+ DE4121300D7F1C1C0080F80A /* GRBlockCounter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GRBlockCounter.cpp; path = lib/Analysis/GRBlockCounter.cpp; sourceTree = "<group>"; };
+ DE4121310D7F1C1C0080F80A /* GRExprEngine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = GRExprEngine.cpp; path = lib/Analysis/GRExprEngine.cpp; sourceTree = "<group>"; };
+ DE4264FB0C113592005A861D /* CGDecl.cpp */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.cpp.cpp; name = CGDecl.cpp; path = lib/CodeGen/CGDecl.cpp; sourceTree = "<group>"; tabWidth = 2; };
+ DE46BF270AE0A82D00CC047C /* TargetInfo.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 2; lastKnownFileType = sourcecode.c.h; path = TargetI