diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/template/dependent-expr1.C')
-rw-r--r-- | gcc/testsuite/g++.dg/template/dependent-expr1.C | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/template/dependent-expr1.C b/gcc/testsuite/g++.dg/template/dependent-expr1.C new file mode 100644 index 000000000..79649861b --- /dev/null +++ b/gcc/testsuite/g++.dg/template/dependent-expr1.C @@ -0,0 +1,29 @@ +// { dg-do compile } + +// Copyright (C) 2003 Free Software Foundation, Inc. +// Contributed by Nathan Sidwell 30 Jun 2003 <nathan@codesourcery.com> + +// PR c++ 9779. ICE + +struct I +{ +}; + +void Foo (int); +namespace std +{ + template <typename X> + void Baz (I *x) + { + Foo (sizeof (I)); + Foo (sizeof (x)); + Foo (__alignof__ (I)); + Foo (__alignof__ (x)); + Foo (x->~I ()); // { dg-error "" } + // Foo (typeid (I)); + Foo (delete x); // { dg-error "" } + Foo (delete[] x); // { dg-error "" } + Foo (throw x); // { dg-error "" } + } + +} |