diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/warn/Wzero-as-null-pointer-constant-2.C')
-rw-r--r-- | gcc-4.9/gcc/testsuite/g++.dg/warn/Wzero-as-null-pointer-constant-2.C | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/warn/Wzero-as-null-pointer-constant-2.C b/gcc-4.9/gcc/testsuite/g++.dg/warn/Wzero-as-null-pointer-constant-2.C new file mode 100644 index 000000000..317d852c9 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/warn/Wzero-as-null-pointer-constant-2.C @@ -0,0 +1,49 @@ +// PR c++/51045 +// { dg-options "-Wzero-as-null-pointer-constant" } + +template <typename T> +struct A +{ + A() { t = new T; } + + ~A() + { + delete t; + } + T* t; +}; + +template <typename T> +struct B +{ + B() { t = new T[1]; } + + ~B() + { + delete [] t; + } + T* t; +}; + +template <typename Type> +class Variant +{ + Type t; +}; + +class Op; + +typedef Variant<A<Op> > vara; +typedef Variant<B<Op> > varb; + +class Op +{ + vara x; + varb y; +}; + +int main() +{ + vara a; + varb b; +} |