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> > {