aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.clang-tidy1
-rw-r--r--CMakeLists.txt62
-rw-r--r--CODE_OWNERS.TXT4
-rw-r--r--bindings/python/clang/cindex.py265
-rw-r--r--bindings/python/tests/cindex/test_cursor.py58
-rw-r--r--cmake/modules/ClangConfig.cmake8
-rw-r--r--docs/AddressSanitizer.rst5
-rw-r--r--docs/ClangFormat.rst4
-rw-r--r--docs/ClangFormatStyleOptions.rst116
-rw-r--r--docs/CrossCompilation.rst1
-rw-r--r--docs/InternalsManual.rst37
-rw-r--r--docs/LanguageExtensions.rst236
-rw-r--r--docs/LibASTMatchersReference.html356
-rw-r--r--docs/MSVCCompatibility.rst16
-rw-r--r--docs/Modules.rst76
-rw-r--r--docs/RAVFrontendAction.rst15
-rw-r--r--docs/ReleaseNotes.rst225
-rw-r--r--docs/ThreadSafetyAnalysis.rst663
-rw-r--r--docs/UsersManual.rst72
-rw-r--r--docs/conf.py4
-rw-r--r--docs/tools/dump_format_style.py1
-rw-r--r--examples/PrintFunctionNames/PrintFunctionNames.cpp5
-rw-r--r--examples/clang-interpreter/CMakeLists.txt3
-rw-r--r--examples/clang-interpreter/Makefile6
-rw-r--r--examples/clang-interpreter/main.cpp40
-rw-r--r--include/clang-c/BuildSystem.h4
-rw-r--r--include/clang-c/CXCompilationDatabase.h4
-rw-r--r--include/clang-c/CXErrorCode.h4
-rw-r--r--include/clang-c/CXString.h4
-rw-r--r--include/clang-c/Documentation.h4
-rw-r--r--include/clang-c/Index.h201
-rw-r--r--include/clang-c/Platform.h4
-rw-r--r--include/clang/ARCMigrate/ARCMTActions.h12
-rw-r--r--include/clang/ARCMigrate/FileRemapper.h4
-rw-r--r--include/clang/AST/ASTContext.h111
-rw-r--r--include/clang/AST/ASTDiagnostic.h4
-rw-r--r--include/clang/AST/ASTFwd.h5
-rw-r--r--include/clang/AST/ASTLambda.h6
-rw-r--r--include/clang/AST/ASTMutationListener.h6
-rw-r--r--include/clang/AST/ASTTypeTraits.h111
-rw-r--r--include/clang/AST/ASTVector.h23
-rw-r--r--include/clang/AST/Attr.h1
-rw-r--r--include/clang/AST/CanonicalType.h6
-rw-r--r--include/clang/AST/Comment.h10
-rw-r--r--include/clang/AST/CommentBriefParser.h4
-rw-r--r--include/clang/AST/CommentCommandTraits.h10
-rw-r--r--include/clang/AST/CommentDiagnostic.h4
-rw-r--r--include/clang/AST/CommentLexer.h4
-rw-r--r--include/clang/AST/CommentParser.h4
-rw-r--r--include/clang/AST/CommentSema.h6
-rw-r--r--include/clang/AST/DataRecursiveASTVisitor.h103
-rw-r--r--include/clang/AST/Decl.h162
-rw-r--r--include/clang/AST/DeclBase.h21
-rw-r--r--include/clang/AST/DeclCXX.h109
-rw-r--r--include/clang/AST/DeclLookups.h10
-rw-r--r--include/clang/AST/DeclObjC.h9
-rw-r--r--include/clang/AST/DeclOpenMP.h10
-rw-r--r--include/clang/AST/DeclTemplate.h8
-rw-r--r--include/clang/AST/DeclarationName.h1
-rw-r--r--include/clang/AST/DependentDiagnostic.h7
-rw-r--r--include/clang/AST/EvaluatedExprVisitor.h11
-rw-r--r--include/clang/AST/Expr.h128
-rw-r--r--include/clang/AST/ExprCXX.h103
-rw-r--r--include/clang/AST/ExprObjC.h9
-rw-r--r--include/clang/AST/ExternalASTSource.h6
-rw-r--r--include/clang/AST/LambdaCapture.h12
-rw-r--r--include/clang/AST/Mangle.h5
-rw-r--r--include/clang/AST/MangleNumberingContext.h17
-rw-r--r--include/clang/AST/NSAPI.h10
-rw-r--r--include/clang/AST/NestedNameSpecifier.h34
-rw-r--r--include/clang/AST/OpenMPClause.h261
-rw-r--r--include/clang/AST/OperationKinds.h4
-rw-r--r--include/clang/AST/ParentMap.h4
-rw-r--r--include/clang/AST/PrettyPrinter.h4
-rw-r--r--include/clang/AST/RawCommentList.h4
-rw-r--r--include/clang/AST/RecordLayout.h4
-rw-r--r--include/clang/AST/RecursiveASTVisitor.h103
-rw-r--r--include/clang/AST/Stmt.h99
-rw-r--r--include/clang/AST/StmtGraphTraits.h4
-rw-r--r--include/clang/AST/StmtIterator.h4
-rw-r--r--include/clang/AST/StmtOpenMP.h800
-rw-r--r--include/clang/AST/TemplateBase.h16
-rw-r--r--include/clang/AST/Type.h160
-rw-r--r--include/clang/AST/TypeLoc.h4
-rw-r--r--include/clang/AST/TypeOrdering.h4
-rw-r--r--include/clang/AST/UnresolvedSet.h2
-rw-r--r--include/clang/ASTMatchers/ASTMatchFinder.h69
-rw-r--r--include/clang/ASTMatchers/ASTMatchers.h337
-rw-r--r--include/clang/ASTMatchers/ASTMatchersInternal.h636
-rw-r--r--include/clang/ASTMatchers/ASTMatchersMacros.h17
-rw-r--r--include/clang/ASTMatchers/Dynamic/Diagnostics.h4
-rw-r--r--include/clang/ASTMatchers/Dynamic/Parser.h130
-rw-r--r--include/clang/ASTMatchers/Dynamic/Registry.h51
-rw-r--r--include/clang/ASTMatchers/Dynamic/VariantValue.h184
-rw-r--r--include/clang/Analysis/Analyses/CFGReachabilityAnalysis.h4
-rw-r--r--include/clang/Analysis/Analyses/Consumed.h4
-rw-r--r--include/clang/Analysis/Analyses/Dominators.h4
-rw-r--r--include/clang/Analysis/Analyses/FormatString.h10
-rw-r--r--include/clang/Analysis/Analyses/LiveVariables.h4
-rw-r--r--include/clang/Analysis/Analyses/PostOrderCFGView.h12
-rw-r--r--include/clang/Analysis/Analyses/PseudoConstantAnalysis.h4
-rw-r--r--include/clang/Analysis/Analyses/ReachableCode.h4
-rw-r--r--include/clang/Analysis/Analyses/ThreadSafety.h33
-rw-r--r--include/clang/Analysis/Analyses/ThreadSafetyCommon.h140
-rw-r--r--include/clang/Analysis/Analyses/ThreadSafetyLogical.h12
-rw-r--r--include/clang/Analysis/Analyses/ThreadSafetyOps.def3
-rw-r--r--include/clang/Analysis/Analyses/ThreadSafetyTIL.h1107
-rw-r--r--include/clang/Analysis/Analyses/ThreadSafetyTraverse.h450
-rw-r--r--include/clang/Analysis/Analyses/ThreadSafetyUtil.h68
-rw-r--r--include/clang/Analysis/Analyses/UninitializedValues.h4
-rw-r--r--include/clang/Analysis/AnalysisContext.h16
-rw-r--r--include/clang/Analysis/AnalysisDiagnostic.h4
-rw-r--r--include/clang/Analysis/CFG.h11
-rw-r--r--include/clang/Analysis/CFGStmtMap.h4
-rw-r--r--include/clang/Analysis/CallGraph.h4
-rw-r--r--include/clang/Analysis/CodeInjector.h46
-rw-r--r--include/clang/Analysis/DomainSpecific/CocoaConventions.h4
-rw-r--r--include/clang/Analysis/DomainSpecific/ObjCNoReturn.h4
-rw-r--r--include/clang/Analysis/ProgramPoint.h4
-rw-r--r--include/clang/Analysis/Support/BumpVector.h6
-rw-r--r--include/clang/Basic/ABI.h11
-rw-r--r--include/clang/Basic/AddressSpaces.h1
-rw-r--r--include/clang/Basic/AllDiagnostics.h4
-rw-r--r--include/clang/Basic/Attr.td246
-rw-r--r--include/clang/Basic/AttrDocs.td338
-rw-r--r--include/clang/Basic/AttrKinds.h4
-rw-r--r--include/clang/Basic/Attributes.h14
-rw-r--r--include/clang/Basic/Builtins.def19
-rw-r--r--include/clang/Basic/Builtins.h4
-rw-r--r--include/clang/Basic/BuiltinsAArch64.def3
-rw-r--r--include/clang/Basic/BuiltinsARM.def6
-rw-r--r--include/clang/Basic/BuiltinsLe64.def19
-rw-r--r--include/clang/Basic/BuiltinsNVPTX.def30
-rw-r--r--include/clang/Basic/BuiltinsPPC.def19
-rw-r--r--include/clang/Basic/BuiltinsR600.def8
-rw-r--r--include/clang/Basic/BuiltinsX86.def207
-rw-r--r--include/clang/Basic/CharInfo.h4
-rw-r--r--include/clang/Basic/CommentOptions.h4
-rw-r--r--include/clang/Basic/Diagnostic.h16
-rw-r--r--include/clang/Basic/DiagnosticASTKinds.td7
-rw-r--r--include/clang/Basic/DiagnosticCommonKinds.td14
-rw-r--r--include/clang/Basic/DiagnosticDriverKinds.td18
-rw-r--r--include/clang/Basic/DiagnosticFrontendKinds.td34
-rw-r--r--include/clang/Basic/DiagnosticGroups.td75
-rw-r--r--include/clang/Basic/DiagnosticIDs.h6
-rw-r--r--include/clang/Basic/DiagnosticLexKinds.td25
-rw-r--r--include/clang/Basic/DiagnosticOptions.def3
-rw-r--r--include/clang/Basic/DiagnosticOptions.h3
-rw-r--r--include/clang/Basic/DiagnosticParseKinds.td115
-rw-r--r--include/clang/Basic/DiagnosticSemaKinds.td444
-rw-r--r--include/clang/Basic/DiagnosticSerializationKinds.td10
-rw-r--r--include/clang/Basic/ExceptionSpecificationType.h3
-rw-r--r--include/clang/Basic/ExpressionTraits.h4
-rw-r--r--include/clang/Basic/FileManager.h25
-rw-r--r--include/clang/Basic/FileSystemStatCache.h12
-rw-r--r--include/clang/Basic/IdentifierTable.h65
-rw-r--r--include/clang/Basic/LLVM.h4
-rw-r--r--include/clang/Basic/Lambda.h3
-rw-r--r--include/clang/Basic/LangOptions.def68
-rw-r--r--include/clang/Basic/LangOptions.h26
-rw-r--r--include/clang/Basic/Module.h52
-rw-r--r--include/clang/Basic/ObjCRuntime.h4
-rw-r--r--include/clang/Basic/OpenMPKinds.def79
-rw-r--r--include/clang/Basic/OpenMPKinds.h6
-rw-r--r--include/clang/Basic/OperatorKinds.h4
-rw-r--r--include/clang/Basic/OperatorPrecedence.h4
-rw-r--r--include/clang/Basic/PartialDiagnostic.h4
-rw-r--r--include/clang/Basic/PlistSupport.h4
-rw-r--r--include/clang/Basic/PrettyStackTrace.h4
-rw-r--r--include/clang/Basic/SanitizerBlacklist.h45
-rw-r--r--include/clang/Basic/Sanitizers.def19
-rw-r--r--include/clang/Basic/Sanitizers.h47
-rw-r--r--include/clang/Basic/SourceLocation.h5
-rw-r--r--include/clang/Basic/SourceManager.h31
-rw-r--r--include/clang/Basic/SourceManagerInternals.h4
-rw-r--r--include/clang/Basic/Specifiers.h11
-rw-r--r--include/clang/Basic/StmtNodes.td15
-rw-r--r--include/clang/Basic/TargetBuiltins.h15
-rw-r--r--include/clang/Basic/TargetCXXABI.h4
-rw-r--r--include/clang/Basic/TargetInfo.h52
-rw-r--r--include/clang/Basic/TargetOptions.h4
-rw-r--r--include/clang/Basic/TemplateKinds.h4
-rw-r--r--include/clang/Basic/TokenKinds.def14
-rw-r--r--include/clang/Basic/TokenKinds.h10
-rw-r--r--include/clang/Basic/TypeTraits.h4
-rw-r--r--include/clang/Basic/VersionTuple.h29
-rw-r--r--include/clang/Basic/VirtualFileSystem.h36
-rw-r--r--include/clang/Basic/arm_neon.td49
-rw-r--r--include/clang/CodeGen/BackendUtil.h4
-rw-r--r--include/clang/CodeGen/CGFunctionInfo.h35
-rw-r--r--include/clang/CodeGen/CodeGenABITypes.h8
-rw-r--r--include/clang/CodeGen/CodeGenAction.h14
-rw-r--r--include/clang/CodeGen/ModuleBuilder.h4
-rw-r--r--include/clang/Config/config.h.cmake6
-rw-r--r--include/clang/Config/config.h.in9
-rw-r--r--include/clang/Driver/Action.h46
-rw-r--r--include/clang/Driver/CC1Options.td29
-rw-r--r--include/clang/Driver/CLCompatOptions.td30
-rw-r--r--include/clang/Driver/Compilation.h6
-rw-r--r--include/clang/Driver/Driver.h32
-rw-r--r--include/clang/Driver/DriverDiagnostic.h4
-rw-r--r--include/clang/Driver/Job.h70
-rw-r--r--include/clang/Driver/Multilib.h16
-rw-r--r--include/clang/Driver/Options.h4
-rw-r--r--include/clang/Driver/Options.td179
-rw-r--r--include/clang/Driver/Phases.h5
-rw-r--r--include/clang/Driver/SanitizerArgs.h126
-rw-r--r--include/clang/Driver/Tool.h62
-rw-r--r--include/clang/Driver/ToolChain.h14
-rw-r--r--include/clang/Driver/Types.h4
-rw-r--r--include/clang/Driver/Util.h4
-rw-r--r--include/clang/Format/Format.h99
-rw-r--r--include/clang/Frontend/ASTConsumers.h18
-rw-r--r--include/clang/Frontend/ASTUnit.h57
-rw-r--r--include/clang/Frontend/ChainedDiagnosticConsumer.h17
-rw-r--r--include/clang/Frontend/CodeGenOptions.def14
-rw-r--r--include/clang/Frontend/CodeGenOptions.h25
-rw-r--r--include/clang/Frontend/CompilerInstance.h38
-rw-r--r--include/clang/Frontend/DiagnosticRenderer.h4
-rw-r--r--include/clang/Frontend/FrontendAction.h41
-rw-r--r--include/clang/Frontend/FrontendActions.h51
-rw-r--r--include/clang/Frontend/FrontendDiagnostic.h4
-rw-r--r--include/clang/Frontend/FrontendOptions.h16
-rw-r--r--include/clang/Frontend/FrontendPluginRegistry.h4
-rw-r--r--include/clang/Frontend/LangStandard.h6
-rw-r--r--include/clang/Frontend/LangStandards.def15
-rw-r--r--include/clang/Frontend/LogDiagnosticPrinter.h15
-rw-r--r--include/clang/Frontend/MigratorOptions.h4
-rw-r--r--include/clang/Frontend/MultiplexConsumer.h8
-rw-r--r--include/clang/Frontend/SerializedDiagnosticPrinter.h45
-rw-r--r--include/clang/Frontend/SerializedDiagnosticReader.h131
-rw-r--r--include/clang/Frontend/SerializedDiagnostics.h59
-rw-r--r--include/clang/Frontend/TextDiagnostic.h4
-rw-r--r--include/clang/Frontend/TextDiagnosticBuffer.h4
-rw-r--r--include/clang/Frontend/TextDiagnosticPrinter.h4
-rw-r--r--include/clang/Frontend/Utils.h5
-rw-r--r--include/clang/Frontend/VerifyDiagnosticConsumer.h27
-rw-r--r--include/clang/Lex/ExternalPreprocessorSource.h6
-rw-r--r--include/clang/Lex/HeaderMap.h10
-rw-r--r--include/clang/Lex/HeaderSearch.h29
-rw-r--r--include/clang/Lex/HeaderSearchOptions.h13
-rw-r--r--include/clang/Lex/LexDiagnostic.h4
-rw-r--r--include/clang/Lex/Lexer.h10
-rw-r--r--include/clang/Lex/LiteralSupport.h4
-rw-r--r--include/clang/Lex/MacroArgs.h4
-rw-r--r--include/clang/Lex/MacroInfo.h119
-rw-r--r--include/clang/Lex/ModuleLoader.h4
-rw-r--r--include/clang/Lex/ModuleMap.h116
-rw-r--r--include/clang/Lex/MultipleIncludeOpt.h4
-rw-r--r--include/clang/Lex/PPCallbacks.h11
-rw-r--r--include/clang/Lex/PTHLexer.h4
-rw-r--r--include/clang/Lex/PTHManager.h32
-rw-r--r--include/clang/Lex/Pragma.h4
-rw-r--r--include/clang/Lex/Preprocessor.h103
-rw-r--r--include/clang/Lex/PreprocessorLexer.h4
-rw-r--r--include/clang/Lex/ScratchBuffer.h4
-rw-r--r--include/clang/Lex/Token.h29
-rw-r--r--include/clang/Lex/TokenConcatenation.h4
-rw-r--r--include/clang/Lex/TokenLexer.h4
-rw-r--r--include/clang/Parse/ParseDiagnostic.h4
-rw-r--r--include/clang/Parse/Parser.h103
-rw-r--r--include/clang/Rewrite/Core/DeltaTree.h4
-rw-r--r--include/clang/Rewrite/Core/HTMLRewrite.h4
-rw-r--r--include/clang/Rewrite/Core/RewriteRope.h52
-rw-r--r--include/clang/Rewrite/Core/Rewriter.h14
-rw-r--r--include/clang/Rewrite/Core/TokenRewriter.h4
-rw-r--r--include/clang/Rewrite/Frontend/ASTConsumers.h31
-rw-r--r--include/clang/Rewrite/Frontend/FixItRewriter.h8
-rw-r--r--include/clang/Rewrite/Frontend/FrontendActions.h16
-rw-r--r--include/clang/Rewrite/Frontend/Rewriters.h4
-rw-r--r--include/clang/Sema/AnalysisBasedWarnings.h4
-rw-r--r--include/clang/Sema/AttributeList.h15
-rw-r--r--include/clang/Sema/DeclSpec.h58
-rw-r--r--include/clang/Sema/DelayedDiagnostic.h4
-rw-r--r--include/clang/Sema/ExternalSemaSource.h17
-rw-r--r--include/clang/Sema/IdentifierResolver.h4
-rw-r--r--include/clang/Sema/Lookup.h27
-rw-r--r--include/clang/Sema/LoopHint.h13
-rw-r--r--include/clang/Sema/MultiplexExternalSemaSource.h15
-rw-r--r--include/clang/Sema/ObjCMethodList.h31
-rw-r--r--include/clang/Sema/Overload.h36
-rw-r--r--include/clang/Sema/PrettyDeclStackTrace.h4
-rw-r--r--include/clang/Sema/Scope.h20
-rw-r--r--include/clang/Sema/ScopeInfo.h41
-rw-r--r--include/clang/Sema/Sema.h485
-rw-r--r--include/clang/Sema/SemaDiagnostic.h4
-rw-r--r--include/clang/Sema/SemaFixItUtils.h6
-rw-r--r--include/clang/Sema/SemaInternal.h212
-rw-r--r--include/clang/Sema/SemaLambda.h6
-rw-r--r--include/clang/Sema/TemplateDeduction.h4
-rw-r--r--include/clang/Sema/TypoCorrection.h42
-rw-r--r--include/clang/Serialization/ASTBitCodes.h41
-rw-r--r--include/clang/Serialization/ASTDeserializationListener.h4
-rw-r--r--include/clang/Serialization/ASTReader.h133
-rw-r--r--include/clang/Serialization/ASTWriter.h67
-rw-r--r--include/clang/Serialization/ContinuousRangeMap.h12
-rw-r--r--include/clang/Serialization/GlobalModuleIndex.h6
-rw-r--r--include/clang/Serialization/Module.h18
-rw-r--r--include/clang/Serialization/ModuleManager.h23
-rw-r--r--include/clang/Serialization/SerializationDiagnostic.h4
-rw-r--r--include/clang/StaticAnalyzer/Checkers/LocalCheckers.h4
-rw-r--r--include/clang/StaticAnalyzer/Checkers/ObjCRetainCount.h14
-rw-r--r--include/clang/StaticAnalyzer/Core/AnalyzerOptions.h12
-rw-r--r--include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h21
-rw-r--r--include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitor.h30
-rw-r--r--include/clang/StaticAnalyzer/Core/BugReporter/BugType.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/BugReporter/CommonBugCategories.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/BugReporter/PathDiagnostic.h12
-rw-r--r--include/clang/StaticAnalyzer/Core/Checker.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/CheckerManager.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h9
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h9
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h23
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/DynamicTypeInfo.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h15
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h19
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h11
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/Store.h10
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/SubEngine.h14
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/TaintManager.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/TaintTag.h4
-rw-r--r--include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h4
-rw-r--r--include/clang/StaticAnalyzer/Frontend/AnalysisConsumer.h12
-rw-r--r--include/clang/StaticAnalyzer/Frontend/CheckerRegistration.h12
-rw-r--r--include/clang/StaticAnalyzer/Frontend/FrontendActions.h33
-rw-r--r--include/clang/StaticAnalyzer/Frontend/ModelConsumer.h44
-rw-r--r--include/clang/Tooling/ArgumentsAdjusters.h68
-rw-r--r--include/clang/Tooling/CommonOptionsParser.h6
-rw-r--r--include/clang/Tooling/CompilationDatabase.h22
-rw-r--r--include/clang/Tooling/CompilationDatabasePluginRegistry.h6
-rw-r--r--include/clang/Tooling/Core/Replacement.h229
-rw-r--r--include/clang/Tooling/FileMatchTrie.h6
-rw-r--r--include/clang/Tooling/JSONCompilationDatabase.h19
-rw-r--r--include/clang/Tooling/Refactoring.h176
-rw-r--r--include/clang/Tooling/RefactoringCallbacks.h6
-rw-r--r--include/clang/Tooling/ReplacementsYaml.h6
-rw-r--r--include/clang/Tooling/Tooling.h42
-rw-r--r--include/clang/module.modulemap25
-rw-r--r--lib/ARCMigrate/ARCMT.cpp15
-rw-r--r--lib/ARCMigrate/FileRemapper.cpp34
-rw-r--r--lib/ARCMigrate/Internals.h2
-rw-r--r--lib/ARCMigrate/ObjCMT.cpp286
-rw-r--r--lib/ARCMigrate/PlistReporter.cpp6
-rw-r--r--lib/ARCMigrate/TransformActions.cpp3
-rw-r--r--lib/AST/APValue.cpp4
-rw-r--r--lib/AST/ASTContext.cpp419
-rw-r--r--lib/AST/ASTDiagnostic.cpp431
-rw-r--r--lib/AST/ASTDumper.cpp1144
-rw-r--r--lib/AST/ASTImporter.cpp124
-rw-r--r--lib/AST/ASTTypeTraits.cpp47
-rw-r--r--lib/AST/CMakeLists.txt1
-rw-r--r--lib/AST/CXXABI.h4
-rw-r--r--lib/AST/Comment.cpp17
-rw-r--r--lib/AST/CommentCommandTraits.cpp4
-rw-r--r--lib/AST/CommentLexer.cpp4
-rw-r--r--lib/AST/Decl.cpp159
-rw-r--r--lib/AST/DeclBase.cpp28
-rw-r--r--lib/AST/DeclCXX.cpp94
-rw-r--r--lib/AST/DeclObjC.cpp66
-rw-r--r--lib/AST/DeclPrinter.cpp57
-rw-r--r--lib/AST/Expr.cpp205
-rw-r--r--lib/AST/ExprCXX.cpp16
-rw-r--r--lib/AST/ExprClassification.cpp11
-rw-r--r--lib/AST/ExprConstant.cpp579
-rw-r--r--lib/AST/ItaniumCXXABI.cpp54
-rw-r--r--lib/AST/ItaniumMangle.cpp187
-rw-r--r--lib/AST/Mangle.cpp92
-rw-r--r--lib/AST/MangleNumberingContext.cpp45
-rw-r--r--lib/AST/MicrosoftCXXABI.cpp21
-rw-r--r--lib/AST/MicrosoftMangle.cpp174
-rw-r--r--lib/AST/NSAPI.cpp31
-rw-r--r--lib/AST/NestedNameSpecifier.cpp71
-rw-r--r--lib/AST/RecordLayoutBuilder.cpp120
-rw-r--r--lib/AST/Stmt.cpp454
-rw-r--r--lib/AST/StmtPrinter.cpp91
-rw-r--r--lib/AST/StmtProfile.cpp76
-rw-r--r--lib/AST/TemplateBase.cpp28
-rw-r--r--lib/AST/Type.cpp143
-rw-r--r--lib/AST/TypeLoc.cpp8
-rw-r--r--lib/AST/TypePrinter.cpp19
-rw-r--r--lib/AST/VTTBuilder.cpp4
-rw-r--r--lib/AST/VTableBuilder.cpp334
-rw-r--r--lib/ASTMatchers/ASTMatchFinder.cpp289
-rw-r--r--lib/ASTMatchers/ASTMatchersInternal.cpp268
-rw-r--r--lib/ASTMatchers/Dynamic/Marshallers.h105
-rw-r--r--lib/ASTMatchers/Dynamic/Parser.cpp105
-rw-r--r--lib/ASTMatchers/Dynamic/Registry.cpp171
-rw-r--r--lib/ASTMatchers/Dynamic/VariantValue.cpp164
-rw-r--r--lib/Analysis/AnalysisDeclContext.cpp29
-rw-r--r--lib/Analysis/BodyFarm.cpp12
-rw-r--r--lib/Analysis/BodyFarm.h8
-rw-r--r--lib/Analysis/CFG.cpp354
-rw-r--r--lib/Analysis/CMakeLists.txt1
-rw-r--r--lib/Analysis/CallGraph.cpp13
-rw-r--r--lib/Analysis/CodeInjector.cpp15
-rw-r--r--lib/Analysis/FormatString.cpp38
-rw-r--r--lib/Analysis/FormatStringParsing.h4
-rw-r--r--lib/Analysis/LiveVariables.cpp1
-rw-r--r--lib/Analysis/PrintfFormatString.cpp78
-rw-r--r--lib/Analysis/ReachableCode.cpp4
-rw-r--r--lib/Analysis/ScanfFormatString.cpp11
-rw-r--r--lib/Analysis/ThreadSafety.cpp1436
-rw-r--r--lib/Analysis/ThreadSafetyCommon.cpp335
-rw-r--r--lib/Analysis/ThreadSafetyTIL.cpp280
-rw-r--r--lib/Analysis/UninitializedValues.cpp32
-rw-r--r--lib/Basic/Attributes.cpp4
-rw-r--r--lib/Basic/CMakeLists.txt80
-rw-r--r--lib/Basic/Diagnostic.cpp42
-rw-r--r--lib/Basic/DiagnosticIDs.cpp31
-rw-r--r--lib/Basic/FileManager.cpp192
-rw-r--r--lib/Basic/FileSystemStatCache.cpp9
-rw-r--r--lib/Basic/IdentifierTable.cpp119
-rw-r--r--lib/Basic/LangOptions.cpp8
-rw-r--r--lib/Basic/Module.cpp58
-rw-r--r--lib/Basic/OpenMPKinds.cpp82
-rw-r--r--lib/Basic/SanitizerBlacklist.cpp46
-rw-r--r--lib/Basic/Sanitizers.cpp35
-rw-r--r--lib/Basic/SourceLocation.cpp8
-rw-r--r--lib/Basic/SourceManager.cpp67
-rw-r--r--lib/Basic/TargetInfo.cpp37
-rw-r--r--lib/Basic/Targets.cpp1116
-rw-r--r--lib/Basic/Version.cpp2
-rw-r--r--lib/Basic/VersionTuple.cpp4
-rw-r--r--lib/Basic/VirtualFileSystem.cpp100
-rw-r--r--lib/CodeGen/ABIInfo.h23
-rw-r--r--lib/CodeGen/BackendUtil.cpp88
-rw-r--r--lib/CodeGen/CGAtomic.cpp328
-rw-r--r--lib/CodeGen/CGBlocks.cpp48
-rw-r--r--lib/CodeGen/CGBlocks.h4
-rw-r--r--lib/CodeGen/CGBuilder.h6
-rw-r--r--lib/CodeGen/CGBuiltin.cpp530
-rw-r--r--lib/CodeGen/CGCUDARuntime.cpp3
-rw-r--r--lib/CodeGen/CGCUDARuntime.h4
-rw-r--r--lib/CodeGen/CGCXX.cpp157
-rw-r--r--lib/CodeGen/CGCXXABI.cpp23
-rw-r--r--lib/CodeGen/CGCXXABI.h102
-rw-r--r--lib/CodeGen/CGCall.cpp1512
-rw-r--r--lib/CodeGen/CGCall.h4
-rw-r--r--lib/CodeGen/CGClass.cpp263
-rw-r--r--lib/CodeGen/CGCleanup.cpp12
-rw-r--r--lib/CodeGen/CGCleanup.h12
-rw-r--r--lib/CodeGen/CGDebugInfo.cpp1569
-rw-r--r--lib/CodeGen/CGDebugInfo.h136
-rw-r--r--lib/CodeGen/CGDecl.cpp141
-rw-r--r--lib/CodeGen/CGDeclCXX.cpp154
-rw-r--r--lib/CodeGen/CGException.cpp106
-rw-r--r--lib/CodeGen/CGExpr.cpp547
-rw-r--r--lib/CodeGen/CGExprCXX.cpp301
-rw-r--r--lib/CodeGen/CGExprComplex.cpp271
-rw-r--r--lib/CodeGen/CGExprConstant.cpp202
-rw-r--r--lib/CodeGen/CGExprScalar.cpp240
-rw-r--r--lib/CodeGen/CGLoopInfo.cpp27
-rw-r--r--lib/CodeGen/CGLoopInfo.h6
-rw-r--r--lib/CodeGen/CGObjC.cpp43
-rw-r--r--lib/CodeGen/CGObjCGNU.cpp31
-rw-r--r--lib/CodeGen/CGObjCMac.cpp424
-rw-r--r--lib/CodeGen/CGObjCRuntime.h4
-rw-r--r--lib/CodeGen/CGOpenCLRuntime.h4
-rw-r--r--lib/CodeGen/CGOpenMPRuntime.cpp794
-rw-r--r--lib/CodeGen/CGOpenMPRuntime.h315
-rw-r--r--lib/CodeGen/CGRecordLayout.h4
-rw-r--r--lib/CodeGen/CGRecordLayoutBuilder.cpp59
-rw-r--r--lib/CodeGen/CGStmt.cpp196
-rw-r--r--lib/CodeGen/CGStmtOpenMP.cpp639
-rw-r--r--lib/CodeGen/CGVTables.cpp126
-rw-r--r--lib/CodeGen/CGVTables.h4
-rw-r--r--lib/CodeGen/CGValue.h4
-rw-r--r--lib/CodeGen/CMakeLists.txt15
-rw-r--r--lib/CodeGen/CodeGenABITypes.cpp9
-rw-r--r--lib/CodeGen/CodeGenAction.cpp89
-rw-r--r--lib/CodeGen/CodeGenFunction.cpp232
-rw-r--r--lib/CodeGen/CodeGenFunction.h396
-rw-r--r--lib/CodeGen/CodeGenModule.cpp668
-rw-r--r--lib/CodeGen/CodeGenModule.h194
-rw-r--r--lib/CodeGen/CodeGenPGO.cpp364
-rw-r--r--lib/CodeGen/CodeGenPGO.h48
-rw-r--r--lib/CodeGen/CodeGenTBAA.h4
-rw-r--r--lib/CodeGen/CodeGenTypes.cpp30
-rw-r--r--lib/CodeGen/CodeGenTypes.h140
-rw-r--r--lib/CodeGen/CoverageMappingGen.cpp1174
-rw-r--r--lib/CodeGen/CoverageMappingGen.h114
-rw-r--r--lib/CodeGen/EHScopeStack.h6
-rw-r--r--lib/CodeGen/ItaniumCXXABI.cpp400
-rw-r--r--lib/CodeGen/MicrosoftCXXABI.cpp457
-rw-r--r--lib/CodeGen/ModuleBuilder.cpp66
-rw-r--r--lib/CodeGen/SanitizerBlacklist.cpp52
-rw-r--r--lib/CodeGen/SanitizerBlacklist.h46
-rw-r--r--lib/CodeGen/SanitizerMetadata.cpp92
-rw-r--r--lib/CodeGen/SanitizerMetadata.h53
-rw-r--r--lib/CodeGen/TargetInfo.cpp1110
-rw-r--r--lib/CodeGen/TargetInfo.h22
-rw-r--r--lib/Driver/Action.cpp74
-rw-r--r--lib/Driver/CMakeLists.txt3
-rw-r--r--lib/Driver/Compilation.cpp19
-rw-r--r--lib/Driver/CrossWindowsToolChain.cpp117
-rw-r--r--lib/Driver/Driver.cpp506
-rw-r--r--lib/Driver/InputInfo.h4
-rw-r--r--lib/Driver/Job.cpp187
-rw-r--r--lib/Driver/MSVCToolChain.cpp496
-rw-r--r--lib/Driver/Multilib.cpp2
-rw-r--r--lib/Driver/Phases.cpp1
-rw-r--r--lib/Driver/SanitizerArgs.cpp524
-rw-r--r--lib/Driver/Tool.cpp12
-rw-r--r--lib/Driver/ToolChain.cpp36
-rw-r--r--lib/Driver/ToolChains.cpp594
-rw-r--r--lib/Driver/ToolChains.h93
-rw-r--r--lib/Driver/Tools.cpp1590
-rw-r--r--lib/Driver/Tools.h180
-rw-r--r--lib/Driver/Types.cpp2
-rw-r--r--lib/Driver/WindowsToolChain.cpp338
-rw-r--r--lib/Edit/EditedSource.cpp6
-rw-r--r--lib/Edit/RewriteObjCFoundationAPI.cpp3
-rw-r--r--lib/Format/BreakableToken.cpp3
-rw-r--r--lib/Format/BreakableToken.h11
-rw-r--r--lib/Format/CMakeLists.txt3
-rw-r--r--lib/Format/ContinuationIndenter.cpp465
-rw-r--r--lib/Format/ContinuationIndenter.h34
-rw-r--r--lib/Format/Encoding.h6
-rw-r--r--lib/Format/Format.cpp975
-rw-r--r--lib/Format/FormatToken.cpp24
-rw-r--r--lib/Format/FormatToken.h150
-rw-r--r--lib/Format/TokenAnnotator.cpp1041
-rw-r--r--lib/Format/TokenAnnotator.h22
-rw-r--r--lib/Format/UnwrappedLineFormatter.cpp706
-rw-r--r--lib/Format/UnwrappedLineFormatter.h168
-rw-r--r--lib/Format/UnwrappedLineParser.cpp244
-rw-r--r--lib/Format/UnwrappedLineParser.h14
-rw-r--r--lib/Format/WhitespaceManager.cpp12
-rw-r--r--lib/Format/WhitespaceManager.h6
-rw-r--r--lib/Frontend/ASTConsumers.cpp40
-rw-r--r--lib/Frontend/ASTMerge.cpp10
-rw-r--r--lib/Frontend/ASTUnit.cpp355
-rw-r--r--lib/Frontend/CMakeLists.txt3
-rw-r--r--lib/Frontend/CacheTokens.cpp16
-rw-r--r--lib/Frontend/ChainedIncludesSource.cpp33
-rw-r--r--lib/Frontend/CodeGenOptions.cpp24
-rw-r--r--lib/Frontend/CompilerInstance.cpp268
-rw-r--r--lib/Frontend/CompilerInvocation.cpp207
-rw-r--r--lib/Frontend/CreateInvocationFromCommandLine.cpp6
-rw-r--r--lib/Frontend/DependencyFile.cpp36
-rw-r--r--lib/Frontend/DependencyGraph.cpp13
-rw-r--r--lib/Frontend/DiagnosticRenderer.cpp4
-rw-r--r--lib/Frontend/FrontendAction.cpp80
-rw-r--r--lib/Frontend/FrontendActions.cpp168
-rw-r--r--lib/Frontend/HeaderIncludeGen.cpp20
-rw-r--r--lib/Frontend/InitHeaderSearch.cpp16
-rw-r--r--lib/Frontend/InitPreprocessor.cpp166
-rw-r--r--lib/Frontend/LogDiagnosticPrinter.cpp26
-rw-r--r--lib/Frontend/ModuleDependencyCollector.cpp43
-rw-r--r--lib/Frontend/MultiplexConsumer.cpp117
-rw-r--r--lib/Frontend/PrintPreprocessedOutput.cpp5
-rw-r--r--lib/Frontend/Rewrite/FixItRewriter.cpp26
-rw-r--r--lib/Frontend/Rewrite/FrontendActions.cpp14
-rw-r--r--lib/Frontend/Rewrite/HTMLPrint.cpp11
-rw-r--r--lib/Frontend/Rewrite/InclusionRewriter.cpp153
-rw-r--r--lib/Frontend/Rewrite/RewriteModernObjC.cpp102
-rw-r--r--lib/Frontend/Rewrite/RewriteObjC.cpp102
-rw-r--r--lib/Frontend/SerializedDiagnosticPrinter.cpp257
-rw-r--r--lib/Frontend/SerializedDiagnosticReader.cpp295
-rw-r--r--lib/Frontend/TextDiagnostic.cpp24
-rw-r--r--lib/Frontend/VerifyDiagnosticConsumer.cpp69
-rw-r--r--lib/FrontendTool/ExecuteCompilerInvocation.cpp2
-rw-r--r--lib/Headers/CMakeLists.txt23
-rw-r--r--lib/Headers/Intrin.h88
-rw-r--r--lib/Headers/__stddef_max_align_t.h40
-rw-r--r--lib/Headers/adxintrin.h83
-rw-r--r--lib/Headers/altivec.h411
-rw-r--r--lib/Headers/arm_acle.h113
-rw-r--r--lib/Headers/avx512bwintrin.h60
-rw-r--r--lib/Headers/avx512erintrin.h112
-rw-r--r--lib/Headers/avx512fintrin.h1036
-rw-r--r--lib/Headers/avx512vlbwintrin.h83
-rw-r--r--lib/Headers/avx512vlintrin.h83
-rw-r--r--lib/Headers/bmiintrin.h6
-rw-r--r--lib/Headers/cpuid.h84
-rw-r--r--lib/Headers/emmintrin.h48
-rw-r--r--lib/Headers/float.h2
-rw-r--r--lib/Headers/immintrin.h76
-rw-r--r--lib/Headers/lzcntintrin.h18
-rw-r--r--lib/Headers/module.modulemap22
-rw-r--r--lib/Headers/shaintrin.h12
-rw-r--r--lib/Headers/stdatomic.h190
-rw-r--r--lib/Headers/stddef.h29
-rw-r--r--lib/Headers/unwind.h6
-rw-r--r--lib/Headers/vadefs.h65
-rw-r--r--lib/Headers/xmmintrin.h48
-rw-r--r--lib/Index/CMakeLists.txt3
-rw-r--r--lib/Index/CommentToXML.cpp10
-rw-r--r--lib/Index/SimpleFormatContext.h9
-rw-r--r--lib/Index/USRGeneration.cpp54
-rw-r--r--lib/Lex/HeaderMap.cpp10
-rw-r--r--lib/Lex/HeaderSearch.cpp302
-rw-r--r--lib/Lex/Lexer.cpp48
-rw-r--r--lib/Lex/LiteralSupport.cpp16
-rw-r--r--lib/Lex/MacroArgs.cpp5
-rw-r--r--lib/Lex/ModuleMap.cpp408
-rw-r--r--lib/Lex/PPDirectives.cpp339
-rw-r--r--lib/Lex/PPExpressions.cpp22
-rw-r--r--lib/Lex/PPLexerChange.cpp68
-rw-r--r--lib/Lex/PPMacroExpansion.cpp357
-rw-r--r--lib/Lex/PTHLexer.cpp74
-rw-r--r--lib/Lex/Pragma.cpp23
-rw-r--r--lib/Lex/Preprocessor.cpp114
-rw-r--r--lib/Lex/ScratchBuffer.cpp9
-rw-r--r--lib/Lex/TokenConcatenation.cpp20
-rw-r--r--lib/Lex/TokenLexer.cpp29
-rw-r--r--lib/Lex/UnicodeCharSets.h4
-rw-r--r--lib/Parse/ParseAST.cpp7
-rw-r--r--lib/Parse/ParseCXXInlineMethods.cpp203
-rw-r--r--lib/Parse/ParseDecl.cpp460
-rw-r--r--lib/Parse/ParseDeclCXX.cpp362
-rw-r--r--lib/Parse/ParseExpr.cpp260
-rw-r--r--lib/Parse/ParseExprCXX.cpp198
-rw-r--r--lib/Parse/ParseInit.cpp6
-rw-r--r--lib/Parse/ParseObjc.cpp164
-rw-r--r--lib/Parse/ParseOpenMP.cpp71
-rw-r--r--lib/Parse/ParsePragma.cpp313
-rw-r--r--lib/Parse/ParseStmt.cpp83
-rw-r--r--lib/Parse/ParseStmtAsm.cpp61
-rw-r--r--lib/Parse/ParseTemplate.cpp25
-rw-r--r--lib/Parse/ParseTentative.cpp37
-rw-r--r--lib/Parse/Parser.cpp127
-rw-r--r--lib/Parse/RAIIObjectsForParser.h4
-rw-r--r--lib/Rewrite/CMakeLists.txt1
-rw-r--r--lib/Rewrite/RewriteRope.cpp14
-rw-r--r--lib/Rewrite/Rewriter.cpp33
-rw-r--r--lib/Sema/AnalysisBasedWarnings.cpp191
-rw-r--r--lib/Sema/AttributeList.cpp8
-rw-r--r--lib/Sema/CMakeLists.txt1
-rw-r--r--lib/Sema/DeclSpec.cpp49
-rw-r--r--lib/Sema/IdentifierResolver.cpp3
-rw-r--r--lib/Sema/JumpDiagnostics.cpp22
-rw-r--r--lib/Sema/MultiplexExternalSemaSource.cpp6
-rw-r--r--lib/Sema/Scope.cpp9
-rw-r--r--lib/Sema/ScopeInfo.cpp19
-rw-r--r--lib/Sema/Sema.cpp52
-rw-r--r--lib/Sema/SemaAccess.cpp4
-rw-r--r--lib/Sema/SemaAttr.cpp26
-rw-r--r--lib/Sema/SemaCUDA.cpp263
-rw-r--r--lib/Sema/SemaCXXScopeSpec.cpp65
-rw-r--r--lib/Sema/SemaCast.cpp54
-rw-r--r--lib/Sema/SemaChecking.cpp716
-rw-r--r--lib/Sema/SemaCodeComplete.cpp111
-rw-r--r--lib/Sema/SemaDecl.cpp784
-rw-r--r--lib/Sema/SemaDeclAttr.cpp823
-rw-r--r--lib/Sema/SemaDeclCXX.cpp1207
-rw-r--r--lib/Sema/SemaDeclObjC.cpp184
-rw-r--r--lib/Sema/SemaExceptionSpec.cpp117
-rw-r--r--lib/Sema/SemaExpr.cpp798
-rw-r--r--lib/Sema/SemaExprCXX.cpp411
-rw-r--r--lib/Sema/SemaExprMember.cpp132
-rw-r--r--lib/Sema/SemaExprObjC.cpp172
-rw-r--r--lib/Sema/SemaInit.cpp198
-rw-r--r--lib/Sema/SemaLambda.cpp27
-rw-r--r--lib/Sema/SemaLookup.cpp759
-rw-r--r--lib/Sema/SemaObjCProperty.cpp52
-rw-r--r--lib/Sema/SemaOpenMP.cpp1694
-rw-r--r--lib/Sema/SemaOverload.cpp616
-rw-r--r--lib/Sema/SemaPseudoObject.cpp9
-rw-r--r--lib/Sema/SemaStmt.cpp448
-rw-r--r--lib/Sema/SemaStmtAsm.cpp200
-rw-r--r--lib/Sema/SemaStmtAttr.cpp128
-rw-r--r--lib/Sema/SemaTemplate.cpp244
-rw-r--r--lib/Sema/SemaTemplateDeduction.cpp65
-rw-r--r--lib/Sema/SemaTemplateInstantiate.cpp248
-rw-r--r--lib/Sema/SemaTemplateInstantiateDecl.cpp470
-rw-r--r--lib/Sema/SemaTemplateVariadic.cpp167
-rw-r--r--lib/Sema/SemaType.cpp215
-rw-r--r--lib/Sema/TreeTransform.h662
-rw-r--r--lib/Sema/TypeLocBuilder.h4
-rw-r--r--lib/Serialization/ASTCommon.cpp18
-rw-r--r--lib/Serialization/ASTCommon.h13
-rw-r--r--lib/Serialization/ASTReader.cpp1341
-rw-r--r--lib/Serialization/ASTReaderDecl.cpp630
-rw-r--r--lib/Serialization/ASTReaderInternals.h11
-rw-r--r--lib/Serialization/ASTReaderStmt.cpp195
-rw-r--r--lib/Serialization/ASTWriter.cpp883
-rw-r--r--lib/Serialization/ASTWriterDecl.cpp160
-rw-r--r--lib/Serialization/ASTWriterStmt.cpp140
-rw-r--r--lib/Serialization/GlobalModuleIndex.cpp25
-rw-r--r--lib/Serialization/Module.cpp2
-rw-r--r--lib/Serialization/ModuleManager.cpp84
-rw-r--r--lib/StaticAnalyzer/Checkers/AllocationDiagnostics.h4
-rw-r--r--lib/StaticAnalyzer/Checkers/ArrayBoundCheckerV2.cpp13
-rw-r--r--lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp4
-rw-r--r--lib/StaticAnalyzer/Checkers/CStringChecker.cpp7
-rw-r--r--lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp39
-rw-r--r--lib/StaticAnalyzer/Checkers/Checkers.td8
-rw-r--r--lib/StaticAnalyzer/Checkers/ClangSACheckers.h4
-rw-r--r--lib/StaticAnalyzer/Checkers/IdenticalExprChecker.cpp9
-rw-r--r--lib/StaticAnalyzer/Checkers/InterCheckerAPI.h4
-rw-r--r--lib/StaticAnalyzer/Checkers/MacOSKeychainAPIChecker.cpp8
-rw-r--r--lib/StaticAnalyzer/Checkers/MallocChecker.cpp186
-rw-r--r--lib/StaticAnalyzer/Checkers/MallocSizeofChecker.cpp4
-rw-r--r--lib/StaticAnalyzer/Checkers/NonNullParamChecker.cpp19
-rw-r--r--lib/StaticAnalyzer/Checkers/RetainCountChecker.cpp49
-rw-r--r--lib/StaticAnalyzer/Checkers/SelectorExtras.h8
-rw-r--r--lib/StaticAnalyzer/Checkers/SimpleStreamChecker.cpp14
-rw-r--r--lib/StaticAnalyzer/Checkers/TestAfterDivZeroChecker.cpp3
-rw-r--r--lib/StaticAnalyzer/Checkers/UndefCapturedBlockVarChecker.cpp4
-rw-r--r--lib/StaticAnalyzer/Checkers/UnixAPIChecker.cpp66
-rw-r--r--lib/StaticAnalyzer/Checkers/VLASizeChecker.cpp26
-rw-r--r--lib/StaticAnalyzer/Checkers/VirtualCallChecker.cpp13
-rw-r--r--lib/StaticAnalyzer/Core/AnalysisManager.cpp7
-rw-r--r--lib/StaticAnalyzer/Core/AnalyzerOptions.cpp19
-rw-r--r--lib/StaticAnalyzer/Core/BugReporter.cpp135
-rw-r--r--lib/StaticAnalyzer/Core/BugReporterVisitors.cpp74
-rw-r--r--lib/StaticAnalyzer/Core/CallEvent.cpp2
-rw-r--r--lib/StaticAnalyzer/Core/CoreEngine.cpp67
-rw-r--r--lib/StaticAnalyzer/Core/ExplodedGraph.cpp15
-rw-r--r--lib/StaticAnalyzer/Core/ExprEngine.cpp125
-rw-r--r--lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp2
-rw-r--r--lib/StaticAnalyzer/Core/MemRegion.cpp15
-rw-r--r--lib/StaticAnalyzer/Core/PathDiagnostic.cpp11
-rw-r--r--lib/StaticAnalyzer/Core/PlistDiagnostics.cpp10
-rw-r--r--lib/StaticAnalyzer/Core/PrettyStackTraceLocationContext.h4
-rw-r--r--lib/StaticAnalyzer/Core/ProgramState.cpp4
-rw-r--r--lib/StaticAnalyzer/Core/RangeConstraintManager.cpp4
-rw-r--r--lib/StaticAnalyzer/Core/RegionStore.cpp11
-rw-r--r--lib/StaticAnalyzer/Core/SimpleConstraintManager.h4
-rw-r--r--lib/StaticAnalyzer/Core/Store.cpp13
-rw-r--r--lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp62
-rw-r--r--lib/StaticAnalyzer/Frontend/CMakeLists.txt3
-rw-r--r--lib/StaticAnalyzer/Frontend/CheckerRegistration.cpp16
-rw-r--r--lib/StaticAnalyzer/Frontend/FrontendActions.cpp19
-rw-r--r--lib/StaticAnalyzer/Frontend/ModelConsumer.cpp42
-rw-r--r--lib/StaticAnalyzer/Frontend/ModelInjector.cpp117
-rw-r--r--lib/StaticAnalyzer/Frontend/ModelInjector.h74
-rw-r--r--lib/Tooling/ArgumentsAdjusters.cpp83
-rw-r--r--lib/Tooling/CMakeLists.txt3
-rw-r--r--lib/Tooling/CommonOptionsParser.cpp63
-rw-r--r--lib/Tooling/CompilationDatabase.cpp38
-rw-r--r--lib/Tooling/Core/CMakeLists.txt10
-rw-r--r--lib/Tooling/Core/Makefile13
-rw-r--r--lib/Tooling/Core/Replacement.cpp289
-rw-r--r--lib/Tooling/JSONCompilationDatabase.cpp18
-rw-r--r--lib/Tooling/Makefile1
-rw-r--r--lib/Tooling/Refactoring.cpp246
-rw-r--r--lib/Tooling/Tooling.cpp162
-rw-r--r--runtime/CMakeLists.txt4
-rw-r--r--runtime/compiler-rt/Makefile42
-rw-r--r--test/ARCMT/checking.m4
-rw-r--r--test/ARCMT/objcmt-boxing.m7
-rw-r--r--test/ARCMT/objcmt-boxing.m.result7
-rw-r--r--test/ARCMT/objcmt-ns-macros.m69
-rw-r--r--test/ARCMT/objcmt-ns-macros.m.result109
-rw-r--r--test/ARCMT/objcmt-property-dot-syntax.m61
-rw-r--r--test/ARCMT/objcmt-property-dot-syntax.m.result61
-rw-r--r--test/ARCMT/objcmt-undefined-ns-macros.m24
-rw-r--r--test/ARCMT/objcmt-undefined-ns-macros.m.result26
-rw-r--r--test/Analysis/Inputs/Models/modeledFunction.model3
-rw-r--r--test/Analysis/Inputs/Models/notzero.model3
-rw-r--r--test/Analysis/Inputs/system-header-simulator-for-pthread-lock.h28
-rw-r--r--test/Analysis/Malloc+MismatchedDeallocator+NewDelete.cpp2
-rw-r--r--test/Analysis/Malloc+NewDelete_intersections.cpp2
-rw-r--r--test/Analysis/NSContainers.m2
-rw-r--r--test/Analysis/NewDelete+MismatchedDeallocator_intersections.cpp2
-rw-r--r--test/Analysis/NewDelete-checker-test.cpp2
-rw-r--r--test/Analysis/NewDelete-custom.cpp2
-rw-r--r--test/Analysis/NewDelete-intersections.mm2
-rw-r--r--test/Analysis/NewDelete-variadic.cpp2
-rw-r--r--test/Analysis/NewDeleteLeaks-PR18394.cpp2
-rw-r--r--test/Analysis/NewDeleteLeaks-PR19102.cpp43
-rw-r--r--test/Analysis/bstring.c39
-rw-r--r--test/Analysis/builtin-functions.cpp28
-rw-r--r--test/Analysis/cfg.cpp57
-rw-r--r--test/Analysis/debug-CallGraph.c23
-rw-r--r--test/Analysis/disable-all-checks.c11
-rw-r--r--test/Analysis/identical-expressions.cpp21
-rw-r--r--test/Analysis/logical-ops.c2
-rw-r--r--test/Analysis/malloc-protoype.c17
-rw-r--r--test/Analysis/malloc-sizeof.cpp26
-rw-r--r--test/Analysis/misc-ps.m13
-rw-r--r--test/Analysis/model-file.cpp288
-rw-r--r--test/Analysis/nonnull.m118
-rw-r--r--test/Analysis/objc-boxing.m2
-rw-r--r--test/Analysis/pthreadlock.c40
-rw-r--r--test/Analysis/temp-obj-dtors-cfg-output.cpp103
-rw-r--r--test/Analysis/temporaries.cpp207
-rw-r--r--test/Analysis/unix-api.c75
-rw-r--r--test/Analysis/virtualcall.cpp23
-rw-r--r--test/Analysis/vla.c86
-rw-r--r--test/CXX/basic/basic.types/p10.cpp11
-rw-r--r--test/CXX/class.access/class.friend/p11.cpp10
-rw-r--r--test/CXX/class/class.mem/p2.cpp30
-rw-r--r--test/CXX/dcl.dcl/basic.namespace/namespace.udecl/p8-cxx0x.cpp5
-rw-r--r--test/CXX/dcl.dcl/dcl.attr/dcl.attr.deprecated/p1.cpp3
-rw-r--r--test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p1.cpp4
-rw-r--r--test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p3.cpp32
-rw-r--r--test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p4.cpp12
-rw-r--r--test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p5.cpp2
-rw-r--r--test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p8.cpp16
-rw-r--r--test/CXX/dcl.dcl/dcl.spec/dcl.constexpr/p9.cpp4
-rw-r--r--test/CXX/dcl.dcl/dcl.spec/dcl.typedef/p2-0x.cpp2
-rw-r--r--test/CXX/dcl.decl/dcl.fct.def/dcl.fct.def.default/p2.cpp4
-rw-r--r--test/CXX/dcl.decl/dcl.fct.def/dcl.fct.def.general/p8.cpp18
-rw-r--r--test/CXX/dcl.decl/dcl.init/dcl.init.list/p3-0x.cpp15
-rw-r--r--test/CXX/dcl.decl/dcl.init/dcl.init.ref/p5-cxx03-extra-copy.cpp2
-rw-r--r--test/CXX/dcl.decl/dcl.init/p6.cpp6
-rw-r--r--test/CXX/dcl.decl/dcl.meaning/dcl.fct/p13.cpp31
-rw-r--r--test/CXX/dcl.decl/dcl.meaning/dcl.fct/p14.cpp3
-rw-r--r--test/CXX/dcl.decl/dcl.meaning/p1.cpp4
-rw-r--r--test/CXX/drs/dr0xx.cpp40
-rw-r--r--test/CXX/drs/dr10xx.cpp21
-rw-r--r--test/CXX/drs/dr13xx.cpp3
-rw-r--r--test/CXX/drs/dr14xx.cpp3
-rw-r--r--test/CXX/drs/dr15xx.cpp7
-rw-r--r--test/CXX/drs/dr16xx.cpp19
-rw-r--r--test/CXX/drs/dr18xx.cpp24
-rw-r--r--test/CXX/drs/dr1xx.cpp7
-rw-r--r--test/CXX/drs/dr2xx.cpp46
-rw-r--r--test/CXX/drs/dr3xx.cpp40
-rw-r--r--test/CXX/drs/dr412.cpp3
-rw-r--r--test/CXX/drs/dr4xx.cpp19
-rw-r--r--test/CXX/drs/dr5xx.cpp785
-rw-r--r--test/CXX/drs/dr6xx.cpp349
-rw-r--r--test/CXX/drs/dr9xx.cpp3
-rw-r--r--test/CXX/except/except.spec/p1.cpp9
-rw-r--r--test/CXX/except/except.spec/p5-delayed.cpp15
-rw-r--r--test/CXX/expr/expr.const/p2-0x.cpp8
-rw-r--r--test/CXX/expr/expr.prim/expr.prim.general/p3-0x.cpp5
-rw-r--r--test/CXX/expr/expr.prim/expr.prim.lambda/p19.cpp4
-rw-r--r--test/CXX/expr/expr.prim/expr.prim.lambda/p2-generic-lambda-1y.cpp2
-rw-r--r--test/CXX/expr/expr.prim/expr.prim.lambda/p2.cpp2
-rw-r--r--test/CXX/expr/expr.prim/expr.prim.lambda/p3.cpp7
-rw-r--r--test/CXX/expr/expr.prim/expr.prim.lambda/p4.cpp7
-rw-r--r--test/CXX/expr/expr.prim/expr.prim.lambda/templates.cpp4
-rw-r--r--test/CXX/expr/expr.unary/expr.unary.noexcept/sema.cpp2
-rw-r--r--test/CXX/lex/lex.literal/lex.ext/p3.cpp2
-rw-r--r--test/CXX/lex/lex.trigraph/p1.cpp2
-rw-r--r--test/CXX/lex/lex.trigraph/p2.cpp2
-rw-r--r--test/CXX/lex/lex.trigraph/p3.cpp2
-rw-r--r--test/CXX/stmt.stmt/stmt.dcl/p3-0x.cpp4
-rw-r--r--test/CXX/stmt.stmt/stmt.dcl/p3.cpp4
-rw-r--r--test/CXX/temp/temp.decls/temp.class/temp.static/p1.cpp8
-rw-r--r--test/CXX/temp/temp.decls/temp.friend/p5.cpp8
-rw-r--r--test/CXX/temp/temp.decls/temp.variadic/metafunctions.cpp2
-rw-r--r--test/CXX/temp/temp.decls/temp.variadic/p5.cpp15
-rw-r--r--test/CXX/temp/temp.param/p5.cpp8
-rw-r--r--test/CXX/temp/temp.spec/temp.explicit/p1-0x.cpp2
-rw-r--r--test/CodeGen/2003-08-21-WideString.c4
-rw-r--r--test/CodeGen/2005-06-15-ExpandGotoInternalProblem.c2
-rw-r--r--test/CodeGen/2005-09-24-AsmUserPrefix.c2
-rw-r--r--test/CodeGen/2007-06-18-SextAttrAggregate.c4
-rw-r--r--test/CodeGen/2008-07-22-bitfield-init-after-zero-len-array.c3
-rw-r--r--test/CodeGen/2009-07-15-pad-wchar_t-array.c4
-rw-r--r--test/CodeGen/2009-10-20-GlobalDebug.c4
-rw-r--r--test/CodeGen/2010-02-15-DbgStaticVar.c3
-rw-r--r--test/CodeGen/2010-07-08-DeclDebugLineNo.c4
-rw-r--r--test/CodeGen/24-bit.c14
-rw-r--r--test/CodeGen/Atomics.c43
-rw-r--r--test/CodeGen/aarch64-fix-cortex-a53-835769.c27
-rw-r--r--test/CodeGen/aarch64-poly64.c12
-rw-r--r--test/CodeGen/aarch64-type-sizes.c2
-rw-r--r--test/CodeGen/aarch64-varargs.c2
-rw-r--r--test/CodeGen/adc-builtins.c33
-rw-r--r--test/CodeGen/address-safety-attr.cpp70
-rw-r--r--test/CodeGen/address-sanitizer-and-array-cookie.cpp55
-rw-r--r--test/CodeGen/adx-builtins.c18
-rw-r--r--test/CodeGen/alias.c7
-rw-r--r--test/CodeGen/align_value.cpp103
-rw-r--r--test/CodeGen/arm-aapcs-vfp.c25
-rw-r--r--test/CodeGen/arm-arguments.c9
-rw-r--r--test/CodeGen/arm-homogenous.c20
-rw-r--r--test/CodeGen/arm-metadata.c12
-rw-r--r--test/CodeGen/arm-neon-directed-rounding.c75
-rw-r--r--test/CodeGen/arm-neon-numeric-maxmin.c27
-rw-r--r--test/CodeGen/arm64-aapcs-arguments.c15
-rw-r--r--test/CodeGen/arm64-arguments.c15
-rw-r--r--test/CodeGen/arm64-be-bitfield.c12
-rw-r--r--test/CodeGen/arm64-be-hfa-vararg.c2
-rw-r--r--test/CodeGen/arm64-lanes.c2
-rw-r--r--test/CodeGen/arm_acle.c155
-rw-r--r--test/CodeGen/arm_neon_intrinsics.c168
-rw-r--r--test/CodeGen/asan-globals.cpp45
-rw-r--r--test/CodeGen/asm.c14
-rw-r--r--test/CodeGen/atomic-ops-libcall.c10
-rw-r--r--test/CodeGen/atomic-ops.c178
-rw-r--r--test/CodeGen/atomic.c10
-rw-r--r--test/CodeGen/atomic_ops.c6
-rw-r--r--test/CodeGen/atomics-inlining.c24
-rw-r--r--test/CodeGen/attr-naked.c10
-rw-r--r--test/CodeGen/attr-optnone.c21
-rw-r--r--test/CodeGen/attributes.c2
-rw-r--r--test/CodeGen/avx2-builtins.c2
-rw-r--r--test/CodeGen/avx512bw-builtins.c27
-rw-r--r--test/CodeGen/avx512f-builtins.c212
-rw-r--r--test/CodeGen/avx512vl-builtins.c51
-rw-r--r--test/CodeGen/avx512vlbw-builtins.c51
-rw-r--r--test/CodeGen/block-with-perdefinedexpr.c14
-rw-r--r--test/CodeGen/bmi2-builtins.c6
-rw-r--r--test/CodeGen/bool_test.c2
-rw-r--r--test/CodeGen/builtin-assume-aligned.c67
-rw-r--r--test/CodeGen/builtin-assume.c23
-rw-r--r--test/CodeGen/builtin-recursive.cpp (renamed from test/CodeGen/builtin-recursive.cc)2
-rw-r--r--test/CodeGen/builtins-arm-msvc-compat-error.c6
-rw-r--r--test/CodeGen/builtins-arm-msvc-compat-only.c19
-rw-r--r--test/CodeGen/builtins-arm.c18
-rw-r--r--test/CodeGen/builtins-arm64.c14
-rw-r--r--test/CodeGen/builtins-nvptx.c2
-rw-r--r--test/CodeGen/builtins-ppc-altivec.c4
-rw-r--r--test/CodeGen/builtins-ppc-vsx.c116
-rw-r--r--test/CodeGen/builtins-x86.c2
-rw-r--r--test/CodeGen/builtins.c33
-rw-r--r--test/CodeGen/c11atomics-ios.c8
-rw-r--r--test/CodeGen/c11atomics.c14
-rw-r--r--test/CodeGen/captured-statements-nested.c74
-rw-r--r--test/CodeGen/captured-statements.c11
-rw-r--r--test/CodeGen/catch-undef-behavior.c417
-rw-r--r--test/CodeGen/complex-math.c481
-rw-r--r--test/CodeGen/complex.c16
-rw-r--r--test/CodeGen/compound-assign-overflow.c2
-rw-r--r--test/CodeGen/const-init.c22
-rw-r--r--test/CodeGen/debug-info-args.c4
-rw-r--r--test/CodeGen/debug-info-block-decl.c4
-rw-r--r--test/CodeGen/debug-info-block-out-return.c25
-rw-r--r--test/CodeGen/debug-info-enum.c6
-rw-r--r--test/CodeGen/debug-info-line3.c2
-rw-r--r--test/CodeGen/debug-info-line4.c2
-rw-r--r--test/CodeGen/debug-info-scope-file.c4
-rw-r--r--test/CodeGen/debug-info-scope.c12
-rw-r--r--test/CodeGen/debug-info-typedef.c4
-rw-r--r--test/CodeGen/debug-info-version.c4
-rw-r--r--test/CodeGen/debug-info-vla.c2
-rw-r--r--test/CodeGen/debug-info.c2
-rw-r--r--test/CodeGen/dependent-lib.c12
-rw-r--r--test/CodeGen/designated-initializers.c3
-rw-r--r--test/CodeGen/dllimport.c56
-rw-r--r--test/CodeGen/dwarf-version.c7
-rw-r--r--test/CodeGen/ext-vector-indexing.c14
-rw-r--r--test/CodeGen/fp128_complex.c9
-rw-r--r--test/CodeGen/fsgsbase-builtins.c54
-rw-r--r--test/CodeGen/lineno-dbginfo.c7
-rw-r--r--test/CodeGen/linetable-endscope.c4
-rw-r--r--test/CodeGen/link-bitcode-file.c2
-rw-r--r--test/CodeGen/lzcnt-builtins.c12
-rw-r--r--test/CodeGen/mangle-blocks.c23
-rw-r--r--test/CodeGen/mangle-windows.c39
-rw-r--r--test/CodeGen/may-alias.c24
-rw-r--r--test/CodeGen/merge-statics.c5
-rw-r--r--test/CodeGen/microsoft-call-conv.c12
-rw-r--r--test/CodeGen/mips-constraint-regs.c6
-rw-r--r--test/CodeGen/mips-constraints-mem.c2
-rw-r--r--test/CodeGen/mips-inline-asm-modifiers.c6
-rw-r--r--test/CodeGen/mips-transparent-union.c27
-rw-r--r--test/CodeGen/mips-varargs.c115
-rw-r--r--test/CodeGen/mmx-inline-asm-error.c6
-rw-r--r--test/CodeGen/mozilla-ms-inline-asm.c17
-rw-r--r--test/CodeGen/mrtd.c4
-rw-r--r--test/CodeGen/ms-align-tentative.c15
-rw-r--r--test/CodeGen/ms-declspecs.c4
-rw-r--r--test/CodeGen/ms-inline-asm-functions.c60
-rw-r--r--test/CodeGen/ms-inline-asm.c317
-rw-r--r--test/CodeGen/ms-inline-asm.cpp46
-rw-r--r--test/CodeGen/ms-intrinsics.c59
-rw-r--r--test/CodeGen/mult-alt-generic.c2
-rw-r--r--test/CodeGen/named_reg_global.c2
-rw-r--r--test/CodeGen/nonnull.c28
-rw-r--r--test/CodeGen/nvptx-abi.c34
-rw-r--r--test/CodeGen/piclevels.c7
-rw-r--r--test/CodeGen/ppc-signbit.c11
-rw-r--r--test/CodeGen/ppc-varargs-struct.c112
-rw-r--r--test/CodeGen/ppc64-elf-abi.c40
-rw-r--r--test/CodeGen/ppc64-varargs-struct.c30
-rw-r--r--test/CodeGen/ppc64le-aggregates.c6
-rw-r--r--test/CodeGen/pr5406.c2
-rw-r--r--test/CodeGen/pragma-comment.c20
-rw-r--r--test/CodeGen/pragma-detect_mismatch.c24
-rw-r--r--test/CodeGen/pragma-loop.cpp120
-rw-r--r--test/CodeGen/pragma-unroll.cpp24
-rw-r--r--test/CodeGen/pragma-weak.c20
-rw-r--r--test/CodeGen/predefined-expr.c4
-rw-r--r--test/CodeGen/sanitize-address-field-padding.cpp237
-rw-r--r--test/CodeGen/sanitize-init-order.cpp34
-rw-r--r--test/CodeGen/sanitize-recover.c28
-rw-r--r--test/CodeGen/sse-builtins.c288
-rw-r--r--test/CodeGen/target-data.c12
-rw-r--r--test/CodeGen/tbaa-class.cpp56
-rw-r--r--test/CodeGen/tbaa-for-vptr.cpp6
-rw-r--r--test/CodeGen/tbaa-ms-abi.cpp8
-rw-r--r--test/CodeGen/tbaa-struct.cpp18
-rw-r--r--test/CodeGen/tbaa.cpp66
-rw-r--r--test/CodeGen/transparent-union.c19
-rw-r--r--test/CodeGen/ubsan-type-blacklist.cpp6
-rw-r--r--test/CodeGen/variadic-null-win64.c17
-rw-r--r--test/CodeGen/vectorcall.c77
-rw-r--r--test/CodeGen/vlt_to_pointer.c30
-rw-r--r--test/CodeGen/wchar-const.c4
-rw-r--r--test/CodeGen/windows-struct-abi.c42
-rw-r--r--test/CodeGen/x86-atomic-long_double.c469
-rw-r--r--test/CodeGen/x86_32-inline-asm.c48
-rw-r--r--test/CodeGen/x86_64-arguments-win32.c16
-rw-r--r--test/CodeGen/xcore-stringtype.c102
-rw-r--r--test/CodeGenCUDA/launch-bounds.cu6
-rw-r--r--test/CodeGenCUDA/ptx-kernels.cu2
-rw-r--r--test/CodeGenCXX/2010-07-23-DeclLoc.cpp2
-rw-r--r--test/CodeGenCXX/PR20038.cpp8
-rw-r--r--test/CodeGenCXX/align-avx-complete-objects.cpp57
-rw-r--r--test/CodeGenCXX/atomicinit.cpp12
-rw-r--r--test/CodeGenCXX/attr-used.cpp10
-rw-r--r--test/CodeGenCXX/call-with-static-chain.cpp39
-rw-r--r--test/CodeGenCXX/catch-undef-behavior.cpp49
-rw-r--r--test/CodeGenCXX/class-layout.cpp2
-rw-r--r--test/CodeGenCXX/compound-literals.cpp15
-rw-r--r--test/CodeGenCXX/constructor-destructor-return-this.cpp14
-rw-r--r--test/CodeGenCXX/constructor-init.cpp12
-rw-r--r--test/CodeGenCXX/copy-constructor-synthesis-2.cpp2
-rw-r--r--test/CodeGenCXX/copy-constructor-synthesis.cpp4
-rw-r--r--test/CodeGenCXX/coverage.cpp4
-rw-r--r--test/CodeGenCXX/crash.cpp11
-rw-r--r--test/CodeGenCXX/ctor-dtor-alias.cpp107
-rw-r--r--test/CodeGenCXX/ctor-globalopt.cpp28
-rw-r--r--test/CodeGenCXX/cxx11-exception-spec.cpp21
-rw-r--r--test/CodeGenCXX/cxx11-special-members.cpp14
-rw-r--r--test/CodeGenCXX/cxx11-thread-local.cpp4
-rw-r--r--test/CodeGenCXX/cxx1y-initializer-aggregate.cpp11
-rw-r--r--test/CodeGenCXX/cxx1y-variable-template-linkage.cpp40
-rw-r--r--test/CodeGenCXX/cxx1z-fold-expression.cpp45
-rw-r--r--test/CodeGenCXX/debug-info-access.cpp39
-rw-r--r--test/CodeGenCXX/debug-info-alias.cpp6
-rw-r--r--test/CodeGenCXX/debug-info-artificial-arg.cpp8
-rw-r--r--test/CodeGenCXX/debug-info-class.cpp30
-rw-r--r--test/CodeGenCXX/debug-info-cxx1y.cpp17
-rw-r--r--test/CodeGenCXX/debug-info-decl-nested.cpp13
-rw-r--r--test/CodeGenCXX/debug-info-enum-class.cpp12
-rw-r--r--test/CodeGenCXX/debug-info-enum.cpp18
-rw-r--r--test/CodeGenCXX/debug-info-flex-member.cpp2
-rw-r--r--test/CodeGenCXX/debug-info-function-context.cpp8
-rw-r--r--test/CodeGenCXX/debug-info-global.cpp6
-rw-r--r--test/CodeGenCXX/debug-info-globalinit.cpp4
-rw-r--r--test/CodeGenCXX/debug-info-line-if.cpp65
-rw-r--r--test/CodeGenCXX/debug-info-line.cpp187
-rw-r--r--test/CodeGenCXX/debug-info-method.cpp18
-rw-r--r--test/CodeGenCXX/debug-info-namespace.cpp78
-rw-r--r--test/CodeGenCXX/debug-info-ptr-to-member-function.cpp10
-rw-r--r--test/CodeGenCXX/debug-info-qualifiers.cpp18
-rw-r--r--test/CodeGenCXX/debug-info-rvalue-ref.cpp2
-rw-r--r--test/CodeGenCXX/debug-info-scope.cpp67
-rw-r--r--test/CodeGenCXX/debug-info-static-fns.cpp2
-rw-r--r--test/CodeGenCXX/debug-info-static-member.cpp81
-rw-r--r--test/CodeGenCXX/debug-info-template-explicit-specialization.cpp8
-rw-r--r--test/CodeGenCXX/debug-info-template-limit.cpp4
-rw-r--r--test/CodeGenCXX/debug-info-template-member.cpp42
-rw-r--r--test/CodeGenCXX/debug-info-template-partial-specialization.cpp4
-rw-r--r--test/CodeGenCXX/debug-info-template-quals.cpp14
-rw-r--r--test/CodeGenCXX/debug-info-template.cpp116
-rw-r--r--test/CodeGenCXX/debug-info-thunk.cpp2
-rw-r--r--test/CodeGenCXX/debug-info-union-template.cpp6
-rw-r--r--test/CodeGenCXX/debug-info-uuid.cpp24
-rw-r--r--test/CodeGenCXX/debug-info-varargs.cpp18
-rw-r--r--test/CodeGenCXX/debug-info-wchar.cpp2
-rw-r--r--test/CodeGenCXX/debug-info-windows-dtor.cpp22
-rw-r--r--test/CodeGenCXX/debug-info-zero-length-arrays.cpp8
-rw-r--r--test/CodeGenCXX/debug-info.cpp33
-rw-r--r--test/CodeGenCXX/debug-lambda-expressions.cpp44
-rw-r--r--test/CodeGenCXX/debug-lambda-this.cpp2
-rw-r--r--test/CodeGenCXX/destructor-debug-info.cpp2
-rw-r--r--test/CodeGenCXX/destructors.cpp362
-rw-r--r--test/CodeGenCXX/devirtualize-virtual-function-calls-final.cpp46
-rw-r--r--test/CodeGenCXX/dllexport-alias.cpp18
-rw-r--r--test/CodeGenCXX/dllexport-members.cpp32
-rw-r--r--test/CodeGenCXX/dllexport.cpp166
-rw-r--r--test/CodeGenCXX/dllimport-members.cpp408
-rw-r--r--test/CodeGenCXX/dllimport-rtti.cpp18
-rw-r--r--test/CodeGenCXX/dllimport.cpp164
-rw-r--r--test/CodeGenCXX/duplicate-mangled-name.cpp2
-rw-r--r--test/CodeGenCXX/explicit-instantiation.cpp13
-rw-r--r--test/CodeGenCXX/extern-c.cpp4
-rw-r--r--test/CodeGenCXX/field-access-debug-info.cpp4
-rw-r--r--test/CodeGenCXX/funcsig.cpp6
-rw-r--r--test/CodeGenCXX/function-template-specialization.cpp19
-rw-r--r--test/CodeGenCXX/globalinit-loc.cpp4
-rw-r--r--test/CodeGenCXX/homogeneous-aggregates.cpp106
-rw-r--r--test/CodeGenCXX/lambda-expressions.cpp14
-rw-r--r--test/CodeGenCXX/linetable-cleanup.cpp18
-rw-r--r--test/CodeGenCXX/linetable-eh.cpp12
-rw-r--r--test/CodeGenCXX/linetable-fnbegin.cpp6
-rw-r--r--test/CodeGenCXX/lpad-linetable.cpp2
-rw-r--r--test/CodeGenCXX/mangle-exprs.cpp101
-rw-r--r--test/CodeGenCXX/mangle-literal-suffix.cpp17
-rw-r--r--test/CodeGenCXX/mangle-local-anonymous-unions.cpp42
-rw-r--r--test/CodeGenCXX/mangle-ms-cxx11.cpp108
-rw-r--r--test/CodeGenCXX/mangle-ms-cxx14.cpp4
-rw-r--r--test/CodeGenCXX/mangle-ms-string-literals.cpp6
-rw-r--r--test/CodeGenCXX/mangle-ms-templates.cpp10
-rw-r--r--test/CodeGenCXX/mangle-ms.cpp15
-rw-r--r--test/CodeGenCXX/mangle.cpp22
-rw-r--r--test/CodeGenCXX/merge-functions.cpp14
-rw-r--r--test/CodeGenCXX/microsoft-abi-byval-sret.cpp61
-rw-r--r--test/CodeGenCXX/microsoft-abi-byval-thunks.cpp113
-rw-r--r--test/CodeGenCXX/microsoft-abi-dynamic-cast.cpp54
-rwxr-xr-xtest/CodeGenCXX/microsoft-abi-member-pointers.cpp100
-rw-r--r--test/CodeGenCXX/microsoft-abi-multiple-nonvirtual-inheritance.cpp20
-rw-r--r--test/CodeGenCXX/microsoft-abi-nontrivial-covariant-thunk.cpp2
-rw-r--r--test/CodeGenCXX/microsoft-abi-static-initializers.cpp34
-rw-r--r--test/CodeGenCXX/microsoft-abi-structors-delayed-template.cpp12
-rw-r--r--test/CodeGenCXX/microsoft-abi-structors.cpp70
-rw-r--r--test/CodeGenCXX/microsoft-abi-thunks.cpp11
-rw-r--r--test/CodeGenCXX/microsoft-abi-typeid.cpp9
-rw-r--r--test/CodeGenCXX/microsoft-abi-vftables.cpp8
-rw-r--r--test/CodeGenCXX/microsoft-abi-virtual-inheritance-vtordisps.cpp7
-rw-r--r--test/CodeGenCXX/microsoft-abi-virtual-inheritance.cpp89
-rw-r--r--test/CodeGenCXX/microsoft-abi-virtual-member-pointers.cpp119
-rw-r--r--test/CodeGenCXX/microsoft-abi-vmemptr-conflicts.cpp101
-rw-r--r--test/CodeGenCXX/microsoft-abi-vmemptr-fastcall.cpp11
-rw-r--r--test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-return-adjustment.cpp67
-rw-r--r--test/CodeGenCXX/microsoft-abi-vtables-multiple-nonvirtual-inheritance-this-adjustment.cpp51
-rw-r--r--test/CodeGenCXX/microsoft-abi-vtables-return-thunks.cpp24
-rw-r--r--test/CodeGenCXX/microsoft-abi-vtables-single-inheritance.cpp10
-rw-r--r--test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance-vtordisps.cpp20
-rw-r--r--test/CodeGenCXX/microsoft-abi-vtables-virtual-inheritance.cpp45
-rw-r--r--test/CodeGenCXX/microsoft-interface.cpp4
-rw-r--r--test/CodeGenCXX/microsoft-no-rtti-data.cpp1
-rw-r--r--test/CodeGenCXX/microsoft-uuidof-mangling.cpp48
-rw-r--r--test/CodeGenCXX/mingw-w64-seh-exceptions.cpp24
-rw-r--r--test/CodeGenCXX/ms-inline-asm-return.cpp100
-rw-r--r--test/CodeGenCXX/ms-integer-static-data-members-exported.cpp4
-rw-r--r--test/CodeGenCXX/ms-integer-static-data-members.cpp2
-rw-r--r--test/CodeGenCXX/ms-thread_local.cpp28
-rw-r--r--test/CodeGenCXX/nrvo-noreturn.cpp (renamed from test/CodeGenCXX/nrvo-noreturn.cc)0
-rw-r--r--test/CodeGenCXX/optnone-def-decl.cpp94
-rw-r--r--test/CodeGenCXX/pod-member-memcpys.cpp13
-rw-r--r--test/CodeGenCXX/pointers-to-data-members.cpp24
-rw-r--r--test/CodeGenCXX/pr12251.cpp19
-rw-r--r--test/CodeGenCXX/pr18635.cpp22
-rw-r--r--test/CodeGenCXX/pr18962.cpp2
-rw-r--r--test/CodeGenCXX/pr20719.cpp35
-rw-r--r--test/CodeGenCXX/pr20897.cpp33
-rw-r--r--test/CodeGenCXX/pr21989.cpp9
-rw-r--r--test/CodeGenCXX/pragma-init_seg.cpp12
-rw-r--r--test/CodeGenCXX/predefined-expr-cxx14.cpp105
-rw-r--r--test/CodeGenCXX/predefined-expr.cpp32
-rw-r--r--test/CodeGenCXX/runtimecc.cpp22
-rw-r--r--test/CodeGenCXX/sections.cpp (renamed from test/CodeGen/sections.c)31
-rw-r--r--test/CodeGenCXX/skip-vtable-pointer-initialization.cpp16
-rw-r--r--test/CodeGenCXX/split-stacks.cpp4
-rw-r--r--test/CodeGenCXX/static-data-member.cpp14
-rw-r--r--test/CodeGenCXX/static-init.cpp8
-rw-r--r--test/CodeGenCXX/static-local-in-local-class.cpp133
-rw-r--r--test/CodeGenCXX/static-member-variable-explicit-specialization.cpp135
-rw-r--r--test/CodeGenCXX/temporaries.cpp7
-rw-r--r--test/CodeGenCXX/try-catch.cpp8
-rw-r--r--test/CodeGenCXX/unknown-anytype.cpp8
-rw-r--r--test/CodeGenCXX/vararg-non-pod-ms-compat.cpp28
-rw-r--r--test/CodeGenCXX/virtual-base-cast.cpp36
-rw-r--r--test/CodeGenCXX/virtual-destructor-calls.cpp2
-rw-r--r--test/CodeGenCXX/virtual-operator-call.cpp9
-rw-r--r--test/CodeGenCXX/vla-lambda-capturing.cpp171
-rw-r--r--test/CodeGenCXX/vlt_to_reference.cpp22
-rw-r--r--test/CodeGenCXX/vtable-align.cpp14
-rw-r--r--test/CodeGenCXX/vtable-holder-self-reference.cpp15
-rw-r--r--test/CodeGenCXX/vtable-pointer-initialization.cpp8
-rw-r--r--test/CodeGenCXX/x86_64-arguments-nacl-x32.cpp44
-rw-r--r--test/CodeGenCXX/x86_64-arguments.cpp15
-rw-r--r--test/CodeGenObjC/2010-02-09-DbgSelf.m2
-rw-r--r--test/CodeGenObjC/2010-02-15-Dbg-MethodStart.m3
-rw-r--r--test/CodeGenObjC/arc-foreach.m6
-rw-r--r--test/CodeGenObjC/arc-linetable-autorelease.m4
-rw-r--r--test/CodeGenObjC/arc-linetable.m34
-rw-r--r--test/CodeGenObjC/arc-literals.m14
-rw-r--r--test/CodeGenObjC/arc-loadweakretained-release.m2
-rw-r--r--test/CodeGenObjC/arc-precise-lifetime.m8
-rw-r--r--test/CodeGenObjC/arc-property.m4
-rw-r--r--test/CodeGenObjC/arc.m52
-rw-r--r--test/CodeGenObjC/arm-atomic-scalar-setter-getter.m4
-rw-r--r--test/CodeGenObjC/block-byref-debuginfo.m2
-rw-r--r--test/CodeGenObjC/block-over-align.m25
-rw-r--r--test/CodeGenObjC/boxing.m24
-rw-r--r--test/CodeGenObjC/catch-lexical-block.m2
-rw-r--r--test/CodeGenObjC/category-super-class-meth.m4
-rw-r--r--test/CodeGenObjC/debug-info-block-captured-self.m10
-rw-r--r--test/CodeGenObjC/debug-info-block-type.m18
-rw-r--r--test/CodeGenObjC/debug-info-blocks.m10
-rw-r--r--test/CodeGenObjC/debug-info-getter-name.m2
-rw-r--r--test/CodeGenObjC/debug-info-id-with-protocol.m7
-rw-r--r--test/CodeGenObjC/debug-info-instancetype.m10
-rw-r--r--test/CodeGenObjC/debug-info-ivars-extension.m4
-rw-r--r--test/CodeGenObjC/debug-info-lifetime-crash.m4
-rw-r--r--test/CodeGenObjC/debug-info-nested-blocks.m26
-rw-r--r--test/CodeGenObjC/debug-info-property-accessors.m2
-rw-r--r--test/CodeGenObjC/debug-info-property3.m2
-rw-r--r--test/CodeGenObjC/debug-info-self.m6
-rw-r--r--test/CodeGenObjC/debug-info-static-var.m2
-rw-r--r--test/CodeGenObjC/debug-info-synthesis.m2
-rw-r--r--test/CodeGenObjC/debug-info-variadic-method.m16
-rw-r--r--test/CodeGenObjC/debug-property-synth.m4
-rw-r--r--test/CodeGenObjC/encode-test.m2
-rw-r--r--test/CodeGenObjC/exceptions-asm-attribute.m8
-rw-r--r--test/CodeGenObjC/externally-initialized-selectors.m2
-rw-r--r--test/CodeGenObjC/forward-protocol-metadata-symbols.m2
-rw-r--r--test/CodeGenObjC/image-info.m16
-rw-r--r--test/CodeGenObjC/ivar-layout-64.m26
-rw-r--r--test/CodeGenObjC/mangle-blocks.m29
-rw-r--r--test/CodeGenObjC/metadata-symbols-32.m42
-rw-r--r--test/CodeGenObjC/metadata-symbols-64.m20
-rw-r--r--test/CodeGenObjC/metadata_symbols.m8
-rw-r--r--test/CodeGenObjC/non-lazy-classes.m7
-rw-r--r--test/CodeGenObjC/objc-align.m35
-rw-r--r--test/CodeGenObjC/objc-container-subscripting-1.m8
-rw-r--r--test/CodeGenObjC/objc-fixed-enum.m24
-rw-r--r--test/CodeGenObjC/optimize-ivar-offset-load.m4
-rw-r--r--test/CodeGenObjC/optimized-setter-ios-device.m8
-rw-r--r--test/CodeGenObjC/private-extern-selector-reference.m18
-rw-r--r--test/CodeGenObjC/property-array-type.m2
-rw-r--r--test/CodeGenObjC/property-type-mismatch.m2
-rw-r--r--test/CodeGenObjC/property.m12
-rw-r--r--test/CodeGenObjC/reorder-synthesized-ivars.m36
-rw-r--r--test/CodeGenObjC/selector-ref-invariance.m2
-rw-r--r--test/CodeGenObjC/super-message-fragileabi.m2
-rw-r--r--test/CodeGenObjC/tentative-cfconstantstring.m4
-rw-r--r--test/CodeGenObjC/undefined-protocol2.m17
-rw-r--r--test/CodeGenObjCXX/arc-cxx11-init-list.mm55
-rw-r--r--test/CodeGenObjCXX/arc-cxx11-member-init.mm17
-rw-r--r--test/CodeGenObjCXX/arc-references.mm2
-rw-r--r--test/CodeGenObjCXX/arc.mm2
-rw-r--r--test/CodeGenObjCXX/block-id.mm22
-rw-r--r--test/CodeGenObjCXX/debug-info-line.mm30
-rw-r--r--test/CodeGenObjCXX/destroy.mm50
-rw-r--r--test/CodeGenObjCXX/externally-initialized-selectors.mm2
-rw-r--r--test/CodeGenObjCXX/lambda-expressions.mm4
-rw-r--r--test/CodeGenObjCXX/lvalue-reference-getter.mm2
-rw-r--r--test/CodeGenObjCXX/mangle-blocks.mm13
-rw-r--r--test/CodeGenObjCXX/property-lvalue-capture.mm6
-rw-r--r--test/CodeGenObjCXX/property-object-reference.mm4
-rw-r--r--test/CodeGenObjCXX/property-objects.mm7
-rw-r--r--test/CodeGenObjCXX/subst-sel.mm4
-rw-r--r--test/CodeGenOpenCL/addr-space-struct-arg.cl46
-rw-r--r--test/CodeGenOpenCL/address-space-constant-initializers.cl2
-rw-r--r--test/CodeGenOpenCL/address-spaces-conversions.cl22
-rw-r--r--test/CodeGenOpenCL/amdgpu-num-gpr-attr.cl48
-rw-r--r--test/CodeGenOpenCL/builtins-r600.cl37
-rw-r--r--test/CodeGenOpenCL/const-str-array-decay.cl11
-rw-r--r--test/CodeGenOpenCL/constant-addr-space-globals.cl8
-rw-r--r--test/CodeGenOpenCL/denorms-are-zero.cl5
-rw-r--r--test/CodeGenOpenCL/fpmath.cl2
-rw-r--r--test/CodeGenOpenCL/kernel-arg-info.cl59
-rw-r--r--test/CodeGenOpenCL/kernel-attributes.cl12
-rw-r--r--test/CodeGenOpenCL/kernel-metadata.cl7
-rw-r--r--test/CodeGenOpenCL/local-initializer-undef.cl24
-rw-r--r--test/CodeGenOpenCL/local.cl6
-rw-r--r--test/CodeGenOpenCL/opencl_types.cl5
-rw-r--r--test/CodeGenOpenCL/ptx-calls.cl2
-rw-r--r--test/CodeGenOpenCL/ptx-kernels.cl2
-rw-r--r--test/CodeGenOpenCL/relaxed-fpmath.cl36
-rw-r--r--test/CodeGenOpenCL/str_literals.cl4
-rw-r--r--test/Coverage/html-diagnostics.c5
-rw-r--r--test/CoverageMapping/Inputs/code.h11
-rw-r--r--test/CoverageMapping/Inputs/header1.h31
-rw-r--r--test/CoverageMapping/break.c31
-rw-r--r--test/CoverageMapping/builtinmacro.c14
-rw-r--r--test/CoverageMapping/casts.c11
-rw-r--r--test/CoverageMapping/classtemplate.cpp54
-rw-r--r--test/CoverageMapping/continue.c24
-rw-r--r--test/CoverageMapping/header.cpp27
-rw-r--r--test/CoverageMapping/if.c24
-rw-r--r--test/CoverageMapping/includehell.cpp12
-rw-r--r--test/CoverageMapping/ir.c12
-rw-r--r--test/CoverageMapping/label.cpp63
-rw-r--r--test/CoverageMapping/logical.cpp13
-rw-r--r--test/CoverageMapping/loopmacro.c40
-rw-r--r--test/CoverageMapping/loops.cpp37
-rw-r--r--test/CoverageMapping/macroception.c40
-rw-r--r--test/CoverageMapping/macroparams.c12
-rw-r--r--test/CoverageMapping/macroparams2.c20
-rw-r--r--test/CoverageMapping/macros.c26
-rw-r--r--test/CoverageMapping/nestedclass.cpp28
-rw-r--r--test/CoverageMapping/objc.m29
-rw-r--r--test/CoverageMapping/preprocessor.c37
-rw-r--r--test/CoverageMapping/return.c35
-rw-r--r--test/CoverageMapping/switch.c48
-rw-r--r--test/CoverageMapping/templates.cpp21
-rw-r--r--test/CoverageMapping/test.c31
-rw-r--r--test/CoverageMapping/trycatch.cpp34
-rw-r--r--test/Driver/B-opt.c8
-rwxr-xr-xtest/Driver/Inputs/Windows/ARM/8.1/usr/bin/armv7-windows-itanium-ld0
-rw-r--r--test/Driver/Inputs/basic_netbsd_tree/usr/lib/eabihf/crti.o0
-rw-r--r--test/Driver/Inputs/basic_netbsd_tree/usr/lib/powerpc/crti.o0
-rw-r--r--test/Driver/Inputs/cc1-response.txt4
-rw-r--r--test/Driver/Inputs/gen-response.c8
-rw-r--r--test/Driver/Inputs/mips_cs_tree/lib/gcc/mips-linux-gnu/4.6.3/include-fixed/uclibc/el/.keep0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/lib/gcc/mips-linux-gnu/4.6.3/include-fixed/uclibc/nan2008/el/.keep0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/lib/gcc/mips-linux-gnu/4.6.3/include-fixed/uclibc/soft-float/el/.keep0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/lib/gcc/mips-linux-gnu/4.6.3/uclibc/crtbegin.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/lib/gcc/mips-linux-gnu/4.6.3/uclibc/crtend.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/lib/gcc/mips-linux-gnu/4.6.3/uclibc/el/crtbegin.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/lib/gcc/mips-linux-gnu/4.6.3/uclibc/el/crtend.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/lib/gcc/mips-linux-gnu/4.6.3/uclibc/nan2008/crtbegin.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/lib/gcc/mips-linux-gnu/4.6.3/uclibc/nan2008/crtend.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/lib/gcc/mips-linux-gnu/4.6.3/uclibc/nan2008/el/crtbegin.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/lib/gcc/mips-linux-gnu/4.6.3/uclibc/nan2008/el/crtend.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/lib/gcc/mips-linux-gnu/4.6.3/uclibc/soft-float/crtbegin.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/lib/gcc/mips-linux-gnu/4.6.3/uclibc/soft-float/crtend.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/lib/gcc/mips-linux-gnu/4.6.3/uclibc/soft-float/el/crtbegin.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/lib/gcc/mips-linux-gnu/4.6.3/uclibc/soft-float/el/crtend.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/lib/uclibc/el/.keep0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/lib/uclibc/nan2008/el/.keep0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/lib/uclibc/soft-float/el/.keep0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/el/lib/.keep0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/el/usr/include/.keep0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/el/usr/lib/crt1.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/el/usr/lib/crti.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/el/usr/lib/crtn.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/lib/.keep0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/nan2008/el/lib/.keep0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/nan2008/el/usr/include/.keep0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/nan2008/el/usr/lib/crt1.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/nan2008/el/usr/lib/crti.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/nan2008/el/usr/lib/crtn.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/nan2008/lib/.keep0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/nan2008/usr/include/.keep0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/nan2008/usr/lib/crt1.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/nan2008/usr/lib/crti.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/nan2008/usr/lib/crtn.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/soft-float/el/lib/.keep0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/soft-float/el/usr/include/.keep0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/soft-float/el/usr/lib/crt1.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/soft-float/el/usr/lib/crti.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/soft-float/el/usr/lib/crtn.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/soft-float/lib/.keep0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/soft-float/usr/include/.keep0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/soft-float/usr/lib/crt1.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/soft-float/usr/lib/crti.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/soft-float/usr/lib/crtn.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/usr/include/.keep0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/usr/lib/crt1.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/usr/lib/crti.o0
-rw-r--r--test/Driver/Inputs/mips_cs_tree/mips-linux-gnu/libc/uclibc/usr/lib/crtn.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/lib/gcc/mips-mti-linux-gnu/4.9.0/uclibc/crtbegin.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/lib/gcc/mips-mti-linux-gnu/4.9.0/uclibc/crtend.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/lib/gcc/mips-mti-linux-gnu/4.9.0/uclibc/el/crtbegin.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/lib/gcc/mips-mti-linux-gnu/4.9.0/uclibc/el/crtend.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/lib/gcc/mips-mti-linux-gnu/4.9.0/uclibc/el/nan2008/crtbegin.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/lib/gcc/mips-mti-linux-gnu/4.9.0/uclibc/el/nan2008/crtend.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/lib/gcc/mips-mti-linux-gnu/4.9.0/uclibc/el/sof/crtbegin.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/lib/gcc/mips-mti-linux-gnu/4.9.0/uclibc/el/sof/crtend.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/lib/gcc/mips-mti-linux-gnu/4.9.0/uclibc/nan2008/crtbegin.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/lib/gcc/mips-mti-linux-gnu/4.9.0/uclibc/nan2008/crtend.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/lib/gcc/mips-mti-linux-gnu/4.9.0/uclibc/sof/crtbegin.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/lib/gcc/mips-mti-linux-gnu/4.9.0/uclibc/sof/crtend.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/el/nan2008/bits/.keep0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/el/sof/bits/.keep0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/nan2008/bits/.keep0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/mips-mti-linux-gnu/include/c++/4.9.0/mips-mti-linux-gnu/uclibc/sof/bits/.keep0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/mips-mti-linux-gnu/lib/uclibc/el/nan2008/.keep0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/mips-mti-linux-gnu/lib/uclibc/el/sof/.keep0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/mips-mti-linux-gnu/lib/uclibc/nan2008/.keep0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/mips-mti-linux-gnu/lib/uclibc/sof/.keep0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/el/nan2008/usr/include/bits/.keep0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/el/nan2008/usr/lib/crt1.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/el/nan2008/usr/lib/crti.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/el/nan2008/usr/lib/crtn.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/el/sof/usr/include/bits/.keep0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/el/sof/usr/lib/crt1.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/el/sof/usr/lib/crti.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/el/sof/usr/lib/crtn.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/el/usr/include/bits/.keep0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/el/usr/lib/crt1.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/el/usr/lib/crti.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/el/usr/lib/crtn.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/nan2008/usr/include/bits/.keep0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/nan2008/usr/lib/crt1.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/nan2008/usr/lib/crti.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/nan2008/usr/lib/crtn.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/sof/usr/include/bits/.keep0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/sof/usr/lib/crt1.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/sof/usr/lib/crti.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/sof/usr/lib/crtn.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/usr/include/bits/.keep0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/usr/lib/crt1.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/usr/lib/crti.o0
-rw-r--r--test/Driver/Inputs/mips_fsf_tree/sysroot/uclibc/usr/lib/crtn.o0
-rw-r--r--test/Driver/aarch64-cpus.c27
-rw-r--r--test/Driver/aarch64-fix-cortex-a53-835769.c13
-rw-r--r--test/Driver/arm-abi.c53
-rw-r--r--test/Driver/arm-alignment.c12
-rw-r--r--test/Driver/arm-cortex-cpus.c14
-rw-r--r--test/Driver/arm-fixed-r9.c2
-rw-r--r--test/Driver/arm-mfpu.c45
-rw-r--r--test/Driver/ast.c7
-rw-r--r--test/Driver/biarch.c41
-rw-r--r--test/Driver/cc1-response-files.c2
-rw-r--r--test/Driver/cl-inputs.c10
-rw-r--r--test/Driver/cl-link-at-file.c22
-rw-r--r--test/Driver/cl-link.c9
-rw-r--r--test/Driver/cl-options.c26
-rw-r--r--test/Driver/cl-outputs.c168
-rw-r--r--test/Driver/cl-zc.cpp59
-rw-r--r--test/Driver/clang-g-opts.c2
-rw-r--r--test/Driver/clang-s-opts.s4
-rw-r--r--test/Driver/clang_f_opts.c150
-rw-r--r--test/Driver/constructors.c10
-rw-r--r--test/Driver/coverage_no_integrated_as.c23
-rw-r--r--test/Driver/crash report spaces.c18
-rw-r--r--test/Driver/crash-report-modules.m10
-rw-r--r--test/Driver/crash-report-null.test7
-rw-r--r--test/Driver/crash-report.c36
-rw-r--r--test/Driver/cross-linux.c28
-rw-r--r--test/Driver/darwin-arch-default.c40
-rw-r--r--test/Driver/darwin-debug-flags.c8
-rw-r--r--test/Driver/darwin-dsymutil.c15
-rw-r--r--test/Driver/darwin-ld-demangle.c8
-rw-r--r--test/Driver/darwin-ld.c18
-rw-r--r--test/Driver/darwin-max-type-align.c15
-rw-r--r--test/Driver/darwin-sanitizer-ld.c8
-rw-r--r--test/Driver/darwin-sdkroot.c7
-rw-r--r--test/Driver/darwin-verify-debug.c5
-rw-r--r--test/Driver/debug-options.c4
-rw-r--r--test/Driver/default-image-name.c7
-rw-r--r--test/Driver/env.c28
-rw-r--r--test/Driver/fatal-warnings.c8
-rw-r--r--test/Driver/fortran.f959
-rw-r--r--test/Driver/freebsd.c12
-rw-r--r--test/Driver/freebsd.cpp (renamed from test/Driver/freebsd.cc)0
-rw-r--r--test/Driver/fsanitize.c87
-rw-r--r--test/Driver/gcc-version-debug.c1
-rw-r--r--test/Driver/gcc_forward.c4
-rw-r--r--test/Driver/hexagon-toolchain-elf.c137
-rw-r--r--test/Driver/hexagon-toolchain.c137
-rw-r--r--test/Driver/ident_md.c2
-rw-r--r--test/Driver/instrprof-ld.c6
-rw-r--r--test/Driver/le32-unknown-nacl.cpp6
-rw-r--r--test/Driver/le64-unknown-unknown.cpp137
-rw-r--r--test/Driver/linux-header-search.cpp18
-rw-r--r--test/Driver/linux-ld.c190
-rw-r--r--test/Driver/lto.c13
-rw-r--r--test/Driver/mips-as.c20
-rw-r--r--test/Driver/mips-cs.cpp174
-rw-r--r--test/Driver/mips-features.c10
-rw-r--r--test/Driver/mips-fsf.cpp162
-rw-r--r--test/Driver/mips-integrated-as.s10
-rw-r--r--test/Driver/mips-reduced-toolchain.cpp2
-rw-r--r--test/Driver/modules.m24
-rw-r--r--test/Driver/modules.mm6
-rw-r--r--test/Driver/msvc_forward.c4
-rw-r--r--test/Driver/netbsd.c141
-rw-r--r--test/Driver/netbsd.cpp96
-rw-r--r--test/Driver/no-canonical-prefixes.c10
-rw-r--r--test/Driver/openbsd.c17
-rw-r--r--test/Driver/parse-progname.c58
-rw-r--r--test/Driver/phases.c66
-rw-r--r--test/Driver/pic.c5
-rw-r--r--test/Driver/ppc-abi.c19
-rw-r--r--test/Driver/ppc-features.cpp16
-rw-r--r--test/Driver/prefixed-tools.c8
-rw-r--r--test/Driver/r600-mcpu.cl18
-rw-r--r--test/Driver/response-file.c23
-rw-r--r--test/Driver/rewrite-legacy-objc.m6
-rw-r--r--test/Driver/rewrite-map-in-diagnostics.c12
-rw-r--r--test/Driver/rewrite-objc.m2
-rw-r--r--test/Driver/sanitizer-ld.c63
-rw-r--r--test/Driver/save-temps.c11
-rw-r--r--test/Driver/sparc-float.c4
-rw-r--r--test/Driver/split-debug.c1
-rw-r--r--test/Driver/split-debug.s1
-rw-r--r--test/Driver/std.c16
-rw-r--r--test/Driver/symbol-rewriter.c21
-rw-r--r--test/Driver/systemz-as.s14
-rw-r--r--test/Driver/thread-model.c15
-rw-r--r--test/Driver/unknown-gcc-arch.c20
-rw-r--r--test/Driver/warning-options.cpp5
-rw-r--r--test/Driver/windows-cross.c40
-rw-r--r--test/Driver/x86-march.c105
-rw-r--r--test/FixIt/fixit-class-method-messaging.m30
-rw-r--r--test/FixIt/fixit-cxx1y-compat.cpp2
-rw-r--r--test/FixIt/fixit-errors.c10
-rw-r--r--test/FixIt/fixit-unrecoverable.cpp4
-rw-r--r--test/FixIt/fixit.cpp49
-rw-r--r--test/FixIt/multiarg-selector-fixit.m15
-rw-r--r--test/FixIt/property-access-fixit.m31
-rw-r--r--test/Frontend/Inputs/profile-sample-use-loc-tracking.prof2
-rw-r--r--test/Frontend/exceptions.c7
-rw-r--r--test/Frontend/invalid-o-level.c7
-rw-r--r--test/Frontend/output-failures.c2
-rw-r--r--test/Frontend/print-header-includes.c3
-rw-r--r--test/Frontend/profile-sample-use-loc-tracking.c19
-rw-r--r--test/Frontend/source-col-map.c37
-rw-r--r--test/Frontend/std.cl9
-rw-r--r--test/Frontend/trigraphs.cpp17
-rw-r--r--test/Frontend/verify-unknown-arg.c6
-rw-r--r--test/Frontend/x86-target-cpu.c30
-rw-r--r--test/Headers/altivec-header.c1
-rw-r--r--test/Headers/altivec-intrin.c18
-rw-r--r--test/Headers/c11.c2
-rw-r--r--test/Headers/cpuid.c18
-rw-r--r--test/Headers/cxx11.cpp3
-rw-r--r--test/Headers/ms-intrin.cpp5
-rw-r--r--test/Headers/x86intrin.c39
-rw-r--r--test/Index/Inputs/complete-at-EOF.c3
-rw-r--r--test/Index/Inputs/declare-objc-predef.h3
-rw-r--r--test/Index/Inputs/module-undef.h2
-rw-r--r--test/Index/Inputs/module.map2
-rw-r--r--test/Index/annotate-deep-statements.cpp4
-rw-r--r--test/Index/attributes-cuda.cu7
-rw-r--r--test/Index/comment-c-decls.c2
-rw-r--r--test/Index/comment-lots-of-unknown-commands.c295
-rw-r--r--test/Index/comment-to-html-xml-conversion.cpp52
-rw-r--r--test/Index/complete-at-EOF.c9
-rw-r--r--test/Index/complete-module-undef.m8
-rw-r--r--test/Index/cursor-dynamic-call.mm14
-rw-r--r--test/Index/cxx11-lambdas.cpp2
-rw-r--r--test/Index/format-comment-cdecls.c2
-rw-r--r--test/Index/get-cursor.cpp131
-rw-r--r--test/Index/index-many-call-ops.cpp3
-rw-r--r--test/Index/index-many-logical-ops.c3
-rw-r--r--test/Index/index-module.m4
-rw-r--r--test/Index/index-templates.cpp32
-rw-r--r--test/Index/overriding-ftemplate-comments.cpp20
-rw-r--r--test/Index/overriding-method-comments.mm4
-rw-r--r--test/Index/preamble_macro_template.cpp2
-rw-r--r--test/Index/print-mangled-name.cpp30
-rw-r--r--test/Index/reparse-predef-objc-protocol.m9
-rw-r--r--test/Index/skip-parsed-bodies/compile_commands.json2
-rw-r--r--test/Index/usrs-cxx0x.cpp10
-rw-r--r--test/Index/usrs.cpp82
-rw-r--r--test/Layout/itanium-union-bitfield.cpp29
-rw-r--r--test/Layout/ms-x86-basic-layout.cpp32
-rw-r--r--test/Layout/ms-x86-empty-layout.c88
-rw-r--r--test/Layout/ms-x86-pack-and-align.cpp154
-rw-r--r--test/Layout/ms-x86-vtordisp.cpp26
-rw-r--r--test/Lexer/bcpl-escaped-newline.c2
-rw-r--r--test/Lexer/block_cmt_end.c10
-rw-r--r--test/Lexer/constants.c6
-rw-r--r--test/Lexer/cxx-features.cpp36
-rw-r--r--test/Lexer/cxx1z-trigraphs.cpp2
-rw-r--r--test/Lexer/escape_newline.c8
-rw-r--r--test/Lexer/has_extension.c12
-rw-r--r--test/Lexer/has_feature_c1x.c22
-rw-r--r--test/Lexer/has_feature_cxx0x.cpp10
-rw-r--r--test/Lexer/ms-compatibility.c11
-rw-r--r--test/Lexer/string-literal-errors.cpp2
-rw-r--r--test/Lexer/utf8-char-literal.cpp9
-rw-r--r--test/Lexer/wchar-signedness.c1
-rw-r--r--test/Misc/ast-dump-arm-attr.c10
-rw-r--r--test/Misc/ast-dump-attr.cpp17
-rw-r--r--test/Misc/ast-dump-color.cpp24
-rw-r--r--test/Misc/ast-dump-decl.cpp5
-rw-r--r--test/Misc/ast-dump-invalid.cpp20
-rw-r--r--test/Misc/ast-dump-lookups.cpp38
-rw-r--r--test/Misc/ast-dump-msp430-attr.c10
-rw-r--r--test/Misc/ast-dump-templates.cpp12
-rw-r--r--test/Misc/ast-print-objectivec.m41
-rw-r--r--test/Misc/ast-print-pragmas.cpp15
-rw-r--r--test/Misc/attr-source-range.cpp16
-rw-r--r--test/Misc/diag-special-chars.c11
-rw-r--r--test/Misc/serialized-diags-driver.c20
-rw-r--r--test/Misc/serialized-diags.m2
-rw-r--r--test/Misc/warning-flags.c9
-rw-r--r--test/Modules/Inputs/AddRemovePrivate.framework/Headers/AddRemovePrivate.h1
-rw-r--r--test/Modules/Inputs/AddRemovePrivate.framework/Modules/module.modulemap1
-rw-r--r--test/Modules/Inputs/AddRemovePrivate.framework/Modules/module.private.modulemap1
-rw-r--r--test/Modules/Inputs/PR20399/FirstHeader.h14
-rw-r--r--test/Modules/Inputs/PR20399/SecondHeader.h13
-rw-r--r--test/Modules/Inputs/PR20399/module.modulemap18
-rw-r--r--test/Modules/Inputs/PR20399/stl_map.h13
-rw-r--r--test/Modules/Inputs/PR20399/vector17
-rw-r--r--test/Modules/Inputs/PR20786/TBranchProxy.h2
-rw-r--r--test/Modules/Inputs/PR20786/TFormula.h1
-rw-r--r--test/Modules/Inputs/PR20786/TMath.h1
-rw-r--r--test/Modules/Inputs/PR20786/module.modulemap3
-rw-r--r--test/Modules/Inputs/PR20786/random.h12
-rw-r--r--test/Modules/Inputs/StdDef/include_again.h2
-rw-r--r--test/Modules/Inputs/StdDef/module.map10
-rw-r--r--test/Modules/Inputs/StdDef/ptrdiff_t.h2
-rw-r--r--test/Modules/Inputs/attr-unavailable/module.modulemap4
-rw-r--r--test/Modules/Inputs/attr-unavailable/oneA.h4
-rw-r--r--test/Modules/Inputs/attr-unavailable/oneB.h5
-rw-r--r--test/Modules/Inputs/attr-unavailable/oneC.h3
-rw-r--r--test/Modules/Inputs/attr-unavailable/two.h6
-rw-r--r--test/Modules/Inputs/cxx-decls-imported.h24
-rw-r--r--test/Modules/Inputs/cxx-decls-merged.h26
-rw-r--r--test/Modules/Inputs/cxx-decls-premerged.h3
-rw-r--r--test/Modules/Inputs/cxx-irgen-left.h15
-rw-r--r--test/Modules/Inputs/cxx-irgen-right.h10
-rw-r--r--test/Modules/Inputs/cxx-irgen-top.h35
-rw-r--r--test/Modules/Inputs/cxx-lookup/a.h2
-rw-r--r--test/Modules/Inputs/cxx-lookup/b.h3
-rw-r--r--test/Modules/Inputs/cxx-lookup/c1.h3
-rw-r--r--test/Modules/Inputs/cxx-lookup/c2.h2
-rw-r--r--test/Modules/Inputs/cxx-lookup/module.modulemap8
-rw-r--r--test/Modules/Inputs/cxx-lookup/x.h2
-rw-r--r--test/Modules/Inputs/cxx-lookup/y.h5
-rw-r--r--test/Modules/Inputs/cxx-templates-a.h31
-rw-r--r--test/Modules/Inputs/cxx-templates-b.h21
-rw-r--r--test/Modules/Inputs/cxx-templates-c.h15
-rw-r--r--test/Modules/Inputs/cxx-templates-common.h18
-rw-r--r--test/Modules/Inputs/cxx-templates-d.h9
-rw-r--r--test/Modules/Inputs/cxx-templates-textual.h2
-rw-r--r--test/Modules/Inputs/declare-use/k.h8
-rw-r--r--test/Modules/Inputs/declare-use/l.h8
-rw-r--r--test/Modules/Inputs/declare-use/m.h8
-rw-r--r--test/Modules/Inputs/declare-use/m2.h1
-rw-r--r--test/Modules/Inputs/declare-use/module.map14
-rw-r--r--test/Modules/Inputs/dependency-gen-base.modulemap6
-rw-r--r--test/Modules/Inputs/dependency-gen-base2.modulemap4
-rw-r--r--test/Modules/Inputs/dependency-gen-included.h9
-rw-r--r--test/Modules/Inputs/dependency-gen-included2.h7
-rw-r--r--test/Modules/Inputs/dependency-gen.h11
-rw-r--r--test/Modules/Inputs/diamond_left.h2
-rw-r--r--test/Modules/Inputs/diamond_top.h1
-rw-r--r--test/Modules/Inputs/explicit-build/a.h5
-rw-r--r--test/Modules/Inputs/explicit-build/b.h7
-rw-r--r--test/Modules/Inputs/explicit-build/c.h7
-rw-r--r--test/Modules/Inputs/explicit-build/module.modulemap3
-rw-r--r--test/Modules/Inputs/filename/a.h1
-rw-r--r--test/Modules/Inputs/filename/module.map3
-rw-r--r--test/Modules/Inputs/include_next/x/a.h2
-rw-r--r--test/Modules/Inputs/include_next/x/module.modulemap2
-rw-r--r--test/Modules/Inputs/include_next/x/subdir/b.h2
-rw-r--r--test/Modules/Inputs/include_next/y/a.h1
-rw-r--r--test/Modules/Inputs/include_next/y/b.h1
-rw-r--r--test/Modules/Inputs/include_next/y/module.modulemap2
-rw-r--r--test/Modules/Inputs/inferred-attr/InferredExternC.framework/Headers/InferredExternC.h1
-rw-r--r--test/Modules/Inputs/inferred-attr/module.modulemap1
-rw-r--r--test/Modules/Inputs/macros_bottom.h3
-rw-r--r--test/Modules/Inputs/macros_right_undef.h1
-rw-r--r--test/Modules/Inputs/macros_top.h1
-rw-r--r--test/Modules/Inputs/malformed/c.h1
-rw-r--r--test/Modules/Inputs/malformed/module.map1
-rw-r--r--test/Modules/Inputs/merge-typedefs/a1.h11
-rw-r--r--test/Modules/Inputs/merge-typedefs/a2.h3
-rw-r--r--test/Modules/Inputs/merge-typedefs/b1.h11
-rw-r--r--test/Modules/Inputs/merge-typedefs/b2.h3
-rw-r--r--test/Modules/Inputs/merge-typedefs/module.modulemap9
-rw-r--r--test/Modules/Inputs/merge-using-decls/a.h43
-rw-r--r--test/Modules/Inputs/merge-using-decls/b.h50
-rw-r--r--test/Modules/Inputs/merge-using-decls/module.modulemap2
-rw-r--r--test/Modules/Inputs/modular_maps-moduleb-cwd.map4
-rw-r--r--test/Modules/Inputs/modular_maps/c.h4
-rw-r--r--test/Modules/Inputs/modular_maps/common.h2
-rw-r--r--test/Modules/Inputs/modular_maps/modulea-cwd.map7
-rw-r--r--test/Modules/Inputs/modular_maps/modulec-cwd.map3
-rw-r--r--test/Modules/Inputs/modular_maps/modulec.map3
-rw-r--r--test/Modules/Inputs/module.map16
-rw-r--r--test/Modules/Inputs/odr/a.h6
-rw-r--r--test/Modules/Inputs/odr/b.h8
-rw-r--r--test/Modules/Inputs/pch-used.h1
-rw-r--r--test/Modules/Inputs/pr19692/AIX.h2
-rw-r--r--test/Modules/Inputs/pr19692/Blah.h2
-rw-r--r--test/Modules/Inputs/pr19692/TBlah.h3
-rw-r--r--test/Modules/Inputs/pr19692/TFoo.h1
-rw-r--r--test/Modules/Inputs/pr19692/module.map3
-rw-r--r--test/Modules/Inputs/pr19692/stdint.h2
-rw-r--r--test/Modules/Inputs/preprocess-prefix.h2
-rw-r--r--test/Modules/Inputs/relative-dep-gen-1.h1
-rw-r--r--test/Modules/Inputs/relative-dep-gen-2.h1
-rw-r--r--test/Modules/Inputs/relative-dep-gen-cwd.modulemap4
-rw-r--r--test/Modules/Inputs/relative-dep-gen.modulemap4
-rw-r--r--test/Modules/Inputs/templates-left.h10
-rw-r--r--test/Modules/Inputs/templates-right.h4
-rw-r--r--test/Modules/Inputs/templates-top.h17
-rw-r--r--test/Modules/Inputs/va_list/module.modulemap2
-rw-r--r--test/Modules/Inputs/va_list/va_list_a.h1
-rw-r--r--test/Modules/Inputs/va_list/va_list_b.h2
-rw-r--r--test/Modules/Inputs/warn-unused-local-typedef.h1
-rw-r--r--test/Modules/Rmodule-build.m23
-rw-r--r--test/Modules/Werror-Wsystem-headers.m7
-rw-r--r--test/Modules/Werror.m1
-rw-r--r--test/Modules/add-remove-private.m28
-rw-r--r--test/Modules/attr-unavailable.m25
-rw-r--r--test/Modules/autolink.m16
-rw-r--r--test/Modules/cstd.m2
-rw-r--r--test/Modules/cxx-decls.cpp20
-rw-r--r--test/Modules/cxx-irgen.cpp56
-rw-r--r--test/Modules/cxx-lookup.cpp6
-rw-r--r--test/Modules/cxx-templates.cpp46
-rw-r--r--test/Modules/dependency-gen.m4
-rw-r--r--test/Modules/dependency-gen.modulemap.cpp18
-rw-r--r--test/Modules/explicit-build-flags.cpp49
-rw-r--r--test/Modules/explicit-build-relpath.cpp49
-rw-r--r--test/Modules/explicit-build.cpp175
-rw-r--r--test/Modules/filename.cpp9
-rw-r--r--test/Modules/fmodules-validate-once-per-build-session.c28
-rw-r--r--test/Modules/implementation-of-module.m29
-rw-r--r--test/Modules/include_next.c11
-rw-r--r--test/Modules/incomplete-module.m6
-rw-r--r--test/Modules/inferred-attributes.mm6
-rw-r--r--test/Modules/load-after-failure.m1
-rw-r--r--test/Modules/macro-reexport/c1.h2
-rw-r--r--test/Modules/macro-reexport/d1.h3
-rw-r--r--test/Modules/macro-reexport/e1.h2
-rw-r--r--test/Modules/macro-reexport/e2.h2
-rw-r--r--test/Modules/macro-reexport/f1.h3
-rw-r--r--test/Modules/macro-reexport/macro-reexport.cpp25
-rw-r--r--test/Modules/macro-reexport/module.modulemap8
-rw-r--r--test/Modules/macros.c6
-rw-r--r--test/Modules/malformed.cpp34
-rw-r--r--test/Modules/merge-typedefs.cpp10
-rw-r--r--test/Modules/merge-using-decls.cpp69
-rw-r--r--test/Modules/modular_maps.cpp20
-rw-r--r--test/Modules/module_file_info.m6
-rw-r--r--test/Modules/modules-with-same-name.m1
-rw-r--r--test/Modules/no-implicit-maps.cpp3
-rw-r--r--test/Modules/no-stale-modtime.m1
-rw-r--r--test/Modules/odr.cpp3
-rw-r--r--test/Modules/pch-used.m1
-rw-r--r--test/Modules/pr19692.cpp7
-rw-r--r--test/Modules/pr20399.cpp2
-rw-r--r--test/Modules/pr20786.cpp2
-rw-r--r--test/Modules/pr21217.cpp3
-rw-r--r--test/Modules/preprocess.m21
-rw-r--r--test/Modules/rebuild.m45
-rw-r--r--test/Modules/relative-dep-gen.cpp26
-rw-r--r--test/Modules/require-modular-includes.m1
-rw-r--r--test/Modules/resolution-change.m8
-rw-r--r--test/Modules/stddef.c13
-rw-r--r--test/Modules/system_headers.m7
-rw-r--r--test/Modules/system_version.m1
-rw-r--r--test/Modules/templates-2.mm36
-rw-r--r--test/Modules/templates.mm23
-rw-r--r--test/Modules/textual-headers.cpp18
-rw-r--r--test/Modules/va_list.m27
-rw-r--r--test/Modules/validate-system-headers.m14
-rw-r--r--test/Modules/warn-unused-local-typedef.cpp9
-rw-r--r--test/OpenMP/atomic_ast_print.cpp176
-rw-r--r--test/OpenMP/atomic_messages.c102
-rw-r--r--test/OpenMP/atomic_messages.cpp297
-rw-r--r--test/OpenMP/barrier_codegen.cpp41
-rw-r--r--test/OpenMP/critical_codegen.cpp38
-rw-r--r--test/OpenMP/flush_codegen.cpp34
-rw-r--r--test/OpenMP/for_codegen.cpp91
-rw-r--r--test/OpenMP/for_firstprivate_messages.cpp33
-rw-r--r--test/OpenMP/for_loop_messages.cpp39
-rw-r--r--test/OpenMP/for_misc_messages.c18
-rw-r--r--test/OpenMP/for_private_messages.cpp14
-rw-r--r--test/OpenMP/for_simd_aligned_messages.cpp202
-rw-r--r--test/OpenMP/for_simd_ast_print.cpp128
-rw-r--r--test/OpenMP/for_simd_collapse_messages.cpp83
-rw-r--r--test/OpenMP/for_simd_firstprivate_messages.cpp293
-rw-r--r--test/OpenMP/for_simd_lastprivate_messages.cpp266
-rw-r--r--test/OpenMP/for_simd_linear_messages.cpp206
-rw-r--r--test/OpenMP/for_simd_loop_messages.cpp734
-rw-r--r--test/OpenMP/for_simd_misc_messages.c659
-rw-r--r--test/OpenMP/for_simd_private_messages.cpp173
-rw-r--r--test/OpenMP/for_simd_reduction_messages.cpp350
-rw-r--r--test/OpenMP/for_simd_safelen_messages.cpp79
-rw-r--r--test/OpenMP/for_simd_schedule_messages.cpp91
-rw-r--r--test/OpenMP/master_codegen.cpp46
-rw-r--r--test/OpenMP/nesting_of_regions.cpp2237
-rw-r--r--test/OpenMP/ordered_ast_print.cpp59
-rw-r--r--test/OpenMP/ordered_messages.cpp54
-rw-r--r--test/OpenMP/parallel_codegen.cpp16
-rw-r--r--test/OpenMP/parallel_firstprivate_codegen.cpp255
-rw-r--r--test/OpenMP/parallel_firstprivate_messages.cpp18
-rw-r--r--test/OpenMP/parallel_for_firstprivate_messages.cpp28
-rw-r--r--test/OpenMP/parallel_for_loop_messages.cpp36
-rw-r--r--test/OpenMP/parallel_for_misc_messages.c11
-rw-r--r--test/OpenMP/parallel_for_private_messages.cpp14
-rw-r--r--test/OpenMP/parallel_for_simd_aligned_messages.cpp202
-rw-r--r--test/OpenMP/parallel_for_simd_ast_print.cpp128
-rw-r--r--test/OpenMP/parallel_for_simd_collapse_messages.cpp83
-rw-r--r--test/OpenMP/parallel_for_simd_copyin_messages.cpp93
-rw-r--r--test/OpenMP/parallel_for_simd_default_messages.cpp36
-rw-r--r--test/OpenMP/parallel_for_simd_firstprivate_messages.cpp250
-rw-r--r--test/OpenMP/parallel_for_simd_if_messages.cpp69
-rw-r--r--test/OpenMP/parallel_for_simd_lastprivate_messages.cpp226
-rw-r--r--test/OpenMP/parallel_for_simd_linear_messages.cpp206
-rw-r--r--test/OpenMP/parallel_for_simd_loop_messages.cpp644
-rw-r--r--test/OpenMP/parallel_for_simd_messages.cpp87
-rw-r--r--test/OpenMP/parallel_for_simd_misc_messages.c657
-rw-r--r--test/OpenMP/parallel_for_simd_num_threads_messages.cpp65
-rw-r--r--test/OpenMP/parallel_for_simd_private_messages.cpp173
-rw-r--r--test/OpenMP/parallel_for_simd_proc_bind_messages.cpp35
-rw-r--r--test/OpenMP/parallel_for_simd_reduction_messages.cpp295
-rw-r--r--test/OpenMP/parallel_for_simd_safelen_messages.cpp79
-rw-r--r--test/OpenMP/parallel_for_simd_schedule_messages.cpp91
-rw-r--r--test/OpenMP/parallel_if_codegen.cpp124
-rw-r--r--test/OpenMP/parallel_num_threads_codegen.cpp84
-rw-r--r--test/OpenMP/parallel_private_codegen.cpp181
-rw-r--r--test/OpenMP/parallel_private_messages.cpp14
-rw-r--r--test/OpenMP/parallel_sections_firstprivate_messages.cpp28
-rw-r--r--test/OpenMP/parallel_sections_private_messages.cpp14
-rw-r--r--test/OpenMP/sections_firstprivate_messages.cpp28
-rw-r--r--test/OpenMP/sections_private_messages.cpp14
-rw-r--r--test/OpenMP/simd_aligned_messages.cpp3
-rw-r--r--test/OpenMP/simd_codegen.cpp407
-rw-r--r--test/OpenMP/simd_loop_messages.cpp34
-rw-r--r--test/OpenMP/simd_metadata.c29
-rw-r--r--test/OpenMP/simd_misc_messages.c1039
-rw-r--r--test/OpenMP/simd_private_messages.cpp14
-rw-r--r--test/OpenMP/single_copyprivate_messages.cpp20
-rw-r--r--test/OpenMP/single_firstprivate_messages.cpp28
-rw-r--r--test/OpenMP/single_private_messages.cpp14
-rw-r--r--test/OpenMP/target_ast_print.cpp57
-rw-r--r--test/OpenMP/target_if_messages.cpp46
-rw-r--r--test/OpenMP/target_messages.cpp64
-rw-r--r--test/OpenMP/task_firstprivate_messages.cpp18
-rw-r--r--test/OpenMP/task_messages.cpp48
-rw-r--r--test/OpenMP/task_private_messages.cpp14
-rw-r--r--test/OpenMP/teams_ast_print.cpp112
-rw-r--r--test/OpenMP/teams_default_messages.cpp34
-rw-r--r--test/OpenMP/teams_firstprivate_messages.cpp124
-rw-r--r--test/OpenMP/teams_messages.cpp82
-rw-r--r--test/OpenMP/teams_private_messages.cpp119
-rw-r--r--test/OpenMP/teams_reduction_messages.cpp307
-rw-r--r--test/OpenMP/teams_shared_messages.cpp125
-rw-r--r--test/OpenMP/threadprivate_codegen.cpp707
-rw-r--r--test/OpenMP/threadprivate_messages.cpp3
-rw-r--r--test/PCH/chain-openmp-threadprivate.cpp26
-rw-r--r--test/PCH/cxx-namespaces.cpp4
-rw-r--r--test/PCH/cxx-traits.cpp65
-rw-r--r--test/PCH/cxx-traits.h53
-rw-r--r--test/PCH/cxx1y-lambdas.mm2
-rw-r--r--test/PCH/pragma-loop.cpp28
-rw-r--r--test/PCH/pragma-optimize.c6
-rw-r--r--test/PCH/stmt-attrs.cpp48
-rw-r--r--test/PCH/verify_pch.m14
-rw-r--r--test/Parser/MicrosoftExtensions.c8
-rw-r--r--test/Parser/MicrosoftExtensions.cpp20
-rw-r--r--test/Parser/PR21872.cpp4
-rw-r--r--test/Parser/access-spec-attrs.cpp1
-rw-r--r--test/Parser/altivec.c31
-rw-r--r--test/Parser/asm.cpp1
-rw-r--r--test/Parser/atomic.c3
-rw-r--r--test/Parser/attributes.c10
-rw-r--r--test/Parser/c11-noreturn.c4
-rw-r--r--test/Parser/c1x-alignas.c2
-rw-r--r--test/Parser/colon-colon-parentheses.cpp10
-rw-r--r--test/Parser/cxx-altivec.cpp17
-rw-r--r--test/Parser/cxx-ambig-init-templ.cpp6
-rw-r--r--test/Parser/cxx-attributes.cpp2
-rw-r--r--test/Parser/cxx-class.cpp48
-rw-r--r--test/Parser/cxx-default-args.cpp10
-rw-r--r--test/Parser/cxx-member-initializers.cpp30
-rw-r--r--test/Parser/cxx-template-argument.cpp5
-rw-r--r--test/Parser/cxx-template-decl.cpp28
-rw-r--r--test/Parser/cxx-variadic-func.cpp7
-rw-r--r--test/Parser/cxx0x-attributes.cpp16
-rw-r--r--test/Parser/cxx0x-decl.cpp10
-rw-r--r--test/Parser/cxx0x-in-cxx98.cpp4
-rw-r--r--test/Parser/cxx0x-lambda-expressions.cpp17
-rw-r--r--test/Parser/cxx11-templates.cpp46
-rw-r--r--test/Parser/cxx1z-attributes.cpp14
-rw-r--r--test/Parser/cxx1z-fold-expressions.cpp29
-rw-r--r--test/Parser/cxx1z-nested-namespace-definition.cpp38
-rw-r--r--test/Parser/debugger-import-module.m6
-rw-r--r--test/Parser/declarators.c4
-rw-r--r--test/Parser/eof2.cpp15
-rw-r--r--test/Parser/ms-if-exists.c87
-rw-r--r--test/Parser/ms-inline-asm.c5
-rw-r--r--test/Parser/namespaces.cpp6
-rw-r--r--test/Parser/nested-namespaces-recovery.cpp24
-rw-r--r--test/Parser/opencl-cl20.cl26
-rw-r--r--test/Parser/pragma-loop.cpp147
-rw-r--r--test/Parser/pragma-unroll.cpp72
-rw-r--r--test/Parser/switch-recovery.cpp9
-rw-r--r--test/Parser/vsx.c10
-rw-r--r--test/Preprocessor/_Pragma.c2
-rw-r--r--test/Preprocessor/aarch64-target-features.c6
-rw-r--r--test/Preprocessor/arm-acle-6.4.c6
-rw-r--r--test/Preprocessor/arm-acle-6.5.c22
-rw-r--r--test/Preprocessor/arm-target-features.c64
-rw-r--r--test/Preprocessor/cxx_oper_keyword_ms_compat.cpp2
-rw-r--r--test/Preprocessor/feature_tests.c9
-rw-r--r--test/Preprocessor/has_attribute.c5
-rw-r--r--test/Preprocessor/has_attribute.cpp68
-rw-r--r--test/Preprocessor/headermap-rel2.c4
-rw-r--r--test/Preprocessor/init.c227
-rw-r--r--test/Preprocessor/iwithprefix.c2
-rw-r--r--test/Preprocessor/line-directive.c2
-rw-r--r--test/Preprocessor/macro-reserved-cxx11.cpp7
-rw-r--r--test/Preprocessor/macro-reserved-ms.c7
-rw-r--r--test/Preprocessor/macro-reserved.c64
-rw-r--r--test/Preprocessor/macro-reserved.cpp63
-rw-r--r--test/Preprocessor/macro_arg_directive.c5
-rw-r--r--test/Preprocessor/macro_paste_bad.c8
-rw-r--r--test/Preprocessor/predefined-arch-macros.c153
-rw-r--r--test/Preprocessor/predefined-exceptions.m2
-rw-r--r--test/Preprocessor/predefined-macros.c102
-rw-r--r--test/Preprocessor/stdint.c107
-rw-r--r--test/Preprocessor/x86_target_features.c53
-rw-r--r--test/Profile/Inputs/c-general.profdata.v1bin0 -> 2000 bytes
-rw-r--r--test/Profile/c-captured.c14
-rw-r--r--test/Profile/c-counter-overflows.c6
-rw-r--r--test/Profile/c-general.c147
-rw-r--r--test/Profile/c-linkage-available_externally.c3
-rw-r--r--test/Profile/c-linkage.c17
-rw-r--r--test/Profile/c-unreachable-after-switch.c15
-rw-r--r--test/Profile/cxx-class.cpp8
-rw-r--r--test/Profile/cxx-lambda.cpp12
-rw-r--r--test/Profile/cxx-linkage.cpp13
-rw-r--r--test/Profile/cxx-templates.cpp4
-rw-r--r--test/Profile/cxx-throws.cpp12
-rw-r--r--test/Profile/objc-general.m10
-rw-r--r--test/Rewriter/rewrite-block-literal.mm2
-rw-r--r--test/Rewriter/rewrite-modern-block.mm3
-rw-r--r--test/Rewriter/rewrite-modern-captured-nested-bvar.mm2
-rw-r--r--test/Sema/128bitfloat.cpp (renamed from test/Sema/128bitfloat.cc)0
-rw-r--r--test/Sema/128bitint.c4
-rw-r--r--test/Sema/MicrosoftExtensions.c25
-rw-r--r--test/Sema/align_value.c32
-rw-r--r--test/Sema/anonymous-struct-union-c11.c4
-rw-r--r--test/Sema/anonymous-struct-union.c12
-rw-r--r--test/Sema/arm-darwin-aapcs.cpp1
-rw-r--r--test/Sema/arm64-inline-asm.c2
-rw-r--r--test/Sema/arm64-neon-args.c2
-rw-r--r--test/Sema/arm_acle.c16
-rw-r--r--test/Sema/array-init.c4
-rw-r--r--test/Sema/asm.c41
-rw-r--r--test/Sema/ast-print.c6
-rw-r--r--test/Sema/atomic-ops.c73
-rw-r--r--test/Sema/attr-bounded.c30
-rw-r--r--test/Sema/attr-deprecated.c4
-rw-r--r--test/Sema/attr-flag-enum.c73
-rw-r--r--test/Sema/attr-msp430.c12
-rw-r--r--test/Sema/attr-naked.c40
-rw-r--r--test/Sema/attr-nonnull.c7
-rw-r--r--test/Sema/attr-ownership.c5
-rw-r--r--test/Sema/big-endian-neon-initializers.c2
-rw-r--r--test/Sema/bitfield.c22
-rw-r--r--test/Sema/block-misc.c2
-rw-r--r--test/Sema/builtin-assume-aligned.c60
-rw-r--r--test/Sema/builtin-assume.c9
-rw-r--r--test/Sema/builtin-object-size.c28
-rw-r--r--test/Sema/builtins-arm.c10
-rw-r--r--test/Sema/builtins-arm64.c7
-rw-r--r--test/Sema/builtins-x86.c20
-rw-r--r--test/Sema/builtins.c56
-rw-r--r--test/Sema/call-with-static-chain.c11
-rw-r--r--test/Sema/callingconv.c2
-rw-r--r--test/Sema/constructor-attribute.c1
-rw-r--r--test/Sema/decl-microsoft-call-conv.c35
-rw-r--r--test/Sema/dllexport.c3
-rw-r--r--test/Sema/dllimport.c34
-rw-r--r--test/Sema/expr-comma-c99.c3
-rw-r--r--test/Sema/expr-comma.c3
-rw-r--r--test/Sema/exprs.c6
-rw-r--r--test/Sema/format-strings-gnu.c8
-rw-r--r--test/Sema/format-strings-ms.c89
-rw-r--r--test/Sema/format-strings.c2
-rw-r--r--test/Sema/gnu-attributes.c18
-rw-r--r--test/Sema/inline-asm-validate-aarch64.c38
-rw-r--r--test/Sema/inline-asm-validate-x86.c105
-rw-r--r--test/Sema/inline-asm-validate.c3
-rw-r--r--test/Sema/ms-inline-asm.c85
-rw-r--r--test/Sema/ms_bitfield_layout.c530
-rw-r--r--test/Sema/nonnull.c107
-rw-r--r--test/Sema/parentheses.cpp106
-rw-r--r--test/Sema/scope-check.c36
-rw-r--r--test/Sema/sentinel-attribute.c13
-rw-r--r--test/Sema/sizeof-struct-non-zero-as-member.cl18
-rw-r--r--test/Sema/statements.c2
-rw-r--r--test/Sema/static-array.c4
-rw-r--r--test/Sema/stdcall-fastcall.c2
-rw-r--r--test/Sema/string-plus-char.c15
-rw-r--r--test/Sema/struct-packed-align.c10
-rw-r--r--test/Sema/switch-1.c5
-rw-r--r--test/Sema/switch.c12
-rw-r--r--test/Sema/types.c18
-rw-r--r--test/Sema/typo-correction.c25
-rw-r--r--test/Sema/var-redecl.c12
-rw-r--r--test/Sema/warn-cast-qual.c29
-rw-r--r--test/Sema/warn-string-conversion.c17
-rw-r--r--test/Sema/warn-tautological-compare.c86
-rw-r--r--test/Sema/warn-thread-safety-analysis.c6
-rw-r--r--test/Sema/warn-unsequenced.c12
-rw-r--r--test/Sema/warn-unused-value.c25
-rw-r--r--test/Sema/wchar.c4
-rw-r--r--test/SemaCUDA/amdgpu-num-gpr-attr.cu14
-rw-r--r--test/SemaCUDA/function-target.cu35
-rw-r--r--test/SemaCUDA/implicit-copy.cu51
-rw-r--r--test/SemaCUDA/implicit-intrinsic.cu10
-rw-r--r--test/SemaCUDA/implicit-member-target-collision-cxx11.cu111
-rw-r--r--test/SemaCUDA/implicit-member-target-collision.cu57
-rw-r--r--test/SemaCUDA/implicit-member-target.cu186
-rw-r--r--test/SemaCUDA/launch_bounds.cu5
-rw-r--r--test/SemaCUDA/method-target.cu71
-rw-r--r--test/SemaCXX/Inputs/header-with-pragma-optimize-off.h5
-rw-r--r--test/SemaCXX/Inputs/override-system-header.h6
-rw-r--r--test/SemaCXX/MicrosoftCompatibility.cpp10
-rw-r--r--test/SemaCXX/MicrosoftExtensions.cpp8
-rw-r--r--test/SemaCXX/MicrosoftSuper.cpp149
-rw-r--r--test/SemaCXX/PR10177.cpp31
-rw-r--r--test/SemaCXX/PR20705.cpp21
-rw-r--r--test/SemaCXX/align_value.cpp26
-rw-r--r--test/SemaCXX/anonymous-union.cpp6
-rw-r--r--test/SemaCXX/arrow-operator.cpp5
-rw-r--r--test/SemaCXX/ast-print.cpp5
-rw-r--r--test/SemaCXX/atomic-type.cpp4
-rw-r--r--test/SemaCXX/attr-cxx0x-fixit.cpp5
-rw-r--r--test/SemaCXX/attr-flag-enum-reject.cpp4
-rw-r--r--test/SemaCXX/attr-gnu.cpp29
-rw-r--r--test/SemaCXX/attr-nodebug.cpp4
-rw-r--r--test/SemaCXX/attr-nonnull.cpp4
-rw-r--r--test/SemaCXX/attr-optnone.cpp38
-rw-r--r--test/SemaCXX/attr-print.cpp9
-rw-r--r--test/SemaCXX/attributed-auto-deduction.cpp20
-rw-r--r--test/SemaCXX/bitfield.cpp32
-rw-r--r--test/SemaCXX/blocks.cpp45
-rw-r--r--test/SemaCXX/builtin-assume-aligned-tmpl.cpp87
-rw-r--r--test/SemaCXX/builtin-assume-aligned.cpp49
-rw-r--r--test/SemaCXX/call-with-static-chain.cpp15
-rw-r--r--test/SemaCXX/complex-folding.cpp90
-rw-r--r--test/SemaCXX/const-cast.cpp3
-rw-r--r--test/SemaCXX/constant-expression-cxx11.cpp126
-rw-r--r--test/SemaCXX/constant-expression-cxx1y.cpp31
-rw-r--r--test/SemaCXX/constexpr-value-init.cpp6
-rw-r--r--test/SemaCXX/conversion-function.cpp12
-rw-r--r--test/SemaCXX/conversion.cpp20
-rw-r--r--test/SemaCXX/crashes.cpp6
-rw-r--r--test/SemaCXX/cxx-deprecated.cpp26
-rw-r--r--test/SemaCXX/cxx0x-compat.cpp8
-rw-r--r--test/SemaCXX/cxx0x-cursory-default-delete.cpp2
-rw-r--r--test/SemaCXX/cxx0x-initializer-references.cpp6
-rw-r--r--test/SemaCXX/cxx11-ast-print.cpp2
-rw-r--r--test/SemaCXX/cxx11-thread-unsupported.cpp5
-rw-r--r--test/SemaCXX/cxx1y-constexpr-not-const.cpp2
-rw-r--r--test/SemaCXX/cxx1y-deduced-return-type.cpp13
-rw-r--r--test/SemaCXX/cxx1y-generic-lambdas.cpp32
-rw-r--r--test/SemaCXX/cxx1y-variable-templates_in_class.cpp10
-rw-r--r--test/SemaCXX/cxx98-compat-flags.cpp4
-rw-r--r--test/SemaCXX/cxx98-compat-pedantic.cpp31
-rw-r--r--test/SemaCXX/cxx98-compat.cpp65
-rw-r--r--test/SemaCXX/decl-init-ref.cpp2
-rw-r--r--test/SemaCXX/decl-microsoft-call-conv.cpp13
-rw-r--r--test/SemaCXX/default1.cpp6
-rw-r--r--test/SemaCXX/default2.cpp6
-rw-r--r--test/SemaCXX/dependent-noexcept-unevaluated.cpp3
-rw-r--r--test/SemaCXX/deprecated.cpp8
-rw-r--r--test/SemaCXX/devirtualize-vtable-marking.cpp47
-rw-r--r--test/SemaCXX/dllexport.cpp58
-rw-r--r--test/SemaCXX/dllimport.cpp344
-rw-r--r--test/SemaCXX/enable_if.cpp41
-rw-r--r--test/SemaCXX/enum-scoped.cpp8
-rw-r--r--test/SemaCXX/exceptions.cpp24
-rw-r--r--test/SemaCXX/explicit.cpp2
-rw-r--r--test/SemaCXX/flexible-array-test.cpp6
-rw-r--r--test/SemaCXX/for-range-examples.cpp20
-rw-r--r--test/SemaCXX/friend.cpp55
-rw-r--r--test/SemaCXX/goto.cpp4
-rw-r--r--test/SemaCXX/implicit-exception-spec.cpp35
-rw-r--r--test/SemaCXX/issue547.cpp12
-rw-r--r--test/SemaCXX/lambda-expressions.cpp80
-rw-r--r--test/SemaCXX/libstdcxx_explicit_init_list_hack.cpp (renamed from test/SemaCXX/cxx0x-initializer-stdinitializerlist-system-header.cpp)0
-rw-r--r--test/SemaCXX/libstdcxx_is_pod_hack.cpp15
-rw-r--r--test/SemaCXX/libstdcxx_pair_swap_hack.cpp74
-rw-r--r--test/SemaCXX/member-init.cpp84
-rw-r--r--test/SemaCXX/member-pointer-ms.cpp19
-rw-r--r--test/SemaCXX/namespace-alias.cpp6
-rw-r--r--test/SemaCXX/nonnull.cpp5
-rw-r--r--test/SemaCXX/nullptr.cpp2
-rw-r--r--test/SemaCXX/overloaded-operator.cpp12
-rw-r--r--test/SemaCXX/override-in-system-header.cpp19
-rw-r--r--test/SemaCXX/pragma-optimize.cpp53
-rw-r--r--test/SemaCXX/predefined-expr.cpp16
-rw-r--r--test/SemaCXX/return-noreturn.cpp100
-rw-r--r--test/SemaCXX/return.cpp8
-rw-r--r--test/SemaCXX/runtimediag-ppe.cpp2
-rw-r--r--test/SemaCXX/scope-check.cpp38
-rw-r--r--test/SemaCXX/statements.cpp19
-rw-r--r--test/SemaCXX/string-plus-int.cpp5
-rw-r--r--test/SemaCXX/struct-class-redecl.cpp6
-rw-r--r--test/SemaCXX/trailing-return-0x.cpp10
-rw-r--r--test/SemaCXX/type-traits.cpp8
-rw-r--r--test/SemaCXX/typeid.cpp6
-rw-r--r--test/SemaCXX/typo-correction-delayed.cpp159
-rw-r--r--test/SemaCXX/typo-correction-pt2.cpp302
-rw-r--r--test/SemaCXX/typo-correction.cpp385
-rw-r--r--test/SemaCXX/undefined-internal.cpp4
-rw-r--r--test/SemaCXX/uninitialized.cpp713
-rw-r--r--test/SemaCXX/unknown-type-name.cpp6
-rw-r--r--test/SemaCXX/using-decl-1.cpp8
-rw-r--r--test/SemaCXX/vararg-non-pod.cpp5
-rw-r--r--test/SemaCXX/vtable-instantiation.cpp (renamed from test/SemaCXX/vtable-instantiation.cc)4
-rw-r--r--test/SemaCXX/warn-bool-conversion.cpp27
-rw-r--r--test/SemaCXX/warn-consumed-parsing.cpp1
-rw-r--r--test/SemaCXX/warn-global-constructors.cpp6
-rw-r--r--test/SemaCXX/warn-overloaded-virtual.cpp22
-rw-r--r--test/SemaCXX/warn-self-move.cpp55
-rw-r--r--test/SemaCXX/warn-tautological-compare.cpp40
-rw-r--r--test/SemaCXX/warn-tautological-undefined-compare.cpp28
-rw-r--r--test/SemaCXX/warn-thread-safety-analysis.cpp484
-rw-r--r--test/SemaCXX/warn-thread-safety-negative.cpp104
-rw-r--r--test/SemaCXX/warn-thread-safety-verbose.cpp86
-rw-r--r--test/SemaCXX/warn-undefined-bool-conversion.cpp24
-rw-r--r--test/SemaCXX/warn-unused-comparison.cpp2
-rw-r--r--test/SemaCXX/warn-unused-filescoped.cpp4
-rw-r--r--test/SemaCXX/warn-unused-local-typedef-serialize.cpp11
-rw-r--r--test/SemaCXX/warn-unused-local-typedef-x86asm.cpp16
-rw-r--r--test/SemaCXX/warn-unused-local-typedef.cpp242
-rw-r--r--test/SemaCXX/warn-unused-private-field-delayed-template.cpp11
-rw-r--r--test/SemaCXX/warn-unused-result.cpp47
-rw-r--r--test/SemaCXX/warn-unused-value-cxx11.cpp44
-rw-r--r--test/SemaCXX/warn-unused-value.cpp34
-rw-r--r--test/SemaObjC/access-property-getter.m17
-rw-r--r--test/SemaObjC/arc-jump-block.m8
-rw-r--r--test/SemaObjC/arc-repeated-weak.mm14
-rw-r--r--test/SemaObjC/arc.m2
-rw-r--r--test/SemaObjC/attr-availability-1.m116
-rw-r--r--test/SemaObjC/attr-availability.m27
-rw-r--r--test/SemaObjC/attr-deprecated-pch.m23
-rw-r--r--test/SemaObjC/attr-deprecated.m71
-rw-r--r--test/SemaObjC/autoreleasepool.m2
-rw-r--r--test/SemaObjC/compare-qualified-class.m35
-rw-r--r--test/SemaObjC/conditional-expr.m10
-rw-r--r--test/SemaObjC/debugger-support.m2
-rw-r--r--test/SemaObjC/default-synthesize-1.m17
-rw-r--r--test/SemaObjC/default-synthesize-3.m20
-rw-r--r--test/SemaObjC/default-synthesize.m40
-rw-r--r--test/SemaObjC/encode-typeof-test.m19
-rw-r--r--test/SemaObjC/format-cstrings-warning.m79
-rw-r--r--test/SemaObjC/format-strings-objc.m2
-rw-r--r--test/SemaObjC/iboutlet.m6
-rw-r--r--test/SemaObjC/ivar-lookup.m4
-rw-r--r--test/SemaObjC/method-lookup-3.m26
-rw-r--r--test/SemaObjC/nonnull.m30
-rw-r--r--test/SemaObjC/objc-cf-audited-warning.m24
-rw-r--r--test/SemaObjC/objc-dictionary-literal.m15
-rw-r--r--test/SemaObjC/objcbridge-attribute-arc.m16
-rw-r--r--test/SemaObjC/property-user-setter.m9
-rw-r--r--test/SemaObjC/protocol-expr-1.m2
-rw-r--r--test/SemaObjC/protocol-expr-neg-1.m19
-rw-r--r--test/SemaObjC/protocols-suppress-conformance.m10
-rw-r--r--test/SemaObjC/resolve-method-in-global-pool.m63
-rw-r--r--test/SemaObjC/scope-check.m28
-rw-r--r--test/SemaObjC/super-property-notation.m6
-rw-r--r--test/SemaObjC/warn-category-method-deprecated.m17
-rw-r--r--test/SemaObjC/warn-explicit-call-initialize.m25
-rw-r--r--test/SemaObjC/warn-strict-selector-match.m6
-rw-r--r--test/SemaObjCXX/arc-ppe.mm2
-rw-r--r--test/SemaObjCXX/synchronized.mm20
-rw-r--r--test/SemaOpenCL/address-spaces-conversions-cl2.0.cl227
-rw-r--r--test/SemaOpenCL/address-spaces.cl5
-rw-r--r--test/SemaOpenCL/amdgpu-num-register-attrs.cl40
-rw-r--r--test/SemaOpenCL/extern.cl4
-rw-r--r--test/SemaTemplate/canonical-expr-type.cpp8
-rw-r--r--test/SemaTemplate/class-template-decl.cpp2
-rw-r--r--test/SemaTemplate/constructor-template.cpp50
-rw-r--r--test/SemaTemplate/crash.cpp11
-rw-r--r--test/SemaTemplate/cxx1z-fold-expressions.cpp77
-rw-r--r--test/SemaTemplate/deduction.cpp12
-rw-r--r--test/SemaTemplate/dependent-type-identity.cpp23
-rw-r--r--test/SemaTemplate/derived.cpp4
-rw-r--r--test/SemaTemplate/enum-bool.cpp11
-rw-r--r--test/SemaTemplate/explicit-instantiation.cpp39
-rw-r--r--test/SemaTemplate/function-template-specialization-noreturn.cpp12
-rw-r--r--test/SemaTemplate/instantiate-exception-spec-cxx11.cpp41
-rw-r--r--test/SemaTemplate/instantiate-exception-spec.cpp21
-rw-r--r--test/SemaTemplate/instantiate-expr-1.cpp2
-rw-r--r--test/SemaTemplate/instantiate-init.cpp10
-rw-r--r--test/SemaTemplate/instantiate-method.cpp25
-rw-r--r--test/SemaTemplate/instantiate-non-dependent-types.cpp40
-rw-r--r--test/SemaTemplate/instantiate-scope.cpp30
-rw-r--r--test/SemaTemplate/instantiate-typeof.cpp7
-rw-r--r--test/SemaTemplate/lookup-dependent-bases.cpp63
-rw-r--r--test/SemaTemplate/ms-lookup-template-base-classes.cpp34
-rw-r--r--test/SemaTemplate/pack-deduction.cpp28
-rw-r--r--test/SemaTemplate/temp_arg_enum_printing.cpp24
-rw-r--r--test/SemaTemplate/temp_arg_nontype_cxx1z.cpp150
-rw-r--r--test/SemaTemplate/virtual-member-functions.cpp26
-rw-r--r--test/Tooling/auto-detect-from-source-parent-of-cwd.cpp3
-rw-r--r--test/Tooling/auto-detect-from-source-parent.cpp6
-rw-r--r--test/Tooling/auto-detect-from-source.cpp6
-rw-r--r--test/Tooling/clang-check-autodetect-dir.cpp6
-rw-r--r--test/Tooling/clang-check-pwd.cpp3
-rw-r--r--test/Tooling/pch.cpp1
-rw-r--r--test/VFS/external-names.c4
-rw-r--r--test/VFS/umbrella-mismatch.m3
-rw-r--r--test/lit.cfg27
-rw-r--r--tools/arcmt-test/arcmt-test.cpp7
-rw-r--r--tools/c-arcmt-test/CMakeLists.txt12
-rw-r--r--tools/c-arcmt-test/Makefile1
-rw-r--r--tools/c-index-test/CMakeLists.txt10
-rw-r--r--tools/c-index-test/Makefile1
-rw-r--r--tools/c-index-test/c-index-test.c48
-rw-r--r--tools/clang-check/ClangCheck.cpp74
-rw-r--r--tools/clang-format-vs/CMakeLists.txt7
-rw-r--r--tools/clang-format-vs/ClangFormat/ClangFormat.csproj5
-rw-r--r--tools/clang-format-vs/README.txt11
-rw-r--r--tools/clang-format-vs/source.extension.vsixmanifest.in5
-rw-r--r--tools/clang-format/CMakeLists.txt3
-rw-r--r--tools/clang-format/ClangFormat.cpp12
-rw-r--r--tools/clang-format/Makefile4
-rwxr-xr-xtools/clang-format/clang-format-diff.py8
-rw-r--r--tools/clang-format/clang-format.el209
-rw-r--r--tools/clang-format/clang-format.py7
-rwxr-xr-xtools/clang-format/git-clang-format2
-rw-r--r--tools/diagtool/DiagTool.cpp2
-rw-r--r--tools/diagtool/DiagTool.h4
-rw-r--r--tools/diagtool/DiagnosticNames.h4
-rw-r--r--tools/diagtool/ListWarnings.cpp9
-rw-r--r--tools/diagtool/ShowEnabledWarnings.cpp2
-rw-r--r--tools/driver/cc1_main.cpp10
-rw-r--r--tools/driver/cc1as_main.cpp42
-rw-r--r--tools/driver/driver.cpp394
-rw-r--r--tools/libclang/ARCMigrate.cpp4
-rw-r--r--tools/libclang/CIndex.cpp203
-rw-r--r--tools/libclang/CIndexCodeCompletion.cpp4
-rw-r--r--tools/libclang/CIndexDiagnostic.cpp29
-rw-r--r--tools/libclang/CIndexDiagnostic.h27
-rw-r--r--tools/libclang/CIndexUSRs.cpp2
-rw-r--r--tools/libclang/CIndexer.h4
-rw-r--r--tools/libclang/CLog.h4
-rw-r--r--tools/libclang/CMakeLists.txt2
-rw-r--r--tools/libclang/CXComment.cpp2
-rw-r--r--tools/libclang/CXComment.h6
-rw-r--r--tools/libclang/CXCompilationDatabase.cpp6
-rw-r--r--tools/libclang/CXCursor.cpp167
-rw-r--r--tools/libclang/CXCursor.h4
-rw-r--r--tools/libclang/CXLoadedDiagnostic.cpp591
-rw-r--r--tools/libclang/CXLoadedDiagnostic.h4
-rw-r--r--tools/libclang/CXSourceLocation.h4
-rw-r--r--tools/libclang/CXString.h4
-rw-r--r--tools/libclang/CXTranslationUnit.h4
-rw-r--r--tools/libclang/CXType.cpp1
-rw-r--r--tools/libclang/CXType.h4
-rw-r--r--tools/libclang/CursorVisitor.h4
-rw-r--r--tools/libclang/IndexBody.cpp2
-rw-r--r--tools/libclang/IndexTypeSourceInfo.cpp1
-rw-r--r--tools/libclang/Index_Internal.h4
-rw-r--r--tools/libclang/Indexing.cpp21
-rw-r--r--tools/libclang/IndexingContext.h5
-rw-r--r--tools/libclang/Makefile4
-rw-r--r--tools/libclang/libclang.exports8
-rw-r--r--tools/scan-build/c++-analyzer.bat1
-rwxr-xr-xtools/scan-build/ccc-analyzer24
-rw-r--r--tools/scan-build/ccc-analyzer.bat1
-rwxr-xr-xtools/scan-build/scan-build171
-rw-r--r--unittests/AST/ASTTypeTraitsTest.cpp39
-rw-r--r--unittests/AST/ASTVectorTest.cpp74
-rw-r--r--unittests/AST/CommentLexer.cpp4
-rw-r--r--unittests/AST/CommentParser.cpp4
-rw-r--r--unittests/AST/DeclPrinterTest.cpp35
-rw-r--r--unittests/AST/EvaluateAsRValueTest.cpp15
-rw-r--r--unittests/AST/ExternalASTSourceTest.cpp8
-rw-r--r--unittests/AST/MatchVerifier.h18
-rw-r--r--unittests/AST/NamedDeclPrinterTest.cpp4
-rw-r--r--unittests/AST/SourceLocationTest.cpp12
-rw-r--r--unittests/ASTMatchers/ASTMatchersTest.cpp273
-rw-r--r--unittests/ASTMatchers/ASTMatchersTest.h87
-rw-r--r--unittests/ASTMatchers/Dynamic/ParserTest.cpp75
-rw-r--r--unittests/ASTMatchers/Dynamic/RegistryTest.cpp60
-rw-r--r--unittests/Basic/CMakeLists.txt1
-rw-r--r--unittests/Basic/DiagnosticTest.cpp49
-rw-r--r--unittests/Basic/FileManagerTest.cpp37
-rw-r--r--unittests/Basic/SourceManagerTest.cpp30
-rw-r--r--unittests/Basic/VirtualFileSystemTest.cpp17
-rw-r--r--unittests/CMakeLists.txt1
-rw-r--r--unittests/CodeGen/BufferSourceTest.cpp78
-rw-r--r--unittests/CodeGen/CMakeLists.txt15
-rw-r--r--unittests/CodeGen/Makefile20
-rw-r--r--unittests/Format/CMakeLists.txt3
-rw-r--r--unittests/Format/FormatTest.cpp1116
-rw-r--r--unittests/Format/FormatTestJS.cpp202
-rw-r--r--unittests/Format/FormatTestJava.cpp492
-rw-r--r--unittests/Format/FormatTestProto.cpp53
-rw-r--r--unittests/Format/FormatTestUtils.h6
-rw-r--r--unittests/Format/Makefile4
-rw-r--r--unittests/Frontend/CMakeLists.txt2
-rw-r--r--unittests/Frontend/FrontendActionTest.cpp106
-rw-r--r--unittests/Lex/CMakeLists.txt1
-rw-r--r--unittests/Lex/LexerTest.cpp4
-rw-r--r--unittests/Lex/PPCallbacksTest.cpp18
-rw-r--r--unittests/Lex/PPConditionalDirectiveRecordTest.cpp6
-rw-r--r--unittests/Makefile5
-rw-r--r--unittests/Sema/ExternalSemaSourceTest.cpp6
-rw-r--r--unittests/Tooling/CMakeLists.txt5
-rw-r--r--unittests/Tooling/Makefile3
-rw-r--r--unittests/Tooling/RecursiveASTVisitorTest.cpp525
-rw-r--r--unittests/Tooling/RecursiveASTVisitorTestCallVisitor.cpp121
-rw-r--r--unittests/Tooling/RecursiveASTVisitorTestDeclVisitor.cpp141
-rw-r--r--unittests/Tooling/RecursiveASTVisitorTestExprVisitor.cpp224
-rw-r--r--unittests/Tooling/RecursiveASTVisitorTestTypeLocVisitor.cpp93
-rw-r--r--unittests/Tooling/RefactoringTest.cpp23
-rw-r--r--unittests/Tooling/RewriterTestContext.h17
-rw-r--r--unittests/Tooling/TestVisitor.h12
-rw-r--r--unittests/Tooling/ToolingTest.cpp85
-rw-r--r--unittests/libclang/LibclangTest.cpp2
-rw-r--r--unittests/libclang/Makefile1
-rwxr-xr-xutils/ABITest/ABITestGen.py2
-rw-r--r--utils/ABITest/TypeGen.py6
-rw-r--r--utils/TableGen/ClangAttrEmitter.cpp248
-rw-r--r--utils/TableGen/NeonEmitter.cpp8
-rw-r--r--utils/TableGen/TableGenBackends.h5
-rw-r--r--utils/analyzer/SATestBuild.py2
-rw-r--r--www/analyzer/open_projects.html2
-rw-r--r--www/analyzer/potential_checkers.html44
-rw-r--r--www/analyzer/scan-build.html31
-rw-r--r--www/compatibility.html20
-rw-r--r--www/cxx_dr_status.html1962
-rw-r--r--www/cxx_status.html82
-rwxr-xr-xwww/make_cxx_dr_status4
2297 files changed, 104294 insertions, 33806 deletions
diff --git a/.clang-tidy b/.clang-tidy
new file mode 100644
index 000000000000..3186da43d43d
--- /dev/null
+++ b/.clang-tidy
@@ -0,0 +1 @@
+Checks: '-*,clang-diagnostic-*,llvm-*,misc-*'
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 02374e20f439..75b80757038d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -83,7 +83,13 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
# They are used as destination of target generators.
set(LLVM_RUNTIME_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/bin)
- set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib)
+ set(LLVM_LIBRARY_OUTPUT_INTDIR ${CMAKE_BINARY_DIR}/${CMAKE_CFG_INTDIR}/lib${LLVM_LIBDIR_SUFFIX})
+ if(WIN32 OR CYGWIN)
+ # DLL platform -- put DLLs into bin.
+ set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_RUNTIME_OUTPUT_INTDIR})
+ else()
+ set(LLVM_SHLIB_OUTPUT_INTDIR ${LLVM_LIBRARY_OUTPUT_INTDIR})
+ endif()
option(LLVM_INSTALL_TOOLCHAIN_ONLY
"Only include toolchain files in the 'install' target." OFF)
@@ -105,8 +111,8 @@ if( CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR )
link_directories("${LLVM_LIBRARY_DIR}")
set( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
- set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )
- set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )
+ set( CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} )
+ set( CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX} )
if(LLVM_INCLUDE_TESTS)
# Check prebuilt llvm/utils.
@@ -193,6 +199,9 @@ endif()
set(CLANG_VENDOR_UTI "org.llvm.clang" CACHE STRING
"Vendor-specific uti.")
+# The libdir suffix must exactly match whatever LLVM's configuration used.
+set(CLANG_LIBDIR_SUFFIX "${LLVM_LIBDIR_SUFFIX}")
+
set(CLANG_SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR})
set(CLANG_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR})
@@ -240,7 +249,7 @@ configure_file(
# Add appropriate flags for GCC
if (LLVM_COMPILER_IS_GCC_COMPATIBLE)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-common -Woverloaded-virtual -Wcast-qual -fno-strict-aliasing")
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-common -Woverloaded-virtual -fno-strict-aliasing")
# Enable -pedantic for Clang even if it's not enabled for LLVM.
if (NOT LLVM_ENABLE_PEDANTIC)
@@ -253,6 +262,26 @@ if (LLVM_COMPILER_IS_GCC_COMPATIBLE)
endif()
endif ()
+# Determine HOST_LINK_VERSION on Darwin.
+set(HOST_LINK_VERSION)
+if (APPLE)
+ set(LD_V_OUTPUT)
+ execute_process(
+ COMMAND sh -c "${CMAKE_LINKER} -v 2>&1 | head -1"
+ RESULT_VARIABLE HAD_ERROR
+ OUTPUT_VARIABLE LD_V_OUTPUT
+ )
+ if (NOT HAD_ERROR)
+ if ("${LD_V_OUTPUT}" MATCHES ".*ld64-([0-9.]+).*")
+ string(REGEX REPLACE ".*ld64-([0-9.]+).*" "\\1" HOST_LINK_VERSION ${LD_V_OUTPUT})
+ elseif ("${LD_V_OUTPUT}" MATCHES "[^0-9]*([0-9.]+).*")
+ string(REGEX REPLACE "[^0-9]*([0-9.]+).*" "\\1" HOST_LINK_VERSION ${LD_V_OUTPUT})
+ endif()
+ else()
+ message(FATAL_ERROR "${CMAKE_LINKER} failed with status ${HAD_ERROR}")
+ endif()
+endif()
+
configure_file(
${CLANG_SOURCE_DIR}/include/clang/Config/config.h.cmake
${CLANG_BINARY_DIR}/include/clang/Config/config.h)
@@ -337,6 +366,7 @@ macro(add_clang_library name)
ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX}
RUNTIME DESTINATION bin)
endif()
+ set_property(GLOBAL APPEND PROPERTY CLANG_EXPORTS ${name})
else()
# Add empty "phony" target
add_custom_target(${name})
@@ -478,3 +508,27 @@ endif()
set(CLANG_ORDER_FILE "" CACHE FILEPATH
"Order file to use when compiling clang in order to improve startup time.")
+
+if (CLANG_BUILT_STANDALONE)
+ # Generate a list of CMake library targets so that other CMake projects can
+ # link against them. LLVM calls its version of this file LLVMExports.cmake, but
+ # the usual CMake convention seems to be ${Project}Targets.cmake.
+ set(CLANG_INSTALL_PACKAGE_DIR share/clang/cmake)
+ set(clang_cmake_builddir "${CMAKE_BINARY_DIR}/${CLANG_INSTALL_PACKAGE_DIR}")
+ get_property(CLANG_EXPORTS GLOBAL PROPERTY CLANG_EXPORTS)
+ export(TARGETS ${CLANG_EXPORTS} FILE ${clang_cmake_builddir}/ClangTargets.cmake)
+
+ # Install a <prefix>/share/clang/cmake/ClangConfig.cmake file so that
+ # find_package(Clang) works. Install the target list with it.
+ install(FILES
+ ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/ClangConfig.cmake
+ ${CLANG_BINARY_DIR}/share/clang/cmake/ClangTargets.cmake
+ DESTINATION share/clang/cmake)
+
+ # Also copy ClangConfig.cmake to the build directory so that dependent projects
+ # can build against a build directory of Clang more easily.
+ configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules/ClangConfig.cmake
+ ${CLANG_BINARY_DIR}/share/clang/cmake/ClangConfig.cmake
+ COPYONLY)
+endif ()
diff --git a/CODE_OWNERS.TXT b/CODE_OWNERS.TXT
index bbd3142bc87c..b58014fee1aa 100644
--- a/CODE_OWNERS.TXT
+++ b/CODE_OWNERS.TXT
@@ -22,6 +22,7 @@ E: echristo@gmail.com
D: Debug Information, autotools/configure/make build, inline assembly
N: Doug Gregor
+E: dgregor@apple.com
D: All parts of Clang not covered by someone else
N: Anton Korobeynikov
@@ -29,6 +30,7 @@ E: anton@korobeynikov.info
D: Exception handling, Windows codegen, ARM EABI
N: Ted Kremenek
+E: kremenek@apple.com
D: Clang Static Analyzer
N: John McCall
@@ -37,7 +39,7 @@ D: Clang LLVM IR generation
N: Chad Rosier
E: mcrosier@codeaurora.org
-D: MS-inline asm, and the compiler driver
+D: Compiler driver
N: Richard Smith
E: richard@metafoo.co.uk
diff --git a/bindings/python/clang/cindex.py b/bindings/python/clang/cindex.py
index 517b3c1bac6e..5792effea59b 100644
--- a/bindings/python/clang/cindex.py
+++ b/bindings/python/clang/cindex.py
@@ -496,24 +496,28 @@ class TokenKind(object):
setattr(TokenKind, name, kind)
### Cursor Kinds ###
-
-class CursorKind(object):
- """
- A CursorKind describes the kind of entity that a cursor points to.
+class BaseEnumeration(object):
"""
+ Common base class for named enumerations held in sync with Index.h values.
- # The unique kind objects, indexed by id.
+ Subclasses must define their own _kinds and _name_map members, as:
_kinds = []
_name_map = None
+ These values hold the per-subclass instances and value-to-name mappings,
+ respectively.
+
+ """
def __init__(self, value):
- if value >= len(CursorKind._kinds):
- CursorKind._kinds += [None] * (value - len(CursorKind._kinds) + 1)
- if CursorKind._kinds[value] is not None:
- raise ValueError,'CursorKind already loaded'
+ if value >= len(self.__class__._kinds):
+ self.__class__._kinds += [None] * (value - len(self.__class__._kinds) + 1)
+ if self.__class__._kinds[value] is not None:
+ raise ValueError,'{0} value {1} already loaded'.format(
+ str(self.__class__), value)
self.value = value
- CursorKind._kinds[value] = self
- CursorKind._name_map = None
+ self.__class__._kinds[value] = self
+ self.__class__._name_map = None
+
def from_param(self):
return self.value
@@ -523,16 +527,29 @@ class CursorKind(object):
"""Get the enumeration name of this cursor kind."""
if self._name_map is None:
self._name_map = {}
- for key,value in CursorKind.__dict__.items():
- if isinstance(value,CursorKind):
+ for key, value in self.__class__.__dict__.items():
+ if isinstance(value, self.__class__):
self._name_map[value] = key
return self._name_map[self]
- @staticmethod
- def from_id(id):
- if id >= len(CursorKind._kinds) or CursorKind._kinds[id] is None:
- raise ValueError,'Unknown cursor kind %d' % id
- return CursorKind._kinds[id]
+ @classmethod
+ def from_id(cls, id):
+ if id >= len(cls._kinds) or cls._kinds[id] is None:
+ raise ValueError,'Unknown template argument kind %d' % id
+ return cls._kinds[id]
+
+ def __repr__(self):
+ return '%s.%s' % (self.__class__, self.name,)
+
+
+class CursorKind(BaseEnumeration):
+ """
+ A CursorKind describes the kind of entity that a cursor points to.
+ """
+
+ # The required BaseEnumeration declarations.
+ _kinds = []
+ _name_map = None
@staticmethod
def get_all_kinds():
@@ -578,11 +595,6 @@ class CursorKind(object):
def __repr__(self):
return 'CursorKind.%s' % (self.name,)
-# FIXME: Is there a nicer way to expose this enumeration? We could potentially
-# represent the nested structure, or even build a class hierarchy. The main
-# things we want for sure are (a) simple external access to kinds, (b) a place
-# to hang a description and name, (c) easy to keep in sync with Index.h.
-
###
# Declaration Kinds
@@ -1086,6 +1098,7 @@ CursorKind.CUDACONSTANT_ATTR = CursorKind(412)
CursorKind.CUDADEVICE_ATTR = CursorKind(413)
CursorKind.CUDAGLOBAL_ATTR = CursorKind(414)
CursorKind.CUDAHOST_ATTR = CursorKind(415)
+CursorKind.CUDASHARED_ATTR = CursorKind(416)
###
# Preprocessing
@@ -1100,6 +1113,24 @@ CursorKind.INCLUSION_DIRECTIVE = CursorKind(503)
# A module import declaration.
CursorKind.MODULE_IMPORT_DECL = CursorKind(600)
+
+### Template Argument Kinds ###
+class TemplateArgumentKind(BaseEnumeration):
+ """
+ A TemplateArgumentKind describes the kind of entity that a template argument
+ represents.
+ """
+
+ # The required BaseEnumeration declarations.
+ _kinds = []
+ _name_map = None
+
+TemplateArgumentKind.NULL = TemplateArgumentKind(0)
+TemplateArgumentKind.TYPE = TemplateArgumentKind(1)
+TemplateArgumentKind.DECLARATION = TemplateArgumentKind(2)
+TemplateArgumentKind.NULLPTR = TemplateArgumentKind(3)
+TemplateArgumentKind.INTEGRAL = TemplateArgumentKind(4)
+
### Cursors ###
class Cursor(Structure):
@@ -1176,9 +1207,9 @@ class Cursor(Structure):
"""
Return the display name for the entity referenced by this cursor.
- The display name contains extra information that helps identify the cursor,
- such as the parameters of a function or template or the arguments of a
- class template specialization.
+ The display name contains extra information that helps identify the
+ cursor, such as the parameters of a function or template or the
+ arguments of a class template specialization.
"""
if not hasattr(self, '_displayname'):
self._displayname = conf.lib.clang_getCursorDisplayName(self)
@@ -1186,6 +1217,14 @@ class Cursor(Structure):
return self._displayname
@property
+ def mangled_name(self):
+ """Return the mangled name for the entity referenced by this cursor."""
+ if not hasattr(self, '_mangled_name'):
+ self._mangled_name = conf.lib.clang_Cursor_getMangling(self)
+
+ return self._mangled_name
+
+ @property
def location(self):
"""
Return the source location (the starting character) of the entity
@@ -1208,6 +1247,17 @@ class Cursor(Structure):
return self._extent
@property
+ def storage_class(self):
+ """
+ Retrieves the storage class (if any) of the entity pointed at by the
+ cursor.
+ """
+ if not hasattr(self, '_storage_class'):
+ self._storage_class = conf.lib.clang_Cursor_getStorageClass(self)
+
+ return StorageClass.from_id(self._storage_class)
+
+ @property
def access_specifier(self):
"""
Retrieves the access specifier (if any) of the entity pointed at by the
@@ -1369,6 +1419,27 @@ class Cursor(Structure):
for i in range(0, num_args):
yield conf.lib.clang_Cursor_getArgument(self, i)
+ def get_num_template_arguments(self):
+ """Returns the number of template args associated with this cursor."""
+ return conf.lib.clang_Cursor_getNumTemplateArguments(self)
+
+ def get_template_argument_kind(self, num):
+ """Returns the TemplateArgumentKind for the indicated template
+ argument."""
+ return conf.lib.clang_Cursor_getTemplateArgumentKind(self, num)
+
+ def get_template_argument_type(self, num):
+ """Returns the CXType for the indicated template argument."""
+ return conf.lib.clang_Cursor_getTemplateArgumentType(self, num)
+
+ def get_template_argument_value(self, num):
+ """Returns the value of the indicated arg as a signed 64b integer."""
+ return conf.lib.clang_Cursor_getTemplateArgumentValue(self, num)
+
+ def get_template_argument_unsigned_value(self, num):
+ """Returns the value of the indicated arg as an unsigned 64b integer."""
+ return conf.lib.clang_Cursor_getTemplateArgumentUnsignedValue(self, num)
+
def get_children(self):
"""Return an iterator for accessing the children of this cursor."""
@@ -1450,11 +1521,9 @@ class Cursor(Structure):
res._tu = args[0]._tu
return res
-### C++ access specifiers ###
-
-class AccessSpecifier(object):
+class StorageClass(object):
"""
- Describes the access of a C++ class member
+ Describes the storage class of a declaration
"""
# The unique kind objects, index by id.
@@ -1462,32 +1531,59 @@ class AccessSpecifier(object):
_name_map = None
def __init__(self, value):
- if value >= len(AccessSpecifier._kinds):
- AccessSpecifier._kinds += [None] * (value - len(AccessSpecifier._kinds) + 1)
- if AccessSpecifier._kinds[value] is not None:
- raise ValueError,'AccessSpecifier already loaded'
+ if value >= len(StorageClass._kinds):
+ StorageClass._kinds += [None] * (value - len(StorageClass._kinds) + 1)
+ if StorageClass._kinds[value] is not None:
+ raise ValueError,'StorageClass already loaded'
self.value = value
- AccessSpecifier._kinds[value] = self
- AccessSpecifier._name_map = None
+ StorageClass._kinds[value] = self
+ StorageClass._name_map = None
def from_param(self):
return self.value
@property
def name(self):
- """Get the enumeration name of this access specifier."""
+ """Get the enumeration name of this storage class."""
if self._name_map is None:
self._name_map = {}
- for key,value in AccessSpecifier.__dict__.items():
- if isinstance(value,AccessSpecifier):
+ for key,value in StorageClass.__dict__.items():
+ if isinstance(value,StorageClass):
self._name_map[value] = key
return self._name_map[self]
@staticmethod
def from_id(id):
- if id >= len(AccessSpecifier._kinds) or not AccessSpecifier._kinds[id]:
- raise ValueError,'Unknown access specifier %d' % id
- return AccessSpecifier._kinds[id]
+ if id >= len(StorageClass._kinds) or not StorageClass._kinds[id]:
+ raise ValueError,'Unknown storage class %d' % id
+ return StorageClass._kinds[id]
+
+ def __repr__(self):
+ return 'StorageClass.%s' % (self.name,)
+
+StorageClass.INVALID = StorageClass(0)
+StorageClass.NONE = StorageClass(1)
+StorageClass.EXTERN = StorageClass(2)
+StorageClass.STATIC = StorageClass(3)
+StorageClass.PRIVATEEXTERN = StorageClass(4)
+StorageClass.OPENCLWORKGROUPLOCAL = StorageClass(5)
+StorageClass.AUTO = StorageClass(6)
+StorageClass.REGISTER = StorageClass(7)
+
+
+### C++ access specifiers ###
+
+class AccessSpecifier(BaseEnumeration):
+ """
+ Describes the access of a C++ class member
+ """
+
+ # The unique kind objects, index by id.
+ _kinds = []
+ _name_map = None
+
+ def from_param(self):
+ return self.value
def __repr__(self):
return 'AccessSpecifier.%s' % (self.name,)
@@ -1500,7 +1596,7 @@ AccessSpecifier.NONE = AccessSpecifier(4)
### Type Kinds ###
-class TypeKind(object):
+class TypeKind(BaseEnumeration):
"""
Describes the kind of type.
"""
@@ -1509,39 +1605,11 @@ class TypeKind(object):
_kinds = []
_name_map = None
- def __init__(self, value):
- if value >= len(TypeKind._kinds):
- TypeKind._kinds += [None] * (value - len(TypeKind._kinds) + 1)
- if TypeKind._kinds[value] is not None:
- raise ValueError,'TypeKind already loaded'
- self.value = value
- TypeKind._kinds[value] = self
- TypeKind._name_map = None
-
- def from_param(self):
- return self.value
-
- @property
- def name(self):
- """Get the enumeration name of this cursor kind."""
- if self._name_map is None:
- self._name_map = {}
- for key,value in TypeKind.__dict__.items():
- if isinstance(value,TypeKind):
- self._name_map[value] = key
- return self._name_map[self]
-
@property
def spelling(self):
"""Retrieve the spelling of this TypeKind."""
return conf.lib.clang_getTypeKindSpelling(self.value)
- @staticmethod
- def from_id(id):
- if id >= len(TypeKind._kinds) or TypeKind._kinds[id] is None:
- raise ValueError,'Unknown type kind %d' % id
- return TypeKind._kinds[id]
-
def __repr__(self):
return 'TypeKind.%s' % (self.name,)
@@ -1594,43 +1662,16 @@ TypeKind.VARIABLEARRAY = TypeKind(115)
TypeKind.DEPENDENTSIZEDARRAY = TypeKind(116)
TypeKind.MEMBERPOINTER = TypeKind(117)
-class RefQualifierKind(object):
+class RefQualifierKind(BaseEnumeration):
"""Describes a specific ref-qualifier of a type."""
# The unique kind objects, indexed by id.
_kinds = []
_name_map = None
- def __init__(self, value):
- if value >= len(RefQualifierKind._kinds):
- num_kinds = value - len(RefQualifierKind._kinds) + 1
- RefQualifierKind._kinds += [None] * num_kinds
- if RefQualifierKind._kinds[value] is not None:
- raise ValueError, 'RefQualifierKind already loaded'
- self.value = value
- RefQualifierKind._kinds[value] = self
- RefQualifierKind._name_map = None
-
def from_param(self):
return self.value
- @property
- def name(self):
- """Get the enumeration name of this kind."""
- if self._name_map is None:
- self._name_map = {}
- for key, value in RefQualifierKind.__dict__.items():
- if isinstance(value, RefQualifierKind):
- self._name_map[value] = key
- return self._name_map[self]
-
- @staticmethod
- def from_id(id):
- if (id >= len(RefQualifierKind._kinds) or
- RefQualifierKind._kinds[id] is None):
- raise ValueError, 'Unknown type kind %d' % id
- return RefQualifierKind._kinds[id]
-
def __repr__(self):
return 'RefQualifierKind.%s' % (self.name,)
@@ -2973,6 +3014,11 @@ functionList = [
_CXString,
_CXString.from_result),
+ ("clang_Cursor_getMangling",
+ [Cursor],
+ _CXString,
+ _CXString.from_result),
+
# ("clang_getCXTUResourceUsage",
# [TranslationUnit],
# CXTUResourceUsage),
@@ -3300,6 +3346,27 @@ functionList = [
Cursor,
Cursor.from_result),
+ ("clang_Cursor_getNumTemplateArguments",
+ [Cursor],
+ c_int),
+
+ ("clang_Cursor_getTemplateArgumentKind",
+ [Cursor, c_uint],
+ TemplateArgumentKind.from_id),
+
+ ("clang_Cursor_getTemplateArgumentType",
+ [Cursor, c_uint],
+ Type,
+ Type.from_result),
+
+ ("clang_Cursor_getTemplateArgumentValue",
+ [Cursor, c_uint],
+ c_longlong),
+
+ ("clang_Cursor_getTemplateArgumentUnsignedValue",
+ [Cursor, c_uint],
+ c_ulonglong),
+
("clang_Cursor_isBitField",
[Cursor],
bool),
diff --git a/bindings/python/tests/cindex/test_cursor.py b/bindings/python/tests/cindex/test_cursor.py
index 431504502245..a5224aafabc1 100644
--- a/bindings/python/tests/cindex/test_cursor.py
+++ b/bindings/python/tests/cindex/test_cursor.py
@@ -1,6 +1,8 @@
+import ctypes
import gc
from clang.cindex import CursorKind
+from clang.cindex import TemplateArgumentKind
from clang.cindex import TranslationUnit
from clang.cindex import TypeKind
from .util import get_cursor
@@ -244,6 +246,48 @@ def test_get_arguments():
assert arguments[0].spelling == "i"
assert arguments[1].spelling == "j"
+kTemplateArgTest = """\
+ template <int kInt, typename T, bool kBool>
+ void foo();
+
+ template<>
+ void foo<-7, float, true>();
+ """
+
+def test_get_num_template_arguments():
+ tu = get_tu(kTemplateArgTest, lang='cpp')
+ foos = get_cursors(tu, 'foo')
+
+ assert foos[1].get_num_template_arguments() == 3
+
+def test_get_template_argument_kind():
+ tu = get_tu(kTemplateArgTest, lang='cpp')
+ foos = get_cursors(tu, 'foo')
+
+ assert foos[1].get_template_argument_kind(0) == TemplateArgumentKind.INTEGRAL
+ assert foos[1].get_template_argument_kind(1) == TemplateArgumentKind.TYPE
+ assert foos[1].get_template_argument_kind(2) == TemplateArgumentKind.INTEGRAL
+
+def test_get_template_argument_type():
+ tu = get_tu(kTemplateArgTest, lang='cpp')
+ foos = get_cursors(tu, 'foo')
+
+ assert foos[1].get_template_argument_type(1).kind == TypeKind.FLOAT
+
+def test_get_template_argument_value():
+ tu = get_tu(kTemplateArgTest, lang='cpp')
+ foos = get_cursors(tu, 'foo')
+
+ assert foos[1].get_template_argument_value(0) == -7
+ assert foos[1].get_template_argument_value(2) == True
+
+def test_get_template_argument_unsigned_value():
+ tu = get_tu(kTemplateArgTest, lang='cpp')
+ foos = get_cursors(tu, 'foo')
+
+ assert foos[1].get_template_argument_unsigned_value(0) == 2 ** 32 - 7
+ assert foos[1].get_template_argument_unsigned_value(2) == True
+
def test_referenced():
tu = get_tu('void foo(); void bar() { foo(); }')
foo = get_cursor(tu, 'foo')
@@ -252,3 +296,17 @@ def test_referenced():
if c.kind == CursorKind.CALL_EXPR:
assert c.referenced.spelling == foo.spelling
break
+
+def test_mangled_name():
+ kInputForMangling = """\
+ int foo(int, int);
+ """
+ tu = get_tu(kInputForMangling, lang='cpp')
+ foo = get_cursor(tu, 'foo')
+
+ # Since libclang does not link in targets, we cannot pass a triple to it
+ # and force the target. To enable this test to pass on all platforms, accept
+ # all valid manglings.
+ # [c-index-test handles this by running the source through clang, emitting
+ # an AST file and running libclang on that AST file]
+ assert foo.mangled_name in ('_Z3fooii', '__Z3fooii', '?foo@@YAHHH')
diff --git a/cmake/modules/ClangConfig.cmake b/cmake/modules/ClangConfig.cmake
new file mode 100644
index 000000000000..f052bb9e8c8e
--- /dev/null
+++ b/cmake/modules/ClangConfig.cmake
@@ -0,0 +1,8 @@
+# This file allows users to call find_package(Clang) and pick up our targets.
+
+# Clang doesn't have any CMake configuration settings yet because it mostly
+# uses LLVM's. When it does, we should move this file to ClangConfig.cmake.in
+# and call configure_file() on it.
+
+# Provide all our library targets to users.
+include("${CMAKE_CURRENT_LIST_DIR}/ClangTargets.cmake")
diff --git a/docs/AddressSanitizer.rst b/docs/AddressSanitizer.rst
index 93a6a0ebaa50..cbdd7c65e847 100644
--- a/docs/AddressSanitizer.rst
+++ b/docs/AddressSanitizer.rst
@@ -165,9 +165,9 @@ problems happening in certain source files or with certain global variables.
# Disable out-of-bound checks for global:
global:bad_array
# Disable out-of-bound checks for global instances of a given class ...
- type:class.Namespace::BadClassName
+ type:Namespace::BadClassName
# ... or a given struct. Use wildcard to deal with anonymous namespace.
- type:struct.Namespace2::*::BadStructName
+ type:Namespace2::*::BadStructName
# Disable initialization-order checks for globals:
global:bad_init_global=init
type:*BadInitClassSubstring*=init
@@ -187,6 +187,7 @@ AddressSanitizer is supported on
* Linux i386/x86\_64 (tested on Ubuntu 12.04);
* MacOS 10.6 - 10.9 (i386/x86\_64).
* Android ARM
+* FreeBSD i386/x86\_64 (tested on FreeBSD 11-current)
Ports to various other platforms are in progress.
diff --git a/docs/ClangFormat.rst b/docs/ClangFormat.rst
index 86c5ec5e5873..45ea32717995 100644
--- a/docs/ClangFormat.rst
+++ b/docs/ClangFormat.rst
@@ -96,8 +96,8 @@ This can be integrated by adding the following to your `.vimrc`:
.. code-block:: vim
- map <C-K> :pyf <path-to-this-file>/clang-format.py<CR>
- imap <C-K> <ESC>:pyf <path-to-this-file>/clang-format.py<CR>i
+ map <C-K> :pyf <path-to-this-file>/clang-format.py<cr>
+ imap <C-K> <c-o>:pyf <path-to-this-file>/clang-format.py<cr>
The first line enables :program:`clang-format` for NORMAL and VISUAL mode, the
second line adds support for INSERT mode. Change "C-K" to another binding if
diff --git a/docs/ClangFormatStyleOptions.rst b/docs/ClangFormatStyleOptions.rst
index 07febaf3898b..ce6fae19c09b 100644
--- a/docs/ClangFormatStyleOptions.rst
+++ b/docs/ClangFormatStyleOptions.rst
@@ -33,6 +33,43 @@ The ``.clang-format`` file uses YAML format:
# A comment.
...
+The configuration file can consist of several sections each having different
+``Language:`` parameter denoting the programming language this section of the
+configuration is targeted at. See the description of the **Language** option
+below for the list of supported languages. The first section may have no
+language set, it will set the default style options for all lanugages.
+Configuration sections for specific language will override options set in the
+default section.
+
+When :program:`clang-format` formats a file, it auto-detects the language using
+the file name. When formatting standard input or a file that doesn't have the
+extension corresponding to its language, ``-assume-filename=`` option can be
+used to override the file name :program:`clang-format` uses to detect the
+language.
+
+An example of a configuration file for multiple languages:
+
+.. code-block:: yaml
+
+ ---
+ # We'll use defaults from the LLVM style, but with 4 columns indentation.
+ BasedOnStyle: LLVM
+ IndentWidth: 4
+ ---
+ Language: Cpp
+ # Force pointers to the type for C++.
+ DerivePointerAlignment: false
+ PointerAlignment: Left
+ ---
+ Language: JavaScript
+ # Use 100 columns for JS.
+ ColumnLimit: 100
+ ---
+ Language: Proto
+ # Don't format .proto files.
+ DisableFormat: true
+ ...
+
An easy way to get a valid ``.clang-format`` file containing all configuration
options of a certain predefined style is:
@@ -48,6 +85,24 @@ is applied for all input files. The format of the configuration is:
-style='{key1: value1, key2: value2, ...}'
+Disabling Formatting on a Piece of Code
+=======================================
+
+Clang-format understands also special comments that switch formatting in a
+delimited range. The code between a comment ``// clang-format off`` or
+``/* clang-format off */`` up to a comment ``// clang-format on`` or
+``/* clang-format on */`` will not be formatted. The comments themselves
+will be formatted (aligned) normally.
+
+.. code-block:: c++
+
+ int formatted_code;
+ // clang-format off
+ void unformatted_code ;
+ // clang-format on
+ void formatted_code_again;
+
+
Configuring Style in Code
=========================
@@ -95,10 +150,24 @@ the configuration (without a prefix: ``Auto``).
**AccessModifierOffset** (``int``)
The extra indent or outdent of access modifiers, e.g. ``public:``.
+**AlignAfterOpenBracke