| 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..1bc68c6cac3ef71a68453219787d3ca217b3b03e 100644
|
| --- a/base/metrics/histogram_macros_internal.h
|
| +++ b/base/metrics/histogram_macros_internal.h
|
| @@ -140,10 +140,14 @@
|
| #define INTERNAL_HISTOGRAM_ENUMERATION_WITH_FLAG(name, sample, boundary, flag) \
|
| do { \
|
| static_assert( \
|
| - !std::is_enum<decltype(sample)>::value || \
|
| - !std::is_enum<decltype(boundary)>::value || \
|
| - std::is_same<std::remove_const<decltype(sample)>::type, \
|
| - std::remove_const<decltype(boundary)>::type>::value, \
|
| + !std::is_enum<std::decay<decltype(boundary)>::type>::value || \
|
| + std::is_enum<std::decay<decltype(sample)>::type>::value, \
|
| + "Unexpected: |boundary| is enum, but |sample| is not."); \
|
| + static_assert( \
|
| + !std::is_enum<std::decay<decltype(sample)>::type>::value || \
|
| + !std::is_enum<std::decay<decltype(boundary)>::type>::value || \
|
| + std::is_same<std::decay<decltype(sample)>::type, \
|
| + std::decay<decltype(boundary)>::type>::value, \
|
| "|sample| and |boundary| shouldn't be of different enums"); \
|
| static_assert( \
|
| static_cast<uintmax_t>(boundary) < \
|
|
|