llvm-project/clang/test/Index
Rafael Espindola c67f223c9e Fix an old (2009) FIXME:
// FIXME: This needs to happen before we merge declarations. Then,
// let attribute merging cope with attribute conflicts.

This was already being done for variables, but for functions we were merging
then first and then applying the attributes. To avoid duplicating merging
logic, some of the helpers in SemaDeclAttr.cpp become methods that can
handle merging two attributes in one decl or inheriting attributes from one
decl to another.

With this change we are now able to produce errors for variables with
incompatible visibility attributes or warn about unused dllimports in
variables.

This changes the attribute list iteration back to being in reverse source
code order, as that matches what decl merging does and avoids differentiating
the two cases is the merge*Attr methods.

llvm-svn: 156531
2012-05-10 02:50:16 +00:00
..
Inputs Ensure that we clean up after a failed module build and cope with the 2012-01-29 19:57:03 +00:00
IBOutletCollection.m [libclang] Correct annotation and taking of cursor for objc class references 2011-09-13 18:49:56 +00:00
TestClassDecl.m [libclang] In clang::getCursorKindForDecl() don't return "UnexposedDecl" 2012-01-24 21:39:26 +00:00
TestClassForwardDecl.m [libclang] In clang::getCursorKindForDecl() don't return "UnexposedDecl" 2012-01-24 21:39:26 +00:00
annotate-attribute.cpp Fixed merge-mistake where ActOnAccessSpecifier was called twice for every access specifier. The testcase has been changed to catch this too. 2011-10-17 09:54:52 +00:00
annotate-context-sensitive.cpp [libclang] 2011-09-13 17:39:31 +00:00
annotate-literals.m And libclang cursor/indexing support for new Objective-C NSArray/NSDictionary/NSNumber literals. 2012-03-06 20:06:06 +00:00
annotate-macro-args.h [libclang] Annotate correctly macro argument tokens. 2011-08-18 18:03:34 +00:00
annotate-macro-args.m [libclang] For a CXCursor_ObjCInstanceMethodDecl/CXCursor_ObjCClassMethodDecl cursor, 2012-03-23 03:33:19 +00:00
annotate-nested-name-specifier.cpp Expose more statement, expression, and declaration kinds in libclang, 2011-10-05 19:00:14 +00:00
annotate-subscripting.m And libclang cursor/indexing support for new Objective-C NSArray/NSDictionary/NSNumber literals. 2012-03-06 20:06:06 +00:00
annotate-tokens-cxx0x.cpp Implement a new type trait __is_trivially_constructible(T, Args...) 2012-02-24 07:38:34 +00:00
annotate-tokens-include.c Improve the implementation of libclang's token-annotation logic for 2010-10-21 06:10:04 +00:00
annotate-tokens-include.h Workaround a really serious caching bug in SourceManager::isBeforeInTranslationUnit() where the 2010-05-06 00:22:25 +00:00
annotate-tokens-pp.c For SourceManager::isBeforeInTranslationUnit(), have it consider macro arg expanded 2011-12-21 16:56:29 +00:00
annotate-tokens-preamble.c Expose more statement, expression, and declaration kinds in libclang, 2011-10-05 19:00:14 +00:00
annotate-tokens-with-default-args.cpp Expose more statement, expression, and declaration kinds in libclang, 2011-10-05 19:00:14 +00:00
annotate-tokens-with-default-args.h [libclang] Annotation of parameters that got default args from a previous declarations was 2011-07-30 17:23:26 +00:00
annotate-tokens.c Expose more statement, expression, and declaration kinds in libclang, 2011-10-05 19:00:14 +00:00
annotate-tokens.cpp [libclang] For CXXOperatorCallExprs, give a valid source location to the DeclRefExpr 2012-02-08 01:21:13 +00:00
annotate-tokens.m [libclang] For a CXCursor_ObjCInstanceMethodDecl/CXCursor_ObjCClassMethodDecl cursor, 2012-03-23 03:33:19 +00:00
annotate-toplevel-in-objccontainer.m [libclang] For a CXCursor_ObjCInstanceMethodDecl/CXCursor_ObjCClassMethodDecl cursor, 2012-03-23 03:33:19 +00:00
annotate-toplevel-in-objccontainer.m.h [PCH] Check for isTopLevelDeclInObjCContainer when picking abbreviations. 2011-11-23 21:11:23 +00:00
arc-annotate.m Automatic Reference Counting. 2011-06-15 23:02:42 +00:00
arc-complete.m Automatic Reference Counting. 2011-06-15 23:02:42 +00:00
asm-attribute.c [libclang] API enhancements by Joe Groff! 2011-12-06 22:05:01 +00:00
availability.c Robustify test 2012-05-08 00:29:04 +00:00
blocks.c Expose more statement, expression, and declaration kinds in libclang, 2011-10-05 19:00:14 +00:00
boxed-exprs.h [libclang] Add a test for objc boxed expressions. 2012-05-09 17:46:47 +00:00
boxed-exprs.m [libclang] Add a test for objc boxed expressions. 2012-05-09 17:46:47 +00:00
c-index-api-loadTU-test.m Introduce a new libclang API to determine the platform availability of 2012-05-08 00:14:45 +00:00
c-index-getCursor-pp.c [libclang] Fix annotation and getting a "macro expansion" cursor 2011-09-08 17:18:41 +00:00
c-index-getCursor-test.m [libclang] For a CXCursor_ObjCInstanceMethodDecl/CXCursor_ObjCClassMethodDecl cursor, 2012-03-23 03:33:19 +00:00
c-index-pch.c Kill of the Decl::PCHLevel field entirely. We now only need to know 2011-09-10 00:09:20 +00:00
c-index-redecls.c When reading the AST, delay loading of the redeclaration chain to avoid deeply nested calls. 2011-02-12 07:50:47 +00:00
cindex-from-source.m Introduce a new libclang API, clang_reparseTranslationUnit(), which 2010-07-19 21:46:24 +00:00
cindex-on-invalid-usrs.m Extend warnings for missing '@end'. 2011-12-06 09:25:23 +00:00
cindex-on-invalid.m When translating a Clang source range into a libclang source range, 2011-04-20 21:16:21 +00:00
cindex-test-inclusions.c
code-completion.cpp New libclang API to expose container type for code completion, from 2011-07-21 01:05:26 +00:00
complete-access-checks.cpp Added CXAvailability_NotAccessible to indicate that a declaration is available, but not accessible from the current code completion context. 2011-10-06 07:27:49 +00:00
complete-at-directives.m Switch c-index-test from clang_codeComplete() over to 2010-10-11 21:37:58 +00:00
complete-at-exprstmt.m Provide result types for code completions that describe built-in 2011-10-18 21:20:17 +00:00
complete-blocks.m Don't format the code completion for parameters of block literal 2011-10-18 04:23:19 +00:00
complete-categories.m De-XFAIL some win32 tests that are now passing 2010-02-21 20:58:24 +00:00
complete-ctor-inits.cpp Tweak code-completion result priorities, so that exact and similar 2010-10-19 00:03:23 +00:00
complete-cxx-inline-methods.cpp Add a printing policy flag to suppress printing "<anonymous>::" prior 2011-11-03 00:16:13 +00:00
complete-declarators.cpp Tweak code-completion result priorities, so that exact and similar 2010-10-19 00:03:23 +00:00
complete-declarators.m Provide result types for code completions that describe built-in 2011-10-18 21:20:17 +00:00
complete-driver-errors.c Improve ASTUnit's capture of diagnostics so that the 2010-11-11 00:39:14 +00:00
complete-enums.c When determining the availability of an enum constant, also consider 2012-03-17 06:39:06 +00:00
complete-enums.cpp When providing code completions for a switch over a scoped enumeration 2012-02-01 05:02:47 +00:00
complete-exprs.c Provide result types for code completions that describe built-in 2011-10-18 21:20:17 +00:00
complete-exprs.cpp Introduce a new libclang API to determine the parent context of a code 2012-03-27 23:34:16 +00:00
complete-exprs.m And libclang cursor/indexing support for new Objective-C NSArray/NSDictionary/NSNumber literals. 2012-03-06 20:06:06 +00:00
complete-hiding.c Tweak code-completion result priorities, so that exact and similar 2010-10-19 00:03:23 +00:00
complete-in-invalid-method.m Make parsing of objc @implementations more robust. 2012-02-07 16:50:53 +00:00
complete-in-stringify.c Handle a code-completion token being passed to the macro stringify operator. 2011-09-04 03:32:19 +00:00
complete-interfaces.m When performing code completion after at @interface, allow both 2011-07-30 06:55:39 +00:00
complete-ivar-access.m Force test to use the non-fragile ABI 2011-11-03 19:58:50 +00:00
complete-kvc.m Tweak code completions for Objective-C Key-Value Observing. The 2011-06-02 04:02:27 +00:00
complete-lambdas.cpp Implement code completion support for lambda capture lists. 2012-02-15 15:34:24 +00:00
complete-macro-args.c [libclang] Support code-completion inside macro arguments. 2011-08-18 19:41:28 +00:00
complete-macros.c Fix the code completion string for variadic macros with more than one 2012-01-21 00:43:38 +00:00
complete-member-access.m Handle pseudo-object expressions (and any other placeholder 2012-01-23 15:59:30 +00:00
complete-memfunc-cvquals.cpp Tweak code-completion result priorities, so that exact and similar 2010-10-19 00:03:23 +00:00
complete-method-decls.m Include the Objective-C parameter- and return-passing qualifiers when 2012-04-10 18:35:07 +00:00
complete-modules.m Change @import to @__experimental_modules_import. We are not ready to commit to a particular syntax for modules, 2012-03-01 22:07:04 +00:00
complete-natural.m Introduce a new libclang aPI function, 2011-07-07 16:03:39 +00:00
complete-objc-message-id.m Support code-completion for C++ inline methods and ObjC buffering methods. 2011-09-04 03:32:15 +00:00
complete-objc-message.m Introduce a new libclang API to determine the parent context of a code 2012-03-27 23:34:16 +00:00
complete-pch.m When providing a code completion for an Objective-C message send, drop 2010-08-29 19:47:46 +00:00
complete-preprocessor.m Tweak code-completion result priorities, so that exact and similar 2010-10-19 00:03:23 +00:00
complete-properties.m When providing code completions of ivar names for a property 2011-04-18 14:40:46 +00:00
complete-property-flags.m Automatic Reference Counting. 2011-06-15 23:02:42 +00:00
complete-property-getset.m
complete-protocols.m Don't walk the translation unit context to produce protocol names when 2010-12-09 21:44:02 +00:00
complete-qualified.cpp Introduce a new libclang API to determine the parent context of a code 2012-03-27 23:34:16 +00:00
complete-recovery.m Test case for fix committed in r145441. 2011-11-30 23:03:25 +00:00
complete-stmt.c If code completion patterns are not enabled, use simpler else/else if 2012-02-16 17:49:04 +00:00
complete-super.cpp Don't include the ':' following code-completion suggestions for 2012-04-10 17:56:28 +00:00
complete-super.m Support code-completion for C++ inline methods and ObjC buffering methods. 2011-09-04 03:32:15 +00:00
complete-synthesized.m Add a target triple to test/Index/complete-synthesized.m. 2012-04-10 17:23:51 +00:00
complete-tabs.c
complete-templates.cpp Get rid of the lame attempt to prioritize "void" functions at 2010-09-20 21:25:19 +00:00
complete-type-factors.m Provide result types for code completions that describe built-in 2011-10-18 21:20:17 +00:00
complete-unterminated.c Don't emit end-of-file diagnostics like "unterminated conditional" or 2010-08-12 17:04:55 +00:00
complete-with-annotations.cpp Fix an old (2009) FIXME: 2012-05-10 02:50:16 +00:00
crash-recovery-code-complete.c Mark these tests as requiring use of the shell. 2011-10-27 21:50:13 +00:00
crash-recovery-modules.m Change @import to @__experimental_modules_import. We are not ready to commit to a particular syntax for modules, 2012-03-01 22:07:04 +00:00
crash-recovery-reparse.c Mark these tests as requiring use of the shell. 2011-10-27 21:50:13 +00:00
crash-recovery.c tests: Use REQUIRES: instead of XFAIL: for crash recovery tests; running them on 2010-08-24 21:39:55 +00:00
cursor-ref-names.cpp Expose more statement, expression, and declaration kinds in libclang, 2011-10-05 19:00:14 +00:00
cxx-operator-overload.cpp
cxx11-lambdas.cpp Implement indexing support for lambdas in libclang (both kinds), as 2012-02-15 00:54:55 +00:00
error-on-deserialized.c [libclang] In lazyCreateDiags, recreate the diagnostic set if the number of diagnostics 2011-11-16 02:34:55 +00:00
file-macro-refs.c [libclang] Make the test portable. 2011-11-29 05:48:01 +00:00
file-refs-subscripting.m And libclang cursor/indexing support for new Objective-C NSArray/NSDictionary/NSNumber literals. 2012-03-06 20:06:06 +00:00
file-refs.c [libclang] Introduce clang_findReferencesInFile which accepts a cursor, a file, 2011-10-06 07:00:54 +00:00
file-refs.cpp [libclang] Introduce clang_findReferencesInFile which accepts a cursor, a file, 2011-10-06 07:00:54 +00:00
file-refs.m [libclang] For a CXCursor_ObjCInstanceMethodDecl/CXCursor_ObjCClassMethodDecl cursor, 2012-03-23 03:33:19 +00:00
fix-its.c [libclang] In cxloc::translateSourceRange make sure to handle locations in macro arguments 2012-04-11 18:15:01 +00:00
get-cursor-includes.c When determining which preprocessed entities to traverse in libclang, 2010-12-21 19:07:48 +00:00
get-cursor-macro-args.h [libclang] Make clang_getCursor able to handle locations that point inside macro arguments. 2011-08-17 00:31:25 +00:00
get-cursor-macro-args.m [libclang] For a CXCursor_ObjCInstanceMethodDecl/CXCursor_ObjCClassMethodDecl cursor, 2012-03-23 03:33:19 +00:00
get-cursor.c [libclang] Fix getting a cursor that points inside tag definition that is part 2011-08-25 22:24:47 +00:00
get-cursor.cpp [libclang] Fix infinite loop when doing visitation of an OpaqueValueExpr. 2011-12-03 03:49:47 +00:00
get-cursor.m [libclang] Make sure that when we have multiple @class references in the same line, 2012-04-16 22:42:01 +00:00
getcursor-pp-pch.c [libclang] When pointing at a macro expansion inside a macro argument, 2011-09-20 23:27:33 +00:00
getcursor-pp-pch.c.h [libclang] When pointing at a macro expansion inside a macro argument, 2011-09-20 23:27:33 +00:00
in-class-init.cpp Update all tests other than Driver/std.cpp to use -std=c++11 rather than 2011-10-13 22:29:44 +00:00
include_test.h
include_test_2.h
index-attrs.m [libclang] Fix use-after-free bug when handling attributes indexing info. 2012-03-31 01:14:06 +00:00
index-decls.m [libclang] Make sure we don't crash when trying to index code that 2012-03-23 23:24:18 +00:00
index-invalid-code.m [Sema] A tag decl that is marked as invalid and is used in a decl-spec, 2012-03-10 03:20:58 +00:00
index-many-call-ops.cpp For RecursiveASTVisitor, do data recursion for CXXOperatorCallExpr. 2012-04-30 22:12:26 +00:00
index-many-logical-ops.c Make RecursiveASTVisitor to traverse certain statements using data recursion 2012-03-15 18:07:19 +00:00
index-refs.cpp [libclang] Index the field references of a designated initializer, rdar://10906206 2012-02-22 02:10:41 +00:00
index-subscripting-literals.m And libclang cursor/indexing support for new Objective-C NSArray/NSDictionary/NSNumber literals. 2012-03-06 20:06:06 +00:00
index-suppress-refs.cpp [libclang] Add a libclang test I neglected to commit. 2012-02-09 18:31:22 +00:00
index-suppress-refs.h [libclang] Suppress indexing references for occurrences of the interface 2011-12-15 00:04:56 +00:00
index-suppress-refs.hpp [libclang] Add a libclang test I neglected to commit. 2012-02-09 18:31:22 +00:00
index-suppress-refs.m [libclang] Suppress indexing references for occurrences of the interface 2011-12-15 00:04:56 +00:00
index-templates.cpp Expose more statement, expression, and declaration kinds in libclang, 2011-10-05 19:00:14 +00:00
initializer-memory.cpp Don't waste memory if the initializer expression is empty. 2011-04-28 18:53:55 +00:00
invalid-code-rdar10451854.m [libclang] Fix crash on invalid code. Fixes rdar://10451854 2011-11-16 02:35:10 +00:00
invalid-code-rdar_7833619.m Fix CIndex crash on invalid code reported in <rdar://problem/7833619>. 2010-04-07 00:27:13 +00:00
invalid-rdar-8236270.cpp Remove unnecessary and incorrect redirection of stderr. 2012-01-20 22:01:45 +00:00
linkage.c ParmVarDecls have no linkage. Previously we would report that parameters 2011-12-01 01:28:21 +00:00
load-classes.cpp Fixed source range for all DeclaratorDecl's. 2011-03-08 08:55:46 +00:00
load-decls.c Avoid to emit redundant implicit cast for enum constants init expressions. 2010-12-17 12:21:11 +00:00
load-exprs.c When libclang visits a translation unit via clang_visitChildren(), 2011-03-16 23:23:30 +00:00
load-namespaces.cpp Fixed NamespaceDecl source range. 2011-03-08 12:38:20 +00:00
load-stmts.cpp Expose more statement, expression, and declaration kinds in libclang, 2011-10-05 19:00:14 +00:00
local-symbols.m [libclang] For a CXCursor_ObjCInstanceMethodDecl/CXCursor_ObjCClassMethodDecl cursor, 2012-03-23 03:33:19 +00:00
ms-if-exists.cpp Turn off delayed template parsing for this test 2011-10-25 20:12:15 +00:00
nested-binaryoperators.cpp Expose more statement, expression, and declaration kinds in libclang, 2011-10-05 19:00:14 +00:00
overrides.cpp Add c-index-test printing and tests for static and virtual method 2011-05-13 15:54:42 +00:00
overrides.m [AST/libclang] Speed up clang_getOverriddenCursors() considerably by reserving a bit 2012-05-09 16:12:57 +00:00
pch-opaque-value.cpp [PCH] Make sure that the SourceExpr of a OpaqueValueExpr is always initialized 2011-12-03 03:49:52 +00:00
pch-with-errors.c Allow serializing an invalid ParmVarDecl and don't set access to public for 2012-03-09 21:09:04 +00:00
pch-with-errors.m [Sema] -Add an invalid objc category to the DeclContext so that it can be 2012-03-12 18:34:26 +00:00
pragma-diag-reparse.c [PCH] Fix reading from PCH of diagnostic pragmas. 2011-11-09 01:24:17 +00:00
preamble-reparse-chained.c Fixed TypedefDecl and TemplateTypeParameter source range. 2011-03-06 15:48:19 +00:00
preamble-reparse-cmd-define.c [libclang] In ASTUnit::Parse copy the CompilerInvocation object instead of 2011-09-12 18:09:38 +00:00
preamble-reparse-cmd-define.c.h [libclang] In ASTUnit::Parse copy the CompilerInvocation object instead of 2011-09-12 18:09:38 +00:00
preamble-reparse-cmd-define.c.remap [libclang] In ASTUnit::Parse copy the CompilerInvocation object instead of 2011-09-12 18:09:38 +00:00
preamble-reparse-import.m [PCH] When chaining a PCH and serializing HeaderSearch, make sure the HeaderFileInfos 2011-11-13 22:08:39 +00:00
preamble-reparse-import.m-1.h [PCH] When chaining a PCH and serializing HeaderSearch, make sure the HeaderFileInfos 2011-11-13 22:08:39 +00:00
preamble-reparse-import.m-2.h [PCH] When chaining a PCH and serializing HeaderSearch, make sure the HeaderFileInfos 2011-11-13 22:08:39 +00:00
preamble-reparse-import.m-3.h [PCH] When chaining a PCH and serializing HeaderSearch, make sure the HeaderFileInfos 2011-11-13 22:08:39 +00:00
preamble-reparse.c When we decide not to reuse a precompiled preamble, clear out the 2010-08-20 00:02:33 +00:00
preamble.c Expose more statement, expression, and declaration kinds in libclang, 2011-10-05 19:00:14 +00:00
preamble_macro_template.cpp Revert r145244. It causes us to create broken ASTs with missing type information 2011-11-29 22:48:16 +00:00
print-display-names.cpp Introduce a new libclang function, clang_getCursorDisplayName(), which 2010-10-02 22:49:11 +00:00
print-typekind.c [libclang] Introduce a couple of functions to make it convenient 2012-04-11 19:32:19 +00:00
print-typekind.m [libclang] Map 'id'/'Class'/'SEL' to the corresponding CXType kinds. 2012-05-08 01:22:12 +00:00
print-usrs.c Rework USR generation for symbols with no linkage. Many of the USRs are now shortened, 2010-04-16 21:31:52 +00:00
properties-class-extensions.m [libclang] For a CXCursor_ObjCInstanceMethodDecl/CXCursor_ObjCClassMethodDecl cursor, 2012-03-23 03:33:19 +00:00
rdar-8288645-invalid-code.mm Restore patch I reversed in r138040. Known buildbot 2011-08-22 15:54:49 +00:00
recover-bad-code-rdar_7487294.c Don't skip past the '}' if an expression has error and is not followed by ';'. 2010-03-31 00:37:59 +00:00
recursive-cxx-member-calls.cpp [libclang] For CXXOperatorCallExprs, give a valid source location to the DeclRefExpr 2012-02-08 01:21:13 +00:00
recursive-member-access.c Expose more statement, expression, and declaration kinds in libclang, 2011-10-05 19:00:14 +00:00
redeclarations.cpp Disalbe more Microsoft-specific stuff. 2011-10-26 23:19:04 +00:00
remap-complete.c Speed up code-completion by skipping function bodies. 2011-01-03 19:44:02 +00:00
remap-cursor-at.c Eliminate clang_setUseExternalASTGeneration() from libclang. Between 2010-10-11 16:52:23 +00:00
remap-load.c Expose more statement, expression, and declaration kinds in libclang, 2011-10-05 19:00:14 +00:00
reparse-instantiate.cpp ASTConsumer::handleTopLevelDecl will end up getting called for 2011-11-07 18:53:57 +00:00
retain-target-options.c Per discussion on cfe-dev, remove '#error' and '#warning' from diagnostic text. 2012-02-02 00:16:13 +00:00
targeted-annotation.c [libclang] Make clang_annotateTokens use "file-targeted" deserialization and avoid 2011-11-16 08:58:57 +00:00
targeted-cursor.c [libclang] Make sure pointing inside the #include of the fields will return the struct. 2011-11-03 19:02:30 +00:00
targeted-cursor.m [libclang] Add a triple to the test. 2012-02-24 19:45:42 +00:00
targeted-cursor.m.h [PCH] When keeping track of top-level decls for "targeted deserialization" 2012-02-24 01:12:38 +00:00
targeted-fields.h [libclang] Add infrastructure to be able to only deserialize decls in a file region and 2011-11-03 02:20:32 +00:00
targeted-file-refs.c [libclang] Make clang_findReferencesInFile use "file-targeted" deserialization and avoid 2011-11-16 08:58:54 +00:00
targeted-nested1.h [libclang] Add infrastructure to be able to only deserialize decls in a file region and 2011-11-03 02:20:32 +00:00
targeted-preamble.h [libclang] Add infrastructure to be able to only deserialize decls in a file region and 2011-11-03 02:20:32 +00:00
targeted-top.h [libclang] Add infrastructure to be able to only deserialize decls in a file region and 2011-11-03 02:20:32 +00:00
unmatched-braces.c [parser] If there are unmatched braces in a function definition, try to 2012-03-24 02:26:51 +00:00
unmatched-braces.m [parser] If there are unmatched braces in a function definition, try to 2012-03-24 02:26:51 +00:00
usrs-cxx0x.cpp Update all tests other than Driver/std.cpp to use -std=c++11 rather than 2011-10-13 22:29:44 +00:00
usrs.cpp Use the canonical decl when generating the locations for USRs. 2011-05-03 01:33:35 +00:00
usrs.m [libclang] For a CXCursor_ObjCInstanceMethodDecl/CXCursor_ObjCClassMethodDecl cursor, 2012-03-23 03:33:19 +00:00
vector-types.c [libclang] API enhancements by Joe Groff! 2011-12-06 22:05:01 +00:00
warning-flags.c Don't silently drop warning flags passed in to 2011-01-19 01:02:47 +00:00
werror.c [PCH] Mark a PCH file with a flag to indicate if the serialized AST had 2012-03-07 01:51:17 +00:00