llvm-project/clang/lib
Aaron Ballman a4f597f002 Reapply: Silence false positive diagnostics regarding passing an object of enumeration type to va_start().
The underlying type for an enumeration in C is either char, signed int, or unsigned int. In the case the underlying type is chosen to be char (such as when passing -fshort-enums or using __attribute__((packed)) on the enum declaration), the enumeration can result in undefined behavior. However, when the underlying type is signed int or unsigned int (or long long as an extension), there is no undefined behavior because the types are compatible. This patch silences diagnostics for the latter while retaining the diagnostics for the former.

This patch addresses PR29140.

llvm-svn: 281632
2016-09-15 18:07:51 +00:00
..
ARCMigrate [NFC] Header cleanup 2016-07-18 19:02:11 +00:00
AST Revert "[modules] When merging one definition into another, propagate the list of re-exporting modules from the discarded definition to the retained definition." 2016-09-14 10:05:10 +00:00
ASTMatchers Add an AST matcher for external formal linkage. 2016-08-17 13:10:42 +00:00
Analysis [analyzer] Fix CloneDetector crash on calling methods of class templates. 2016-08-23 16:42:00 +00:00
Basic Add some MS aliases for existing intrinsics 2016-09-14 21:19:43 +00:00
CodeGen Add some MS aliases for existing intrinsics 2016-09-14 21:19:43 +00:00
Driver [mips][ias] Enable IAS by default for N64 on Debian mips64el. 2016-09-15 14:01:55 +00:00
Edit [OpenCL] Generate opaque type for sampler_t and function call for the initializer 2016-07-28 19:26:30 +00:00
Format Remove redundant comma around parenthesis in parameter list. 2016-09-13 15:02:43 +00:00
Frontend [sanitizer-coverage] add yet another flavour of coverage instrumentation: trace-pc-guard. The intent is to eventually replace all of {bool coverage, 8bit-counters, trace-pc} with just this one. Clang part 2016-09-14 01:39:49 +00:00
FrontendTool C++ Modules TS: add frontend support for building pcm files from module 2016-08-26 00:14:38 +00:00
Headers [CUDA] Make __clang_cuda_cmath.h compatible with libc++. 2016-09-14 21:50:14 +00:00
Index Visit lambda capture inits from RecursiveASTVisitor::TraverseLambdaCapture(). 2016-08-17 14:59:53 +00:00
Lex Fix some Clang-tidy modernize-use-using and Include What You Use warnings; other minor fixes. 2016-09-07 21:53:17 +00:00
Parse [SemaObjC] Be more strict while parsing type arguments and protocols 2016-09-13 20:04:35 +00:00
Rewrite [analyzer] Fix HTMLRewriter style sheets to support non-webkit browsers. 2016-09-15 16:25:42 +00:00
Sema Reapply: Silence false positive diagnostics regarding passing an object of enumeration type to va_start(). 2016-09-15 18:07:51 +00:00
Serialization Revert "[modules] When merging one definition into another, propagate the list of re-exporting modules from the discarded definition to the retained definition." 2016-09-14 10:05:10 +00:00
StaticAnalyzer [analyzer] Fix ExprEngine::VisitMemberExpr 2016-09-13 19:17:20 +00:00
Tooling Revert r281457 "Supports adding insertion around non-insertion replacements." 2016-09-14 23:03:06 +00:00
CMakeLists.txt