1 // PR c++/85710 2 // { dg-additional-options -Wmemset-elt-size } 3 4 #include <cstring> 5 6 template <typename T> struct A { int a; }; 7 foo(A<int> (* ap)[2])8void foo(A<int> (*ap)[2]) 9 { 10 std::memset (*ap, 0, 2); // no warning because A<int> is incomplete 11 } 12 13 template <typename T> 14 class E 15 { 16 public: 17 void Clear(); 18 private: 19 A<T> mA[2]; 20 }; 21 22 template<typename T> Clear()23void E<T>::Clear() 24 { 25 std::memset(mA, 0, 2); // { dg-warning -Wmemset-elt-size } 26 } 27 main()28int main() 29 { 30 E<int>().Clear(); 31 } 32