(root)/
gcc-13.2.0/
gcc/
testsuite/
g++.dg/
warn/
Wmemset-elt-size1.C
// 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();
}