view gcc/testsuite/g++.dg/warn/Wmemset-elt-size1.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents
children
line wrap: on
line source

// 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();
}