summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* some fixes for flangclang_brancharphaman2013-07-164-872/+29
|
* moved ast unit headerarphaman2013-07-161-0/+0
|
* some fixes for flangarphaman2013-07-164-270/+77
|
* moved compiler instance to flangarphaman2013-07-162-0/+0
|
* some fixes for flangarphaman2013-07-167-197/+27
|
* moved codegen headerarphaman2013-07-161-0/+0
|
* removed added clang stuffarphaman2013-07-1617-742/+0
|
* Merge remote-tracking branch 'clang_remote/master' into clang_brancharphaman2013-07-1656-666/+2823
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: docs/LanguageExtensions.rst docs/LibASTMatchersReference.html docs/tools/dump_ast_matchers.py include/clang-c/Index.h lib/ARCMigrate/FileRemapper.cpp lib/ARCMigrate/ObjCMT.cpp lib/AST/ASTContext.cpp lib/AST/ASTDiagnostic.cpp lib/AST/Comment.cpp lib/AST/CommentCommandTraits.cpp lib/AST/DeclBase.cpp lib/AST/DeclCXX.cpp lib/AST/DeclObjC.cpp lib/AST/ExprConstant.cpp lib/AST/InheritViz.cpp lib/AST/ItaniumMangle.cpp lib/AST/Mangle.cpp lib/AST/MangleNumberingContext.cpp lib/AST/MicrosoftMangle.cpp lib/AST/RecordLayoutBuilder.cpp lib/AST/Type.cpp lib/AST/VTableBuilder.cpp lib/ASTMatchers/ASTMatchFinder.cpp lib/ASTMatchers/Dynamic/Marshallers.h lib/ASTMatchers/Dynamic/Registry.cpp lib/Basic/Builtins.cpp lib/Basic/DiagnosticIDs.cpp lib/Basic/Module.cpp lib/Basic/OperatorPrecedence.cpp lib/CodeGen/BackendUtil.cpp lib/CodeGen/CGAtomic.cpp lib/CodeGen/CGBlocks.cpp lib/CodeGen/CGBuiltin.cpp lib/CodeGen/CGCall.cpp lib/CodeGen/CGClass.cpp lib/CodeGen/CGDebugInfo.cpp lib/CodeGen/CGDebugInfo.h lib/CodeGen/CGExpr.cpp lib/CodeGen/CGExprAgg.cpp lib/CodeGen/CGExprCXX.cpp lib/CodeGen/CGExprScalar.cpp lib/CodeGen/CGObjCGNU.cpp lib/CodeGen/CGRTTI.cpp lib/CodeGen/CGRecordLayoutBuilder.cpp lib/CodeGen/CGStmt.cpp lib/CodeGen/CGValue.h lib/CodeGen/CodeGenAction.cpp lib/CodeGen/CodeGenFunction.cpp lib/CodeGen/CodeGenFunction.h lib/CodeGen/CodeGenModule.cpp lib/CodeGen/CodeGenModule.h lib/CodeGen/CodeGenTBAA.cpp lib/CodeGen/ModuleBuilder.cpp lib/CodeGen/TargetInfo.cpp lib/Driver/CC1AsOptions.cpp lib/Driver/Driver.cpp lib/Driver/DriverOptions.cpp lib/Driver/Tools.cpp lib/Driver/Types.cpp lib/Edit/Commit.cpp lib/Edit/RewriteObjCFoundationAPI.cpp lib/Format/BreakableToken.cpp lib/Format/BreakableToken.h lib/Format/Encoding.h lib/Format/Format.cpp lib/Format/FormatToken.h lib/Format/TokenAnnotator.cpp lib/Format/UnwrappedLineParser.cpp lib/Format/UnwrappedLineParser.h lib/Format/WhitespaceManager.cpp lib/Format/WhitespaceManager.h lib/Frontend/ASTUnit.cpp lib/Frontend/ChainedIncludesSource.cpp lib/Frontend/CompilerInstance.cpp lib/Frontend/CompilerInvocation.cpp lib/FrontendTool/ExecuteCompilerInvocation.cpp lib/Headers/avx2intrin.h lib/Headers/avxintrin.h lib/Headers/rdseedintrin.h lib/Headers/rtmintrin.h lib/Lex/PPDirectives.cpp lib/Lex/PPMacroExpansion.cpp lib/Lex/TokenLexer.cpp lib/Parse/ParseDecl.cpp lib/Parse/ParseDeclCXX.cpp lib/Parse/ParseExpr.cpp lib/Parse/ParseStmt.cpp lib/Parse/ParseTemplate.cpp lib/Rewrite/Core/Rewriter.cpp lib/Rewrite/Frontend/FrontendActions.cpp lib/Rewrite/Frontend/RewriteModernObjC.cpp lib/Rewrite/Frontend/RewriteObjC.cpp lib/Sema/Sema.cpp lib/Sema/SemaCast.cpp lib/Sema/SemaChecking.cpp lib/Sema/SemaDecl.cpp lib/Sema/SemaDeclAttr.cpp lib/Sema/SemaDeclCXX.cpp lib/Sema/SemaDeclObjC.cpp lib/Sema/SemaExpr.cpp lib/Sema/SemaExprCXX.cpp lib/Sema/SemaExprMember.cpp lib/Sema/SemaInit.cpp lib/Sema/SemaLambda.cpp lib/Sema/SemaLookup.cpp lib/Sema/SemaObjCProperty.cpp lib/Sema/SemaOverload.cpp lib/Sema/SemaStmt.cpp lib/Sema/SemaTemplateDeduction.cpp lib/Sema/SemaTemplateInstantiate.cpp lib/Sema/SemaTemplateInstantiateDecl.cpp lib/Sema/SemaType.cpp lib/Sema/TreeTransform.h lib/Serialization/ASTReader.cpp lib/Serialization/ASTReaderDecl.cpp lib/Serialization/ASTWriter.cpp lib/Serialization/ASTWriterDecl.cpp lib/Serialization/GlobalModuleIndex.cpp lib/StaticAnalyzer/Checkers/BuiltinFunctionChecker.cpp lib/StaticAnalyzer/Checkers/MallocChecker.cpp lib/StaticAnalyzer/Core/BugReporter.cpp lib/StaticAnalyzer/Core/BugReporterVisitors.cpp lib/StaticAnalyzer/Core/ExprEngineCXX.cpp lib/StaticAnalyzer/Core/HTMLDiagnostics.cpp lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp test/ARCMT/verify.m test/ASTMerge/category.m test/ASTMerge/class-template.cpp test/ASTMerge/class.cpp test/ASTMerge/enum.c test/ASTMerge/function.c test/ASTMerge/interface.m test/ASTMerge/namespace.cpp test/ASTMerge/property.m test/ASTMerge/struct.c test/ASTMerge/typedef.c test/ASTMerge/var.c test/Analysis/Inputs/system-header-simulator-cxx.h test/Analysis/html-diags-multifile.c test/Analysis/html-diags.c test/Analysis/new.cpp test/Analysis/nullptr.cpp test/CXX/basic/basic.start/basic.start.main/p2.cpp test/CXX/dcl.dcl/dcl.link/p7-2.cpp test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p7-1y.cpp test/CXX/dcl.dcl/dcl.spec/dcl.type/dcl.spec.auto/p7.cpp test/CXX/temp/temp.decls/temp.alias/p3.cpp test/CodeGen/2004-11-27-StaticFunctionRedeclare.c test/CodeGen/2007-05-07-PaddingElements.c test/CodeGen/2008-01-25-ByValReadNone.c test/CodeGen/2008-03-24-BitField-And-Alloca.c test/CodeGen/2008-05-19-AlwaysInline.c test/CodeGen/2008-07-31-asm-labels.c test/CodeGen/PR3589-freestanding-libcalls.c test/CodeGen/PR5060-align.c test/CodeGen/arm-asm-diag.c test/CodeGen/bitfield-2.c test/CodeGen/bitfield-assign.c test/CodeGen/c11atomics-ios.c test/CodeGen/c11atomics.c test/CodeGen/const-init.c test/CodeGen/debug-info-vla.c test/CodeGen/link-bitcode-file.c test/CodeGen/may-alias.c test/CodeGen/mips-constraints-mem.c test/CodeGen/mips-inline-asm-modifiers.c test/CodeGen/override-layout.c test/CodeGen/pragma-weak.c test/CodeGen/systemz-inline-asm.c test/CodeGen/tbaa-class.cpp test/CodeGen/tbaa.cpp test/CodeGenCXX/bitfield.cpp test/CodeGenCXX/bool-bitfield.cpp test/CodeGenCXX/builtins.cpp test/CodeGenCXX/const-init-cxx11.cpp test/CodeGenCXX/const-init-cxx1y.cpp test/CodeGenCXX/const-init.cpp test/CodeGenCXX/constructor-destructor-return-this.cpp test/CodeGenCXX/copy-assign-synthesis.cpp test/CodeGenCXX/copy-constructor-elim.cpp test/CodeGenCXX/cxx11-exception-spec.cpp test/CodeGenCXX/debug-info-class-limited.cpp test/CodeGenCXX/debug-info-cxx1y.cpp test/CodeGenCXX/delete-two-arg.cpp test/CodeGenCXX/implicit-instantiation-1.cpp test/CodeGenCXX/linkage.cpp test/CodeGenCXX/mangle-local-class-names.cpp test/CodeGenCXX/mangle-ms-back-references-pr13207.cpp test/CodeGenCXX/mangle-ms-back-references.cpp test/CodeGenCXX/mangle.cpp test/CodeGenCXX/microsoft-abi-sret-and-byval.cpp test/CodeGenCXX/override-layout.cpp test/CodeGenCXX/pr12251.cpp test/CodeGenCXX/references.cpp test/CodeGenObjC/bitfield-ivar-offsets.m test/CodeGenObjC/blocks-1.m test/CodeGenObjC/encode-test-6.m test/CodeGenObjC/objc2-no-write-barrier.m test/CodeGenObjC/objc2-write-barrier-5.m test/CodeGenObjC/protocols-lazy.m test/CodeGenObjCXX/lambda-expressions.mm test/CodeGenObjCXX/mangle-blocks.mm test/Driver/Xarch.c test/Driver/arc.c test/Driver/crash-report.c test/Driver/darwin-dsymutil.c test/Driver/darwin-verify-debug.c test/Driver/debug-unsupported.c test/Driver/hexagon-toolchain-elf.c test/Driver/hexagon-toolchain.c test/Driver/inhibit-downstream-commands.c test/Driver/le32-unknown-nacl.cpp test/Driver/m_and_mm.c test/Driver/nostdincxx.cpp test/Driver/ppc-features.cpp test/Driver/std.cpp test/FixIt/bridge-cast-in-arc.mm test/FixIt/fixit-autoreleasepool.m test/FixIt/fixit-cxx11-attributes.cpp test/FixIt/fixit-include.c test/FixIt/fixit-interface-as-param.m test/FixIt/fixit-objc-message-comma-separator.m test/FixIt/fixit-unicode.c test/FixIt/fixit-vexing-parse.cpp test/FixIt/fixit.cpp test/FixIt/messages.cpp test/FixIt/no-fixit.cpp test/FixIt/typo.c test/FixIt/typo.cpp test/Format/multiple-inputs-error.cpp test/Frontend/darwin-version.c test/Frontend/ir-support-errors.ll test/Frontend/rewrite-includes-invalid-hasinclude.c test/Frontend/rewrite-includes.c test/Frontend/verify-fatal.c test/Frontend/verify.c test/Frontend/verify2.c test/Frontend/verify3.c test/Index/annotate-comments-unterminated.c test/Index/comment-custom-block-command.cpp test/Index/comment-xml-schema.c test/Index/create-tu-fail.c test/Index/error-on-deserialized.c test/Index/get-cursor.m test/Index/pch-with-errors.c test/Index/recover-bad-code-rdar_7487294.c test/Lexer/builtin_redef.c test/Lexer/cxx0x_raw_string_unterminated.cpp test/Lexer/string-literal-errors.cpp test/Misc/caret-diags-scratch-buffer.c test/Misc/diag-line-wrapping.cpp test/Misc/diag-macro-backtrace.c test/Misc/diag-mapping.c test/Misc/diag-mapping2.c test/Misc/diag-presumed.c test/Misc/diag-template-diffing-color.cpp test/Misc/diag-template-diffing-cxx98.cpp test/Misc/diag-template-diffing.cpp test/Misc/diag-trailing-null-bytes.cpp test/Misc/diag-verify.cpp test/Misc/error-limit-multiple-notes.cpp test/Misc/error-limit.c test/Misc/include-stack-for-note-flag.cpp test/Misc/show-diag-options.c test/Misc/unprintable.c test/Modules/Inputs/module.map test/Modules/build-fail-notes.m test/Modules/cxx-templates.cpp test/Modules/cycles.c test/Modules/epic-fail.m test/Modules/fatal-module-loader-error.m test/Modules/load_failure.c test/Modules/macros.c test/PCH/arc.m test/PCH/badpch.c test/PCH/cxx-templates.cpp test/PCH/cxx-templates.h test/PCH/external-defs.c test/PCH/irgen-rdar13114142.mm test/PCH/line-directive.c test/PCH/modified-header-error.c test/PCH/objcxx-ivar-class.mm test/PCH/pragma-weak.c test/PCH/preamble.c test/PCH/pth.c test/PCH/remap-file-from-pch.cpp test/Parser/DelayedTemplateParsing.cpp test/Parser/PR11000.cpp test/Parser/crash-report.c test/Parser/cxx-decl.cpp test/Parser/cxx-member-crash.cpp test/Parser/cxx-template-argument.cpp test/Parser/cxx0x-decl.cpp test/Parser/objc-diag-width.mm test/Parser/parser_overflow.c test/Preprocessor/has_attribute.c test/Preprocessor/ifdef-recover.c test/Preprocessor/line-directive.c test/Preprocessor/macro_paste_bcpl_comment.c test/Preprocessor/macro_paste_msextensions.c test/Preprocessor/predefined-arch-macros.c test/Preprocessor/traditional-cpp.c test/Preprocessor/ucn-pp-identifier.c test/Preprocessor/x86_target_features.c test/Rewriter/dllimport-typedef.c test/Rewriter/missing-dllimport.c test/Sema/array-size-64.c test/Sema/atomic-expr.c test/Sema/atomic-ops.c test/Sema/attr-deprecated.c test/Sema/attr-mode.c test/Sema/offsetof-64.c test/Sema/parentheses.c test/Sema/warn-main-return-type.c test/Sema/warn-main.c test/Sema/warn-unused-parameters.c test/SemaCXX/addr-of-overloaded-function.cpp test/SemaCXX/ambiguous-conversion-show-overload.cpp test/SemaCXX/anonymous-union.cpp test/SemaCXX/builtins.cpp test/SemaCXX/class-base-member-init.cpp test/SemaCXX/constexpr-backtrace-limit.cpp test/SemaCXX/default1.cpp test/SemaCXX/friend.cpp test/SemaCXX/member-expr.cpp test/SemaCXX/overloaded-operator.cpp test/SemaCXX/struct-class-redecl.cpp test/SemaCXX/typo-correction.cpp test/SemaCXX/using-decl-1.cpp test/SemaCXX/warn-reinterpret-base-class.cpp test/SemaObjC/arc-bridged-cast.m test/SemaObjC/arc-dict-bridged-cast.m test/SemaObjC/dealloc.m test/SemaObjC/foreach.m test/SemaObjC/related-result-type-inference.m test/SemaObjC/super-dealloc-attribute.m test/SemaObjC/warn-missing-super.m test/SemaObjC/warn-retain-block-property.m test/SemaObjCXX/abstract-class-type-ivar.mm test/SemaObjCXX/properties.mm test/SemaTemplate/canonical-expr-type.cpp test/SemaTemplate/deduction-crash.cpp test/Tooling/auto-detect-from-source-parent-of-cwd.cpp test/Tooling/auto-detect-from-source-parent.cpp test/Tooling/auto-detect-from-source.cpp test/Tooling/clang-check-args.cpp test/Tooling/clang-check-autodetect-dir.cpp test/Tooling/clang-check-builtin-headers.cpp test/Tooling/clang-check-chdir.cpp test/Tooling/clang-check-pwd.cpp test/Tooling/clang-check-strip-o.cpp test/Tooling/clang-check.cpp test/Tooling/multi-jobs.cpp test/lit.cfg tools/c-index-test/CMakeLists.txt tools/c-index-test/Makefile tools/c-index-test/c-index-test.c tools/driver/driver.cpp tools/libclang/CIndex.cpp tools/libclang/RecursiveASTVisitor.h tools/libclang/libclang.exports tools/scan-build/ccc-analyzer unittests/AST/CMakeLists.txt unittests/AST/MatchVerifier.h unittests/AST/SourceLocationTest.cpp unittests/ASTMatchers/Dynamic/ParserTest.cpp unittests/ASTMatchers/Dynamic/RegistryTest.cpp unittests/Format/FormatTest.cpp unittests/Tooling/RecursiveASTVisitorTest.cpp unittests/Tooling/RefactoringTest.cpp unittests/Tooling/RewriterTestContext.h
| * Remove unnecessary assignment.Manuel Klimek2013-07-161-1/+0
| | | | | | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186412 91177308-0d34-0410-b5e6-96231b3b80d8
| * Fixes another hard to test problem with iterator invalidation.Manuel Klimek2013-07-161-60/+69
| | | | | | | | | | | | | | | | | | | | As every match call can recursively call back into the memoized match via a nested traversal matcher (for example: stmt(hasAncestor(stmt(hasDescendant(stmt(hasDescendant(stmt()))))))), and every memoization step might clear the cache, we must not store iterators into the result cache when calling match on a submatcher. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186411 91177308-0d34-0410-b5e6-96231b3b80d8
| * clang-format: Improve detection of function types.Daniel Jasper2013-07-162-1/+5
| | | | | | | | | | | | | | | | | | | | This fixes an incorrect detection that led to a formatting error. Before: some_var = function (*some_pointer_var)[0]; After: some_var = function(*some_pointer_var)[0]; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186402 91177308-0d34-0410-b5e6-96231b3b80d8
| * Fix test on release builds.Tim Northover2013-07-161-2/+1
| | | | | | | | | | | | | | | | Unfortunately I don't think there's a good way to validate branch targets on release builds. Fortunately it's a minor part of this test (and based on generic code) so I don't mind dropping it. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186398 91177308-0d34-0410-b5e6-96231b3b80d8
| * ARM: implement low-level intrinsics for the atomic exclusive operations.Tim Northover2013-07-169-21/+398
| | | | | | | | | | | | | | | | | | | | | | | | This adds three overloaded intrinsics to Clang: T __builtin_arm_ldrex(const volatile T *addr) int __builtin_arm_strex(T val, volatile T *addr) void __builtin_arm_clrex() The intent is that these do what users would expect when given most sensible types. Currently, "sensible" translates to ints, floats and pointers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186394 91177308-0d34-0410-b5e6-96231b3b80d8
| * Limit number of bits in size representation so that bit size fit 64 bits.Serge Pavlov2013-07-163-8/+14
| | | | | | | | | | | | | | This fixes PR8256 and some others. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186385 91177308-0d34-0410-b5e6-96231b3b80d8
| * Add 'const' qualifiers to static const char* variables.Craig Topper2013-07-161-2/+2
| | | | | | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186383 91177308-0d34-0410-b5e6-96231b3b80d8
| * Merge attributes on typedef decls.Eli Friedman2013-07-162-0/+6
| | | | | | | | | | | | | | | | | | Not completely sure this is right, but it's clearly better than what we did before this commit (effectively dropping the attribute). <rdar://problem/14413117> git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186373 91177308-0d34-0410-b5e6-96231b3b80d8
| * Fix alignment of class derived from empty class.Eli Friedman2013-07-162-3/+45
| | | | | | | | | | | | | | | | | | The record layout code didn't properly take into account that an empty class at offset 0 can have an alignment greater than 1. Patch by Andrea Di Biagio. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186370 91177308-0d34-0410-b5e6-96231b3b80d8
| * ObjC migrator: build conforming interfaceFariborz Jahanian2013-07-163-1/+54
| | | | | | | | | | | | | | | | declaration (not yet used). wip. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186369 91177308-0d34-0410-b5e6-96231b3b80d8
| * Fix member refs with using decl + anonymous union.Eli Friedman2013-07-163-15/+31
| | | | | | | | | | | | | | | | | | | | Make sure we call BuildFieldReferenceExpr with the appropriate decl when a member of an anonymous union is made public with a using decl. Also, fix a crash on invalid field access into an anonymous union. Fixes PR16630. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186367 91177308-0d34-0410-b5e6-96231b3b80d8
| * Test case for r18266 (serialization support for ↵David Blaikie2013-07-152-0/+12
| | | | | | | | | | | | TagDecl:IsCompleteDefinitionRequired) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186351 91177308-0d34-0410-b5e6-96231b3b80d8
| * ObjC migrator: finding conforming protocolFariborz Jahanian2013-07-153-2/+79
| | | | | | | | | | | | | | | | candidates for each class. wip. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186349 91177308-0d34-0410-b5e6-96231b3b80d8
| * Fix a typo in the diagnostic note added in r186342.Kaelyn Uhrain2013-07-152-3/+3
| | | | | | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186348 91177308-0d34-0410-b5e6-96231b3b80d8
| * Move the "->" to "." fixit from r186128 into a separate note sinceKaelyn Uhrain2013-07-154-18/+20
| | | | | | | | | | | | | | | | recovery is not attempted with the fixit. Also move the associated test case from FixIt/fixit.cpp to SemaCXX/member-expr.cpp since the fixit is no longer automatically applied. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186342 91177308-0d34-0410-b5e6-96231b3b80d8
| * Add support for type traversal matchers.Samuel Benzaquen2013-07-159-170/+206
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: Fixup the type traversal macros/matchers to specify the supported types. Make the marshallers a little more generic to support any variadic function. Update the doc script. Reviewers: klimek CC: cfe-commits, revane Differential Revision: http://llvm-reviews.chandlerc.com/D1023 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186340 91177308-0d34-0410-b5e6-96231b3b80d8
| * Re-revert r86040, which was un-reverted in r186199.Chandler Carruth2013-07-158-69/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This breaks the build of basic patterns with repeated friend declarations. See the added test case in SemaCXX/friend.cpp or the test case reported to the original commit log. Original commit log: If we friend a declaration twice, that should not make it visible to name lookup in the surrounding context. Slightly rework how we handle friend declarations to inherit the visibility of the prior declaration, rather than setting a friend declaration to be visible whenever there was a prior declaration. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186331 91177308-0d34-0410-b5e6-96231b3b80d8
| * clang-format: Improve c-style cast detection.Daniel Jasper2013-07-152-2/+5
| | | | | | | | | | | | | | | | | | | | | | Before: #define x ((int) - 1) #define p(q) ((int *) & q) After: #define x ((int)-1) #define p(q) ((int *)&q) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186324 91177308-0d34-0410-b5e6-96231b3b80d8
| * Improvement of change r186320.Daniel Jasper2013-07-153-10/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixed a test that by now passed for the wrong reason. Before: llvm::outs() << "aaaaaaaaaaaaaaaaaaa: " << aaaaaaaaaaaaa( aaaaaaaaaaaaaaaaaaaaaaaaaaaa); After: llvm::outs() << "aaaaaaaaaaaaaaaaaaa: " << aaaaaaaaaaaaa(aaaaaaaaaaaaaaaaaaaaaaaaaaaa); Also reformatted Format.cpp with the latest changes (1 formatting fix and 1 layout change of a <<-chain). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186322 91177308-0d34-0410-b5e6-96231b3b80d8
| * Improve formatting of operator<< chains.Daniel Jasper2013-07-153-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | Before: llvm::outs() << "aaaaaaaaaaaaaaaa: " << aaaaaaaaaaaaaaaa << "aaaaaaaaaaaaaaaa: " << aaaaaaaaaaaaaaaa << "aaaaaaaaaaaaaaaa: " << aaaaaaaaaaaaaaaa; After: llvm::outs() << "aaaaaaaaaaaaaaaa: " << aaaaaaaaaaaaaaaa << "aaaaaaaaaaaaaaaa: " << aaaaaaaaaaaaaaaa << "aaaaaaaaaaaaaaaa: " << aaaaaaaaaaaaaaaa; git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186320 91177308-0d34-0410-b5e6-96231b3b80d8
| * Replacing an empty switch with its moral equivalent. No functional changes ↵Aaron Ballman2013-07-151-7/+3
| | | | | | | | | | | | intended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186318 91177308-0d34-0410-b5e6-96231b3b80d8
| * Add 'static' and 'const' qualifiers to some arrays of strings.Craig Topper2013-07-154-7/+7
| | | | | | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186314 91177308-0d34-0410-b5e6-96231b3b80d8
| * Fix to PR12262 - assertion when substituting explicit template argumentsSerge Pavlov2013-07-153-0/+190
| | | | | | | | | | | | | | | | | | does not substitute a sizeof-pack expression. The solution is proposed by Richard Smith. Differential Revision: http://llvm-reviews.chandlerc.com/D869 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186306 91177308-0d34-0410-b5e6-96231b3b80d8
| * Revert 186302 to fix build bots.Craig Topper2013-07-151-1/+1
| | | | | | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186305 91177308-0d34-0410-b5e6-96231b3b80d8
| * Use llvm::array_lengthof to replace sizeof(array)/sizeof(array[0]).Craig Topper2013-07-151-1/+2
| | | | | | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186302 91177308-0d34-0410-b5e6-96231b3b80d8
| * Use llvm::array_lengthof to replace sizeof(array)/sizeof(array[0]).Craig Topper2013-07-158-14/+16
| | | | | | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186300 91177308-0d34-0410-b5e6-96231b3b80d8
| * Reformat line.Eric Christopher2013-07-141-2/+1
| | | | | | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186294 91177308-0d34-0410-b5e6-96231b3b80d8
| * Move BlockLiteralGeneric earlier in CGDebugInfo and removeEric Christopher2013-07-142-8/+4
| | | | | | | | | | | | | | BlockLiteralGenericSet and replace with a call to isType() on the BlockLiteralGeneric. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186293 91177308-0d34-0410-b5e6-96231b3b80d8
| * Update a few comments and reformat a decl for clarity.Eric Christopher2013-07-141-3/+4
| | | | | | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186292 91177308-0d34-0410-b5e6-96231b3b80d8
| * Replace C++0x in a comment with C++11Craig Topper2013-07-141-1/+1
| | | | | | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186287 91177308-0d34-0410-b5e6-96231b3b80d8
| * Change cxx0x to cxx11 in diagnostic name.Craig Topper2013-07-141-1/+1
| | | | | | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186286 91177308-0d34-0410-b5e6-96231b3b80d8
| * Change cxx0x to cxx11 in diagnostic name.Craig Topper2013-07-141-1/+1
| | | | | | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186285 91177308-0d34-0410-b5e6-96231b3b80d8
| * Use SmallVectorImpl& instead of SmallVector to avoid repeating small vector ↵Craig Topper2013-07-142-3/+3
| | | | | | | | | | | | size. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186284 91177308-0d34-0410-b5e6-96231b3b80d8
| * Make these tests more robust against IRgen choosing to emit more named metadata.Richard Smith2013-07-146-93/+92
| | | | | | | | git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186279 91177308-0d34-0410-b5e6-96231b3b80d8
| * Delete a test that is checking badly for a point bug that Clang never had ↵Richard Smith2013-07-141-12/+0
| | | | | | | | | | | | (and that spuriously fails with modules enabled). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186278 91177308-0d34-0410-b5e6-96231b3b80d8
| * Add missing include guards into headers in lib/Headers. While it may appearRichard Smith2013-07-144-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | that these headers should not be included more than once, they are in fact included twice when building our builtins module (in order for it to generate submodules for them), and without this, any modular build enabling AVX and including any builtin header fails. Testing this is tricky because including any of these headers in a modular build is liable to fail, due to unrelated builtin headers in the same module including headers which might not be available on the system running the tests. Suggestion on that front are welcome (but we're getting close to being able to run a buildbot that has modules enabled for all tests, which would nicely solve the testing problem). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186275 91177308-0d34-0410-b5e6-96231b3b80d8
| * If an unimported submodule of an imported module contains a declaration of aRichard Smith2013-07-146-3/+32
| | | | | | | | | | | | | | | | global allocation or deallocation function, that should not cause that global allocation or deallocation function to become unavailable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186270 91177308-0d34-0410-b5e6-96231b3b80d8
| * Serialization support for TagDecl::IsCompleteDefinitionRequiredDavid Blaikie2013-07-143-1/+7
| | | | | | | | | | | | Requested by Richard Smith in post-commit review of r186262 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186266 91177308-0d34-0410-b5e6-96231b3b80d8
| * Initialize the "IsCompleteDefinitionRequired" field in the ASTContext ctorDavid Blaikie2013-07-131-10/+7
| | | | | | | | | | | | | | | | Introduced in r186262 & found by the hexagon buildbots (but owing to this being UB, that's random chance - so there's no additional test case here) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186265 91177308-0d34-0410-b5e6-96231b3b80d8
| * PR16214, PR14467: DebugInfo: use "RequireCompleteType" to decide when to ↵David Blaikie2013-07-1311-41/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | emit the full definition of a type in -flimit-debug-info This simplifies the core benefit of -flimit-debug-info by taking a more systematic approach to avoid emitting debug info definitions for types that only require declarations. The previous ad-hoc approach (3 cases removed in this patch) had many holes. The general approach (adding a bit to TagDecl and callback through ASTConsumer) has been discussed with Richard Smith - though always open to revision. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186262 91177308-0d34-0410-b5e6-96231b3b80d8
| * Correctly classify pack expansions as NON_CANONICAL_UNLESS_DEPENDENTDavid Blaikie2013-07-135-3/+9
| | | | | | | | | | | | | | | | | | | | | | Test coverage for non-dependent pack expansions doesn't demonstrate a failure prior to this patch (a follow-up commit improving debug info will cover this commit specifically) but covers a related hole in our test coverage. Reviewed by Richard Smith & Eli Friedman. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186261 91177308-0d34-0410-b5e6-96231b3b80d8
| * Simplify getTypeInfoImpl handling of 'non-canonical unless dependent' types.David Blaikie2013-07-131-26/+4
| | | | | | | | | | | | | | | | | | These types are not dependent in this context, so just look through the sugar. Review by Richard Smith & Eli Friedman. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@186260 91177308-0d34-0410-b5e6-96231b3b80d8