llvm-project/clang/lib/Sema
Rafael Espindola 19de5613ea Disable caching of visibility.
The testcase in pr14929 shows that this is extremely hard to do. If we choose
to apply the attribute, that causes the visibility of some decls to change and
that can happen really late (during codegen).

Current gcc warns and ignores the attribute in this testcase with a warning.
This suggest that the correct solution is to find a point in the compilation
where we can compute the visibility and
* assert it was never computed before
* reject any attempts to compute it again in the future (with warnings).

llvm-svn: 172305
2013-01-12 06:42:30 +00:00
..
AnalysisBasedWarnings.cpp s/CPlusPlus0x/CPlusPlus11/g 2013-01-02 11:42:31 +00:00
AttributeList.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
CMakeLists.txt From Vassil Vassilev: enable Sema to deal with multiple ExternalSemaSources. 2012-10-18 19:05:02 +00:00
CodeCompleteConsumer.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
DeclSpec.cpp s/CPlusPlus0x/CPlusPlus11/g 2013-01-02 11:42:31 +00:00
DelayedDiagnostic.cpp objective-C: when diagnosing deprecated/unavailable usage of 2012-09-21 20:46:37 +00:00
IdentifierResolver.cpp IdentifierResolver: Remove an unnecessary include and an unused parameter. 2012-12-17 03:51:09 +00:00
JumpDiagnostics.cpp s/CPlusPlus0x/CPlusPlus11/g 2013-01-02 11:42:31 +00:00
Makefile BUILD_ARCHIVE is the default for libraries, no need to set it. 2010-07-18 00:14:47 +00:00
MultiplexExternalSemaSource.cpp Truth in advertising: LocallyScopedExternalDecls actually only contains 2013-01-10 23:43:47 +00:00
Scope.cpp Reapply r151638 and r151641. 2012-02-29 10:24:19 +00:00
ScopeInfo.cpp -Warc-repeated-use-of-weak: fix a use-of-uninitialized and add a test case. 2012-10-11 17:02:00 +00:00
Sema.cpp Mark all subsequent decls used. 2013-01-08 19:43:34 +00:00
SemaAccess.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
SemaAttr.cpp Disable caching of visibility. 2013-01-12 06:42:30 +00:00
SemaCXXScopeSpec.cpp s/CPlusPlus0x/CPlusPlus11/g 2013-01-02 11:42:31 +00:00
SemaCast.cpp s/CPlusPlus0x/CPlusPlus11/g 2013-01-02 11:42:31 +00:00
SemaChecking.cpp s/CPlusPlus0x/CPlusPlus11/g 2013-01-02 11:42:31 +00:00
SemaCodeComplete.cpp Constify parameter of clang::getCursorKindForDecl 2013-01-11 20:32:41 +00:00
SemaConsumer.cpp Unweaken vtables as per http://llvm.org/docs/CodingStandards.html#ll_virtual_anch 2011-12-20 02:48:34 +00:00
SemaDecl.cpp Disable caching of visibility. 2013-01-12 06:42:30 +00:00
SemaDeclAttr.cpp Disable caching of visibility. 2013-01-12 06:42:30 +00:00
SemaDeclCXX.cpp Tighten types a bit. No functionality change. 2013-01-08 20:44:06 +00:00
SemaDeclObjC.cpp objective-C: when searching for declarations in protocol 2013-01-07 19:21:03 +00:00
SemaExceptionSpec.cpp s/CPlusPlus0x/CPlusPlus11/g 2013-01-02 11:42:31 +00:00
SemaExpr.cpp put back diagnostics when flexible members are captured 2013-01-09 00:09:15 +00:00
SemaExprCXX.cpp s/CPlusPlus0x/CPlusPlus11/g 2013-01-02 11:42:31 +00:00
SemaExprMember.cpp s/CPlusPlus0x/CPlusPlus11/g 2013-01-02 11:42:31 +00:00
SemaExprObjC.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
SemaFixItUtils.cpp s/CPlusPlus0x/CPlusPlus11/g 2013-01-02 11:42:31 +00:00
SemaInit.cpp Only produce one -Wc++98-compat warning when initializing a reference from an init list with multiple elements. 2013-01-12 01:05:20 +00:00
SemaLambda.cpp Revert r170500. It over-zealously converted *ALL* things named Attributes, which is wrong here. 2012-12-20 19:22:21 +00:00
SemaLookup.cpp s/CPlusPlus0x/CPlusPlus11/g 2013-01-02 11:42:31 +00:00
SemaObjCProperty.cpp Use Decl::getAvailability() rather than checking for the "unavailable" 2013-01-08 18:16:18 +00:00
SemaOverload.cpp Fix a regression from 171193: main cannot be overloaded. 2013-01-12 01:47:40 +00:00
SemaPseudoObject.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
SemaStmt.cpp Fix -Wunused-comparison for comparisons in arguments to function-like macros. 2013-01-12 00:54:16 +00:00
SemaStmtAsm.cpp [ms-inline asm] Extend the inline asm Sema lookup interface to determine if the 2013-01-10 22:10:16 +00:00
SemaStmtAttr.cpp Improve C++11 attribute parsing. 2012-10-03 01:56:22 +00:00
SemaTemplate.cpp s/CPlusPlus0x/CPlusPlus11/g 2013-01-02 11:42:31 +00:00
SemaTemplateDeduction.cpp s/CPlusPlus0x/CPlusPlus11/g 2013-01-02 11:42:31 +00:00
SemaTemplateInstantiate.cpp PR13470: Ensure that copy-list-initialization isntantiates as 2012-12-19 01:39:02 +00:00
SemaTemplateInstantiateDecl.cpp s/CPlusPlus0x/CPlusPlus11/g 2013-01-02 11:42:31 +00:00
SemaTemplateVariadic.cpp Re-commit r170428 changes with Linux style file endings. 2012-12-18 14:38:23 +00:00
SemaType.cpp Provide Decl::getOwningModule(), which determines the (sub)module in 2013-01-12 01:29:50 +00:00
TargetAttributesSema.cpp Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00
TargetAttributesSema.h Revert r170500. It over-zealously converted *ALL* things named Attributes, which is wrong here. 2012-12-20 19:22:21 +00:00
TreeTransform.h Remove the anonymous namespace from lib/Sema/TreeTransform.h 2013-01-02 19:10:22 +00:00
TypeLocBuilder.h Sort all of Clang's files under 'lib', and fix up the broken headers 2012-12-04 09:13:33 +00:00