Put IntraPredFunc outside the anonymous namespace. This works around a strange compiler warning in the begin() and end() methods of the ParamGenerator template class in gtest/internal/gtest-param-util.h: warning: ‘<anonymous>’ is used uninitialized in this function Another workaround is to put the entire file in a named namespace (such as "namespace aom_internal") instead of the anonymous namespace. BUG=aomedia:2003 Change-Id: I32c31ee1ebd51495914b9ccaf5c01dbe9d9a2df5
diff --git a/test/intrapred_test.cc b/test/intrapred_test.cc index 82f1914..1a1c0fc 100644 --- a/test/intrapred_test.cc +++ b/test/intrapred_test.cc
@@ -37,6 +37,15 @@ typedef void (*IntraPred)(uint8_t *dst, ptrdiff_t stride, const uint8_t *above, const uint8_t *left); +} // namespace + +// NOTE: Under gcc version 7.3.0 (Debian 7.3.0-5), if this template is in the +// anonymous namespace, then we get a strange compiler warning in +// the begin() and end() methods of the ParamGenerator template class in +// gtest/internal/gtest-param-util.h: +// warning: ‘<anonymous>’ is used uninitialized in this function +// As a workaround, put this template outside the anonymous namespace. +// See bug aomedia:2003. template <typename FuncType> struct IntraPredFunc { IntraPredFunc(FuncType pred = NULL, FuncType ref = NULL, @@ -52,6 +61,8 @@ int bit_depth; }; +namespace { + template <typename FuncType, typename Pixel> class AV1IntraPredTest : public ::testing::TestWithParam<IntraPredFunc<FuncType> > {