Index: base/metrics/histogram_macros_internal.h |
diff --git a/base/metrics/histogram_macros_internal.h b/base/metrics/histogram_macros_internal.h |
index c107a4729d26243d6e81d510e03fb769abb137aa..2bb0e0a39d237c5beb39a1f3cd4528cd9a89cc42 100644 |
--- a/base/metrics/histogram_macros_internal.h |
+++ b/base/metrics/histogram_macros_internal.h |
@@ -139,6 +139,12 @@ |
// types. |
#define INTERNAL_HISTOGRAM_ENUMERATION_WITH_FLAG(name, sample, boundary, flag) \ |
do { \ |
+ static_assert( \ |
+ !std::is_enum<std::remove_const<std::remove_reference<decltype( \ |
dcheng
2017/07/17 09:13:59
I think std::decay can replace the use of std::rem
|
+ boundary)>::type>::type>::value || \ |
+ std::is_enum<std::remove_const< \ |
+ std::remove_reference<decltype(sample)>::type>::type>::value, \ |
+ "Unexpected: |boundary| is enum, but |sample| is not."); \ |
static_assert( \ |
!std::is_enum<decltype(sample)>::value || \ |
!std::is_enum<decltype(boundary)>::value || \ |