llvm-project/clang/lib/Sema
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
..
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 P0217R3: template instantiation support for decomposition declarations. 2016-08-12 01:55:21 +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 [CUDA] Fix "declared here" note on deferred wrong-side errors. 2016-08-16 00:48:21 +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 Reapply: Silence false positive diagnostics regarding passing an object of enumeration type to va_start(). 2016-09-15 18:07:51 +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 Re-commit "[Temporary] Add an ExprWithCleanups for each C++ MaterializeTemporaryExpr." 2016-06-21 20:29:17 +00:00
SemaDecl.cpp Add some MS aliases for existing intrinsics 2016-09-14 21:19:43 +00:00
SemaDeclAttr.cpp Follow-up to r281367: Compare uuids case-insensitively. 2016-09-14 01:16:54 +00:00
SemaDeclCXX.cpp Fix mishandling of deletedness for assignment operators of classes with 2016-08-31 20:37:39 +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 ObjectiveC generics: Add ObjCTypeParamType in the type system. 2016-09-13 17:25:08 +00:00
SemaExprCXX.cpp [Sema] Relax overloading restrictions in C. 2016-09-02 22:59:57 +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 Fix clang's handling of the copy performed in the second phase of class 2016-09-07 02:14:33 +00:00
SemaLambda.cpp Reapply r276069 with workaround for MSVC 2013 2016-07-30 22:33:34 +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 Revert "[OpenMP] Sema and parsing for 'teams distribute simd’ pragma" 2016-08-18 09:25:07 +00:00
SemaOverload.cpp [Sema] Compare bad conversions in overload resolution. 2016-09-07 20:03:19 +00:00
SemaPseudoObject.cpp arc-repeated-use-of-weak should not warn about IBOutlet properties 2016-05-25 05:41:57 +00:00
SemaStmt.cpp [ObjC] Warn on unguarded use of partial declaration 2016-08-16 17:44:11 +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 C++ Modules TS: Add parsing and some semantic analysis support for 2016-09-08 23:14:54 +00:00
SemaTemplateDeduction.cpp Fix Wdocumentation unknown parameter warning 2016-08-12 11:43:57 +00:00
SemaTemplateInstantiate.cpp PR12298 et al: don't recursively instantiate a template specialization from 2016-08-31 02:15:21 +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 ObjectiveC Generics: Start using ObjCTypeParamType. 2016-09-13 17:41:05 +00:00
TreeTransform.h ObjectiveC generics: Add ObjCTypeParamType in the type system. 2016-09-13 17:25:08 +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