llvm-project/clang/lib/AST
Richard Smith becb92dec8 [Modules TS] Module ownership semantics for redeclarations.
When declaring an entity in the "purview" of a module, it's never a
redeclaration of an entity in the purview of a default module or in no module
("in the global module"). Don't consider those other declarations as possible
redeclaration targets if they're not visible, and reject any cases where we
pick a prior visible declaration that violates this rule.

This reinstates r315251 and r315256, reverted in r315309 and r315308
respectively, tweaked to avoid triggering a linkage calculation when declaring
implicit special members (this exposed our pre-existing issue with typedef
names for linkage changing the linkage of types whose linkage has already been
computed and cached in more cases). A testcase for that regression has been
added in r315366.

llvm-svn: 315379
2017-10-10 22:33:17 +00:00
..
APValue.cpp Re-commit r289252 and r289285, and fix PR31374 2016-12-15 08:09:08 +00:00
ASTConsumer.cpp Move LocInfoType from Sema to AST. 2016-02-01 17:42:01 +00:00
ASTContext.cpp Remove unused variables. No functionality change. 2017-10-08 21:23:02 +00:00
ASTDiagnostic.cpp Added LLVM_FALLTHROUGH to address warning: this statement may fall through. NFC. 2017-06-03 06:31:42 +00:00
ASTDumper.cpp Extend -ast-dump for CXXRecordDecl to dump the flags from the DefinitionData. 2017-09-22 00:11:15 +00:00
ASTImporter.cpp Add Cross Translation Unit support library 2017-09-22 11:11:01 +00:00
ASTStructuralEquivalence.cpp Dependent Address Space Support 2017-10-02 06:25:51 +00:00
ASTTypeTraits.cpp Teach clang-query to dump types. I couldn't find any existing tests for clang-query's dumping functionality. =( 2016-11-02 23:57:18 +00:00
AttrImpl.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CMakeLists.txt [analyzer] Make StmtDataCollector customizable 2017-08-23 16:28:26 +00:00
CXXABI.h Remove C++ default arg side table for MS ABI ctor closures 2016-11-23 16:51:30 +00:00
CXXInheritance.cpp [index] Avoid one more crash caused by infinite recursion that happens when 2017-05-18 18:06:07 +00:00
Comment.cpp [AST] Look through attribute type locs when searching for function type 2017-04-26 12:46:27 +00:00
CommentBriefParser.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CommentCommandTraits.cpp
CommentLexer.cpp Fix 'unknown documentation command' warning ranges 2016-10-25 10:06:11 +00:00
CommentParser.cpp [cleanup] Remove excessive padding from TextTokenRetokenizer::Position 2016-09-20 18:32:48 +00:00
CommentSema.cpp -Wdocumentation should allow '...' params in variadic function type aliases 2017-10-06 20:51:04 +00:00
DataCollection.cpp [analyzer] Make StmtDataCollector customizable 2017-08-23 16:28:26 +00:00
Decl.cpp [Modules TS] Module ownership semantics for redeclarations. 2017-10-10 22:33:17 +00:00
DeclBase.cpp [Modules TS] Module ownership semantics for redeclarations. 2017-10-10 22:33:17 +00:00
DeclCXX.cpp [Modules TS] Module ownership semantics for redeclarations. 2017-10-10 22:33:17 +00:00
DeclFriend.cpp [TrailingObjects] Convert Decl* classes. 2015-12-29 22:13:13 +00:00
DeclGroup.cpp Retire llvm::alignOf in favor of C++11 alignof. 2016-10-20 14:27:22 +00:00
DeclObjC.cpp [ObjC] Pick a 'readwrite' property when synthesizing ambiguous 2017-07-13 11:06:22 +00:00
DeclOpenMP.cpp [OPENMP] Fix for PR31416: Clang crashes on OMPCapturedExpr during source 2016-12-20 16:51:02 +00:00
DeclPrinter.cpp [OPENMP] Fix for PR34445: Reduction initializer segfaults at runtime in 2017-09-06 14:49:58 +00:00
DeclTemplate.cpp Add a destruct-on-exit function to ASTContext. 2017-02-14 05:37:36 +00:00
DeclarationName.cpp [ASTPrinter] Print nested name specifiers for out-of-line functions 2017-04-11 16:46:03 +00:00
Expr.cpp [Sema] Suppress warnings for C's zero initializer 2017-09-29 09:44:41 +00:00
ExprCXX.cpp PR33489: A function-style cast to a deduced class template specialization type is type-dependent if it can't be resolved due to a type-dependent argument. 2017-08-11 02:04:19 +00:00
ExprClassification.cpp [Sema] Disallow assigning record lvalues with nested const-qualified fields. 2017-09-19 13:10:30 +00:00
ExprConstant.cpp [ExprConstant] Allow constexpr ctor to modify non static data members 2017-10-04 00:18:55 +00:00
ExprObjC.cpp Retire llvm::alignOf in favor of C++11 alignof. 2016-10-20 14:27:22 +00:00
ExternalASTMerger.cpp Fix -Wcast-qual warning after r314336. 2017-09-28 15:44:46 +00:00
ExternalASTSource.cpp Modular Codegen: Support homing debug info for types in modular objects 2017-04-11 21:13:37 +00:00
InheritViz.cpp
ItaniumCXXABI.cpp Remove C++ default arg side table for MS ABI ctor closures 2016-11-23 16:51:30 +00:00
ItaniumMangle.cpp Remove unused variables. No functionality change. 2017-10-08 21:23:02 +00:00
Linkage.h Give external linkage and mangling to lambdas inside inline variables and variable templates. 2017-09-22 04:25:05 +00:00
Mangle.cpp [modules ts] Ensure that module linkage variables are always emitted and always have their name mangled. 2017-09-07 00:55:55 +00:00
MicrosoftCXXABI.cpp Remove C++ default arg side table for MS ABI ctor closures 2016-11-23 16:51:30 +00:00
MicrosoftMangle.cpp Dependent Address Space Support 2017-10-02 06:25:51 +00:00
NSAPI.cpp Recommit "Add _Float16 as a C/C++ source language type" 2017-09-08 15:15:00 +00:00
NestedNameSpecifier.cpp Added LLVM_FALLTHROUGH to address warning: this statement may fall through. NFC. 2017-06-03 06:31:42 +00:00
ODRHash.cpp [ODRHash] Add base classes to hashing CXXRecordDecl. 2017-09-30 02:19:17 +00:00
OpenMPClause.cpp [OPENMP] Capture argument of `device` clause for target-based 2017-10-02 16:32:39 +00:00
ParentMap.cpp [arcmt/objcmt] Fix ParentMap crash with invalid code. 2016-07-14 20:21:16 +00:00
RawCommentList.cpp AST: Improve a couple of comments and cast unused values to void 2016-10-16 20:12:42 +00:00
RecordLayout.cpp [RecordLayout] Use an ASTVector instead of using a separate pointer and counter 2016-05-24 18:10:50 +00:00
RecordLayoutBuilder.cpp Remove unused variables. No functionality change. 2017-10-08 19:11:02 +00:00
SelectorLocationsKind.cpp
Stmt.cpp [OPENMP] Support for re-declarations when checking captured variables. 2017-09-20 20:11:31 +00:00
StmtCXX.cpp [coroutines] Add serialization/deserialization of coroutines 2017-07-25 18:01:49 +00:00
StmtIterator.cpp [ptr-traits] Stop using two bogus types as stand-ins for flags 2015-12-30 02:51:00 +00:00
StmtObjC.cpp Retire llvm::alignOf in favor of C++11 alignof. 2016-10-20 14:27:22 +00:00
StmtOpenMP.cpp [OPENMP] Codegen for 'task_reduction' clause. 2017-07-25 15:53:26 +00:00
StmtPrinter.cpp Recommit "Add _Float16 as a C/C++ source language type" 2017-09-08 15:15:00 +00:00
StmtProfile.cpp Fix mangling for dependent "type { expr-list }" expressions, and add mangling for designated initializers matching recent cxx-abi-dev discussion. 2017-08-23 22:12:08 +00:00
StmtViz.cpp
TemplateBase.cpp [AST] Give TemplateArgumentLoc a constexpr ctor. 2017-01-30 18:32:46 +00:00
TemplateName.cpp PR10147: When substituting a template template argument, substitute in the most 2017-08-29 22:14:43 +00:00
Type.cpp Dependent Address Space Support 2017-10-02 06:25:51 +00:00
TypeLoc.cpp Recommit "Add _Float16 as a C/C++ source language type" 2017-09-08 15:15:00 +00:00
TypePrinter.cpp Dependent Address Space Support 2017-10-02 06:25:51 +00:00
VTTBuilder.cpp
VTableBuilder.cpp [ms] Fix vbtable index for covariant overrides of vbase methods 2017-08-29 17:40:04 +00:00