llvm-project/clang/lib/Sema
Eric Fiselier 7ae80c6396 [Sema] Prevent using member declaration diagnostic if the base class is invalid.
Summary:
Once a base class has been made invalid (by a static_assert for example) all using-member declarations in the derived classes will result in a "not a base class" diagnostic. This diagnostic is very misleading and should not be emitted.

This change is needed to help libc++ produce reasonable diagnostics in `std::optional` and `std::variant`.  

Reviewers: rsmith, majnemer, aaron.ballman

Subscribers: cfe-commits

Differential Revision: https://reviews.llvm.org/D25430

llvm-svn: 283755
2016-10-10 14:26:40 +00:00
..
AnalysisBasedWarnings.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
AttributeList.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
CMakeLists.txt It seems we need to add SemaExpr.cpp to the /bigobj list; I am getting consistent failures of hitting the section count limit. 2016-06-01 15:17:54 +00:00
CodeCompleteConsumer.cpp Fix unnecessary default switch warning 2016-07-27 16:41:56 +00:00
DeclSpec.cpp [GCC] Support for __final specifier 2016-07-29 10:42:48 +00:00
DelayedDiagnostic.cpp [NFC][ObjC Availability] Refactor DiagnoseAvailabilityOfDecl 2016-08-05 22:59:03 +00:00
IdentifierResolver.cpp [modules] Separately track whether an identifier's preprocessor information and 2016-02-05 19:03:40 +00:00
JumpDiagnostics.cpp [ObjC] Warn on unguarded use of partial declaration 2016-08-16 17:44:11 +00:00
MultiplexExternalSemaSource.cpp Method Pool in modules: we make sure that if a module contains an entry for 2016-04-29 19:04:05 +00:00
Scope.cpp [Parser] Clear the TemplateParamScope bit of the current scope's flag 2016-04-29 02:24:14 +00:00
ScopeInfo.cpp [ObjC] Warn on unguarded use of partial declaration 2016-08-16 17:44:11 +00:00
Sema.cpp [coroutines] Switch to using std::experimental namespace per P0057R5 2016-10-04 00:31:16 +00:00
SemaAccess.cpp P0136R1, DR1573, DR1645, DR1715, DR1736, DR1903, DR1941, DR1959, DR1991: 2016-06-28 19:03:57 +00:00
SemaAttr.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
SemaCUDA.cpp Revert "P0035R4: Semantic analysis and code generation for C++17 overaligned allocation." 2016-10-10 14:13:55 +00:00
SemaCXXScopeSpec.cpp Pass information in a record instead of stack. NFC 2016-08-08 04:02:15 +00:00
SemaCast.cpp This patch implements PR#22821. 2016-08-12 08:04:13 +00:00
SemaChecking.cpp [Sema] Packed member warning: Use the typedef name for anonymous structures 2016-10-05 09:27:48 +00:00
SemaCodeComplete.cpp [CodeCompletion] Allow system headers providing private symbols with a single underscore. 2016-07-01 01:17:02 +00:00
SemaConsumer.cpp
SemaCoroutine.cpp [coroutines] Fix co_return statement for initializer list arguments 2016-10-06 21:23:38 +00:00
SemaDecl.cpp Revert "P0035R4: Semantic analysis and code generation for C++17 overaligned allocation." 2016-10-10 14:13:55 +00:00
SemaDeclAttr.cpp [Sema] Fix PR30520: Handle incomplete field types in transparent_union unions 2016-10-06 09:47:29 +00:00
SemaDeclCXX.cpp [Sema] Prevent using member declaration diagnostic if the base class is invalid. 2016-10-10 14:26:40 +00:00
SemaDeclObjC.cpp ObjectiveC Generics: Start using ObjCTypeParamType. 2016-09-13 17:41:05 +00:00
SemaExceptionSpec.cpp Don't diagnoes a mismatch between implicit and explicit exception 2016-08-31 20:38:32 +00:00
SemaExpr.cpp [CUDA] Do a better job at detecting wrong-side calls. 2016-10-08 01:07:11 +00:00
SemaExprCXX.cpp Revert "P0035R4: Semantic analysis and code generation for C++17 overaligned allocation." 2016-10-10 14:13:55 +00:00
SemaExprMember.cpp P0217R3: Perform semantic checks and initialization for the bindings in a 2016-08-11 22:25:46 +00:00
SemaExprObjC.cpp Fix typos in comments. 2016-09-01 01:26:58 +00:00
SemaFixItUtils.cpp Wire a SourceLocation into IsDerivedFrom and move the RequireCompleteType call 2015-12-18 21:45:41 +00:00
SemaInit.cpp PR22924, PR22845, some of CWG1464: When checking the initializer for an array 2016-10-05 22:41:02 +00:00
SemaLambda.cpp [CUDA] Make lambdas inherit __host__ and __device__ attributes from the scope in which they're created. 2016-09-30 17:14:53 +00:00
SemaLookup.cpp Revert accidentally checked in change in r281315. 2016-09-13 10:38:26 +00:00
SemaObjCProperty.cpp [ObjC] Remove _Atomic from return type and parameter type of 2016-05-26 00:37:30 +00:00
SemaOpenMP.cpp [OpenMP] Check if the template specialization is mappable instead of specialized template Differential Revision: https://reviews.llvm.org/D25252 2016-10-06 15:47:36 +00:00
SemaOverload.cpp Revert "P0035R4: Semantic analysis and code generation for C++17 overaligned allocation." 2016-10-10 14:13:55 +00:00
SemaPseudoObject.cpp PR25890: Fix incoherent error handling in PerformImplicitConversion and 2016-10-06 23:12:58 +00:00
SemaStmt.cpp PR25890: Fix incoherent error handling in PerformImplicitConversion and 2016-10-06 23:12:58 +00:00
SemaStmtAsm.cpp [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
SemaStmtAttr.cpp Add loop pragma for Loop Distribution 2016-06-14 12:04:26 +00:00
SemaTemplate.cpp Factor out a diagnostic kind enum for use in two %select expressions 2016-10-03 18:34:23 +00:00
SemaTemplateDeduction.cpp P0127R2: Support type deduction for types of non-type template parameters in 2016-09-28 23:55:27 +00:00
SemaTemplateInstantiate.cpp P0127R2: Support type deduction for types of non-type template parameters in 2016-09-28 23:55:27 +00:00
SemaTemplateInstantiateDecl.cpp Simplify. NFC. 2016-09-13 10:36:12 +00:00
SemaTemplateVariadic.cpp Fix crash while parsing variable template with variadic template arguments 2016-05-26 12:55:34 +00:00
SemaType.cpp P0127R2: Support type deduction for types of non-type template parameters in 2016-09-28 23:55:27 +00:00
TreeTransform.h Factor out a diagnostic kind enum for use in two %select expressions 2016-10-03 18:34:23 +00:00
TypeLocBuilder.cpp [Sema] Fix bug in TypeLocBuilder::pushImpl 2016-02-18 21:05:09 +00:00
TypeLocBuilder.h Correcting a typo in a comment; NFC. 2016-06-08 12:33:18 +00:00