[ Merge of http://go/wvgerrit/119230 ] This patch adds an annotation to the one place in the codebase where we intentionally fall through between switch statement cases, in order to appease stricter compilers. Bug: 182058081 Test: compile, WV unit/integration tests Change-Id: I004a6a6e61681fcf22c6bf25d9b0284b8b64e776
58 lines
1.5 KiB
C++
58 lines
1.5 KiB
C++
// Copyright 2018 Google LLC. All Rights Reserved. This file and proprietary
|
|
// source code may only be used and distributed under the Widevine License
|
|
// Agreement.
|
|
|
|
#ifndef WVCDM_UTIL_UTIL_COMMON_H_
|
|
#define WVCDM_UTIL_UTIL_COMMON_H_
|
|
|
|
// This section deals with defines that are platform-specific.
|
|
|
|
#ifdef _WIN32
|
|
|
|
# ifdef CORE_UTIL_IMPLEMENTATION
|
|
# define CORE_UTIL_EXPORT __declspec(dllexport)
|
|
# else
|
|
# define CORE_UTIL_EXPORT __declspec(dllimport)
|
|
# endif
|
|
|
|
# define CORE_UTIL_IGNORE_DEPRECATED
|
|
# define CORE_UTIL_RESTORE_WARNINGS
|
|
|
|
#else
|
|
|
|
# ifdef CORE_UTIL_IMPLEMENTATION
|
|
# define CORE_UTIL_EXPORT __attribute__((visibility("default")))
|
|
# else
|
|
# define CORE_UTIL_EXPORT
|
|
# endif
|
|
|
|
# ifdef __GNUC__
|
|
# define CORE_UTIL_IGNORE_DEPRECATED \
|
|
_Pragma("GCC diagnostic push") \
|
|
_Pragma("GCC diagnostic ignored \"-Wdeprecated-declarations\"")
|
|
# define CORE_UTIL_RESTORE_WARNINGS _Pragma("GCC diagnostic pop")
|
|
# else
|
|
# define CORE_UTIL_IGNORE_DEPRECATED
|
|
# define CORE_UTIL_RESTORE_WARNINGS
|
|
# endif
|
|
|
|
#endif
|
|
|
|
// This section deals with attribute-detection and is platform-agnostic.
|
|
|
|
#if !defined(__has_cpp_attribute)
|
|
# define __has_cpp_attribute(x) 0
|
|
#endif
|
|
|
|
#if __has_cpp_attribute(fallthrough)
|
|
# define CORE_UTIL_FALLTHROUGH [[fallthrough]]
|
|
#elif __has_cpp_attribute(clang::fallthrough)
|
|
# define CORE_UTIL_FALLTHROUGH [[clang::fallthrough]]
|
|
#elif __has_cpp_attribute(gnu::fallthrough)
|
|
# define CORE_UTIL_FALLTHROUGH [[gnu::fallthrough]]
|
|
#else
|
|
# define CORE_UTIL_FALLTHROUGH
|
|
#endif
|
|
|
|
#endif // WVCDM_UTIL_UTIL_COMMON_H_
|