forked from OSchip/llvm-project
Use C++11 fallthrough attribute syntax when available and add a break
Summary: This silences the two -Wimplicit-fallthrough warnings clang finds in ItaniumDemangle.h in libc++abi. Clang does not have a GNU attribute spelling for this attribute, so this is necessary. I will commit the same change to the LLVM demangler soon. Reviewers: EricWF, ldionne Subscribers: christof, erik.pilkington, cfe-commits Differential Revision: https://reviews.llvm.org/D53985 llvm-svn: 345870
This commit is contained in:
parent
b34a052852
commit
60cce5c782
|
@ -1248,8 +1248,12 @@ _LIBCPP_FUNC_VIS extern "C" void __sanitizer_annotate_contiguous_container(
|
|||
# define _LIBCPP_DIAGNOSE_ERROR(...)
|
||||
#endif
|
||||
|
||||
#if __has_attribute(fallthough) || _GNUC_VER >= 700
|
||||
// Use a function like macro to imply that it must be followed by a semicolon
|
||||
#if __cplusplus > 201402L && __has_cpp_attribute(fallthrough)
|
||||
# define _LIBCPP_FALLTHROUGH() [[fallthrough]]
|
||||
#elif __has_cpp_attribute(clang::fallthrough)
|
||||
# define _LIBCPP_FALLTHROUGH() [[clang::fallthrough]]
|
||||
#elif __has_attribute(fallthough) || _GNUC_VER >= 700
|
||||
# define _LIBCPP_FALLTHROUGH() __attribute__((__fallthrough__))
|
||||
#else
|
||||
# define _LIBCPP_FALLTHROUGH() ((void)0)
|
||||
|
|
|
@ -2812,6 +2812,7 @@ AbstractManglingParser<Derived, Alloc>::parseCtorDtorName(Node *&SoFar,
|
|||
SoFar = make<ExpandedSpecialSubstitution>(SSK);
|
||||
if (!SoFar)
|
||||
return nullptr;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue