// PR c++/85710
// { dg-additional-options -Wmemset-elt-size }
#include <cstring>
template <typename T> struct A { int a; };
void foo(A<int> (*ap)[2])
{
  std::memset (*ap, 0, 2);	// no warning because A<int> is incomplete
}
template <typename T>
class E
{
public:
  void Clear();
private:
  A<T> mA[2];
};
template<typename T>
void E<T>::Clear()
{
  std::memset(mA, 0, 2);	// { dg-warning -Wmemset-elt-size }
}
int main()
{
  E<int>().Clear();
}