hanchenye-llvm-project/clang/test
Chandler Carruth 8b4140d712 Move the emission of strict enum range metadata behind a flag (the same
flag as GCC uses: -fstrict-enums). There is a *lot* of code making
unwarranted assumptions about the underlying type of enums, and it
doesn't seem entirely reasonable to eagerly break all of it.

Much more importantly, the current state of affairs is *very* good at
optimizing based upon this information, which causes failures that are
very distant from the actual enum. Before we push for enabling this by
default, I think we need to implement -fcatch-undefined-behavior support
for instrumenting and trapping whenever we store or load a value outside
of the range. That way we can track down the misbehaving code very
quickly.

I discussed this with Rafael, and currently the only important cases he
is aware of are the bool range-based optimizations which are staying
hard enabled. We've not seen any issue with those either, and they are
much more important for performance.

llvm-svn: 153550
2012-03-27 23:58:37 +00:00
..
ARCMT Don't include FixIts with a null replacement range. Fixes <rdar://problem/11040133>. 2012-03-20 20:49:45 +00:00
ASTMerge Fix crash at @implementation with a forward reference as base class. 2012-03-13 01:09:36 +00:00
Analysis [analyzer] Add an option to re-analyze a dead-end path without inlining. 2012-03-27 20:02:53 +00:00
CXX Support for definitions of member enumerations of class templates outside the 2012-03-23 03:33:32 +00:00
CodeCompletion
CodeGen Add better support for $fp and $sp for mips inline asm support. 2012-03-27 19:56:11 +00:00
CodeGenCUDA
CodeGenCXX Move the emission of strict enum range metadata behind a flag (the same 2012-03-27 23:58:37 +00:00
CodeGenObjC Add clang support for new Objective-C literal syntax for NSDictionary, NSArray, 2012-03-06 20:05:56 +00:00
CodeGenObjCXX Add clang support for new Objective-C literal syntax for NSDictionary, NSArray, 2012-03-06 20:05:56 +00:00
CodeGenOpenCL
Coverage
Driver [driver] Put -cpp-precomp and -no-cpp-precomp under the clang_ignored_f_group. 2012-03-26 23:36:04 +00:00
FixIt When diagnosing an invalid out-of-line redeclaration, don't permit 2012-03-26 16:54:18 +00:00
Frontend Escape % in diagnostic message when compiling LLVM IR. 2012-03-16 22:31:42 +00:00
Headers
Index Introduce a new libclang API to determine the parent context of a code 2012-03-27 23:34:16 +00:00
Lexer User-defined literals are done. 2012-03-09 08:41:27 +00:00
Misc Introduce a -cc1-level option -pubnames-dump, which simply dumps the 2012-03-27 18:06:49 +00:00
Modules Fix PR10447: lazily building name lookup tables for DeclContexts was broken. 2012-03-13 03:12:56 +00:00
PCH Canonicalize the declaration we write to a PCH file for an 2012-03-26 15:52:37 +00:00
Parser If we see '(...' where we're expecting an abstract-declarator, that doesn't 2012-03-27 23:05:05 +00:00
Preprocessor [preprocessor] Handle correctly inclusion directives that have macro expansions, e.g 2012-03-27 18:47:48 +00:00
Rewriter modern objective-c translator: writing objc boolean literals. 2012-03-27 20:17:30 +00:00
Sema Change the binary operator data recursive evaluator to not stop at the first 2012-03-21 23:30:30 +00:00
SemaCUDA
SemaCXX Even more careful consideration of C++11 13.3.3.1p4. Fixes PR12241. 2012-03-27 18:33:03 +00:00
SemaObjC Make sure we don't accept an @interface inside another objc container 2012-03-23 23:24:23 +00:00
SemaObjCXX lldb support: under debugger support flag, when sending message 2012-03-09 18:47:16 +00:00
SemaOpenCL
SemaTemplate During the instantiation of a class template specialization, that 2012-03-22 03:35:28 +00:00
Unit
CMakeLists.txt
Makefile
TestRunner.sh
cxx-sections.data
lit.cfg
lit.site.cfg.in
make_test_dirs.pl