llvm-project/clang/test
Richard Smith ef6c43dc0c Refactor checking of switch conditions and case values.
Check each case value in turn while parsing it, performing the
conversion to the switch type within the context of the expression
itself. This will become necessary in order to properly handle cleanups
for temporaries created as part of the case label (in an upcoming
patch). For now it's just good hygiene.

This necessitates moving the checking for the switch condition itself to
earlier, so that the destination type is available when checking the
case labels.

As a nice side-effect, we get slightly improved diagnostic quality and
error recovery by separating the case expression checking from the case
statement checking and from tracking whether there are discarded case
labels.

llvm-svn: 338056
2018-07-26 18:41:30 +00:00
..
ARCMT [ObjC] Allow declaring __strong pointer fields in structs in Objective-C 2018-02-28 07:15:55 +00:00
ASTMerge [ASTImporter] Added import of CXXStdInitializerListExpr 2018-06-29 12:17:34 +00:00
Analysis [analyzer] Syntactic matcher for leaks associated with run loop and autoreleasepool 2018-07-25 01:27:15 +00:00
CXX Warn if a local variable's initializer retains a pointer/reference to a 2018-07-24 00:55:08 +00:00
CodeCompletion [CodeComplete] Add a few extra tests for r333538. NFC 2018-06-01 09:49:53 +00:00
CodeGen [COFF, ARM64] Decide when to mark struct returns as SRet 2018-07-26 18:07:59 +00:00
CodeGenCUDA [HIP] Support -fcuda-flush-denormals-to-zero for amdgcn 2018-07-21 02:02:22 +00:00
CodeGenCXX Borrow visibility from __fundamental_type_info for generated fundamental type infos 2018-07-24 00:43:47 +00:00
CodeGenCoroutines [Coroutines] Less IR for noexcept await_resume 2018-06-23 18:57:26 +00:00
CodeGenObjC [CodeGen][ObjC] Make block copy/dispose helper functions exception-safe. 2018-07-26 16:51:21 +00:00
CodeGenObjCXX [CodeGen][ObjC] Make block copy/dispose helper functions exception-safe. 2018-07-26 16:51:21 +00:00
CodeGenOpenCL CodeGen: specify alignment + inbounds for automatic variable initialization 2018-07-13 20:33:23 +00:00
Coverage Reapply "[Parse] Use CapturedStmt for @finally on MSVC" 2018-06-08 00:30:00 +00:00
CoverageMapping [OPENMP] Fix PR38256: Fix locations of the artificial conditional op. 2018-07-25 14:40:26 +00:00
Driver Add a .keep file to prevent svn from skipping over an empty folder. 2018-07-24 06:49:27 +00:00
FixIt [Sema] Add fixit for unused lambda captures 2018-07-16 07:23:47 +00:00
Format
Frontend [Fixed Point Arithmetic] Fix for bug where integer literals could be treated as fixed point literals 2018-07-17 14:58:49 +00:00
Headers [ms] Add __shiftleft128 / __shiftright128 intrinsics 2018-07-20 21:02:09 +00:00
Import [ASTImporter] Add support for import of CXXInheritedCtorInitExpr. 2018-07-25 10:21:06 +00:00
Index [Index] Set OrigD before D is changed. 2018-07-20 08:08:56 +00:00
Integration
Layout NFC - Fix typo in test/Layout/itanium-pack-and-align.cpp 2018-07-04 11:21:44 +00:00
Lexer [Driver] Add -fno-digraphs 2018-07-17 04:56:22 +00:00
Misc Implement cpu_dispatch/cpu_specific Multiversioning 2018-07-20 14:13:28 +00:00
Modules [ODRHash] Support hashing enums. 2018-07-25 22:52:05 +00:00
OpenMP [OPENMP] Force OpenMP 4.5 when compiling for offloading. 2018-07-26 15:17:38 +00:00
PCH [Sema] Mark implicitly-inserted ICE's as being part of explicit cast (PR38166) 2018-07-24 08:16:50 +00:00
Parser Refactor checking of switch conditions and case values. 2018-07-26 18:41:30 +00:00
Preprocessor [Preprocessor] Stop entering included files after hitting a fatal error. 2018-07-25 19:16:26 +00:00
Profile [FileCheck] Add -allow-deprecated-dag-overlap to failing clang tests 2018-07-11 20:26:20 +00:00
Refactor
Rewriter Reapply "[Parse] Use CapturedStmt for @finally on MSVC" 2018-06-08 00:30:00 +00:00
Sema Refactor checking of switch conditions and case values. 2018-07-26 18:41:30 +00:00
SemaCUDA [CUDA][HIP] Allow CUDA __global__ functions to have amdgpu kernel attributes 2018-06-12 23:58:59 +00:00
SemaCXX Refactor checking of switch conditions and case values. 2018-07-26 18:41:30 +00:00
SemaObjC [Sema][ObjC] Do not propagate the nullability specifier on the receiver 2018-07-26 17:51:13 +00:00
SemaObjCXX [Sema] Produce diagnostics for attribute 'trivial_abi' that appears 2018-06-19 05:04:44 +00:00
SemaOpenCL [Sema] Mark implicitly-inserted ICE's as being part of explicit cast (PR38166) 2018-07-24 08:16:50 +00:00
SemaOpenCLCXX [OpenCL] Support new/delete in Sema 2018-06-14 09:51:54 +00:00
SemaTemplate PR38257: don't perform ADL when instantiating a unary & operator that turns out 2018-07-22 05:21:47 +00:00
TableGen [Clang Tablegen][RFC] Allow Early Textual Substitutions in `Diagnostic` messages. 2018-05-19 03:12:04 +00:00
Templight [Templight] Template Instantiation Observer 2018-02-10 14:04:45 +00:00
Tooling Fix test clang-diff-json.cpp 2018-02-10 21:28:55 +00:00
Unit
VFS [Modules][ObjC] Warn on the use of '@import' in framework headers 2018-06-27 20:29:36 +00:00
clang-rename
.clang-format
CMakeLists.txt Support for multiarch runtimes layout 2018-06-28 03:11:52 +00:00
TestRunner.sh
cxx-sections.data
lit.cfg.py Reinstate quotes around the path to python that I accidentaly removed in r335330 2018-06-22 20:03:32 +00:00
lit.site.cfg.py.in Remove unused lit setting, see https://reviews.llvm.org/D46619 2018-05-09 12:38:51 +00:00
make_test_dirs.pl