llvm-project/clang/lib/Sema
Richard Smith 58f831d2b3 More robust fix for crash on invalid range-based for statement.
Reliably mark the loop variable declaration in a range for as having an
invalid initializer if anything goes wrong building the initializer. We
previously based this determination on whether an error was emitted,
which is not a reliable signal due to error suppression (during error
recovery etc).

Also, properly mark the variable as having initializer errors rather
than simply marking it invalid. This is necessary to mark any structured
bindings as invalid too.

This generalizes the previous fix in
936ec89e91.
2020-06-08 13:11:23 -07:00
..
AnalysisBasedWarnings.cpp Thread safety analysis: Add note for double unlock 2020-06-08 17:00:29 +02:00
CMakeLists.txt [OpenMP][SYCL] Improve diagnosing of unsupported types usage 2020-05-29 18:00:48 +03:00
CodeCompleteConsumer.cpp Remove llvm::Error include form Diagnostic.h 2020-04-06 10:42:17 -07:00
CoroutineStmtBuilder.h Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
DeclSpec.cpp [ARM] Add __bf16 as new Bfloat16 C Type 2020-06-05 10:32:43 +01:00
DelayedDiagnostic.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
IdentifierResolver.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
JumpDiagnostics.cpp [CodeGen] Emit destructor calls to destruct compound literals 2020-03-10 14:08:28 -07:00
MultiplexExternalSemaSource.cpp recommit 1b978ddba0 [CUDA][HIP][OpenMP] Emit deferred diagnostics by a post-parsing AST travese 2020-03-23 12:09:07 -04:00
OpenCLBuiltins.td [OpenCL] Add sub-group builtin functions 2020-04-02 13:18:56 +01:00
ParsedAttr.cpp [Sema] Silence warnings when targeting x86 with VS2019 16.5.4 2020-05-06 09:11:59 -04:00
Scope.cpp Un-revert "[coroutines][PR40978] Emit error for co_yield within catch block" 2019-03-25 00:53:10 +00:00
ScopeInfo.cpp PR42104: Support instantiations of lambdas that implicitly capture 2019-06-04 17:17:20 +00:00
Sema.cpp [OpenMP][SYCL] Do not crash on attempt to diagnose unsupported type use 2020-05-30 12:27:58 +03:00
SemaAccess.cpp [c++20] Delete defaulted comparison functions if they would invoke an 2019-12-10 19:28:30 -08:00
SemaAttr.cpp [clang] Fix bug in #pragma float_control(push/pop) 2020-05-14 05:58:11 -07:00
SemaAvailability.cpp Prune TargetInfo.h include from ParsedAttr.h, NFC 2020-03-11 20:47:11 -07:00
SemaCUDA.cpp [CUDA][HIP] Fix implicit HD function resolution 2020-06-04 16:54:52 -04:00
SemaCXXScopeSpec.cpp [Clang] Migrate llvm::make_unique to std::make_unique 2019-08-14 23:04:18 +00:00
SemaCast.cpp [ARM] Add __bf16 as new Bfloat16 C Type 2020-06-05 10:32:43 +01:00
SemaChecking.cpp [ARM] Add __bf16 as new Bfloat16 C Type 2020-06-05 10:32:43 +01:00
SemaCodeComplete.cpp [Sema][CodeComplete][ObjC] Don't include arrow/dot fixits 2020-06-08 12:46:00 -04:00
SemaConcept.cpp PR45589: Properly decompose overloaded `&&` and `||` operators in 2020-05-12 13:45:45 -07:00
SemaConsumer.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SemaCoroutine.cpp [coroutines] Don't build promise init with no args 2020-04-02 21:44:54 -04:00
SemaDecl.cpp More robust fix for crash on invalid range-based for statement. 2020-06-08 13:11:23 -07:00
SemaDeclAttr.cpp [WebAssembly] Improve clang diagnostics for wasm attributes 2020-06-05 14:32:51 -07:00
SemaDeclCXX.cpp PR46209: properly determine whether a copy assignment operator is 2020-06-05 16:05:32 -07:00
SemaDeclObjC.cpp [ObjC generics] Fix not inheriting type bounds in categories/extensions. 2020-04-24 16:32:28 -07:00
SemaExceptionSpec.cpp [Matrix] Implement matrix index expressions ([][]). 2020-06-01 20:08:49 +01:00
SemaExpr.cpp Reland D80979 [clang] Implement VectorType logic not operator 2020-06-08 09:32:30 -07:00
SemaExprCXX.cpp [AST] Record SourceLocation for TypoExpr. 2020-06-05 17:03:32 +02:00
SemaExprMember.cpp Resolve exception specifications after marking the corresponding 2019-12-15 22:02:30 -08:00
SemaExprObjC.cpp [SemaObjC] Add a warning for dictionary literals with duplicate keys 2020-05-05 15:30:39 -04:00
SemaFixItUtils.cpp Update the file headers across all of the LLVM projects in the monorepo 2019-01-19 08:50:56 +00:00
SemaInit.cpp [AST] Fix a null initializer crash for InitListExpr 2020-06-02 10:48:48 +02:00
SemaLambda.cpp Set the captures on a CXXRecordDecl representing a lambda closure type 2020-06-05 16:05:32 -07:00
SemaLookup.cpp [AST] Record SourceLocation for TypoExpr. 2020-06-05 17:03:32 +02:00
SemaModule.cpp [DeclCXX] Remove unknown external linkage specifications 2019-11-21 15:23:05 +02:00
SemaObjCProperty.cpp [NFC] Refactoring PropertyAttributeKind for ObjCPropertyDecl and ObjCDeclSpec. 2020-04-23 17:21:25 -04:00
SemaOpenMP.cpp [OPENMP50]Codegen for inscan reductions in worksharing directives. 2020-06-04 16:29:33 -04:00
SemaOverload.cpp [Matrix] Implement * binary operator for MatrixType. 2020-06-07 11:11:27 +01:00
SemaPseudoObject.cpp Reapply "Add support for #pragma float_control" with buildbot fixes 2020-05-04 05:51:25 -07:00
SemaSYCL.cpp [OpenMP][SYCL] Improve diagnosing of unsupported types usage 2020-05-29 18:00:48 +03:00
SemaStmt.cpp More robust fix for crash on invalid range-based for statement. 2020-06-08 13:11:23 -07:00
SemaStmtAsm.cpp Prohibit capture of _ExtInt in inline assembly. 2020-05-14 07:21:09 -07:00
SemaStmtAttr.cpp [clang] Add nomerge function attribute to clang 2020-05-21 17:07:39 -07:00
SemaTemplate.cpp [Matrix] Add matrix type to Clang. 2020-05-11 18:55:45 +01:00
SemaTemplateDeduction.cpp [AST][RecoveryExpr] Make DeduceAutoType fail if the auto is deduced from recovery exprs. 2020-05-29 09:54:28 +02:00
SemaTemplateInstantiate.cpp PR23029 / C++ DR2233: Allow expanded parameter packs to follow 2020-06-02 13:48:59 -07:00
SemaTemplateInstantiateDecl.cpp [CUDA][HIP] Fix constexpr variables for C++17 2020-06-03 21:56:52 -04:00
SemaTemplateVariadic.cpp [ARM] Add __bf16 as new Bfloat16 C Type 2020-06-05 10:32:43 +01:00
SemaType.cpp [ARM] Add poly64_t on AArch32. 2020-06-05 13:04:21 +01:00
TreeTransform.h More robust fix for crash on invalid range-based for statement. 2020-06-08 13:11:23 -07:00
TypeLocBuilder.cpp [NFC] avoid AlignedCharArray in clang 2019-07-29 23:12:48 +00:00
TypeLocBuilder.h [NFC] avoid AlignedCharArray in clang 2019-07-29 23:12:48 +00:00
UsedDeclVisitor.h recommit 1b978ddba0 [CUDA][HIP][OpenMP] Emit deferred diagnostics by a post-parsing AST travese 2020-03-23 12:09:07 -04:00