From 54e67af0ad12989e986b54f096d944709bb8649a Mon Sep 17 00:00:00 2001 From: Andrew Pinski Date: Sat, 2 Dec 2006 09:01:04 -0800 Subject: [PATCH] re PR c++/30033 (ICE on valid with --std=c++0x (static_assert)) 2006-12-02 Andrew Pinski PR C++/30033 * decl.c (cp_tree_node_structure): Handle STATIC_ASSERT. 2006-12-02 Andrew Pinski PR C++/30033 * g++.dg/cpp0x/static_assert4.C: New testcase. From-SVN: r119449 --- gcc/cp/ChangeLog | 7 ++++++- gcc/cp/decl.c | 1 + gcc/testsuite/ChangeLog | 9 +++++++-- gcc/testsuite/g++.dg/cpp0x/static_assert4.C | 15 +++++++++++++++ 4 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 gcc/testsuite/g++.dg/cpp0x/static_assert4.C diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 63cf2d13325..cfd933c314d 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,8 @@ +2006-12-02 Andrew Pinski + + PR C++/30033 + * decl.c (cp_tree_node_structure): Handle STATIC_ASSERT. + 2006-12-02 Kazu Hirata * name-lookup.c: Follow spelling conventions. @@ -23,7 +28,7 @@ 2006-12-01 Ryan Mansfield - PR c++/29066 + PR c++/29066 * typeck.c (build_binary_op): Fix pointer to member function comparison for ptrmemfunc_vbit_in_delta targets. diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 0852d72c7e9..8a55e417d40 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -11606,6 +11606,7 @@ cp_tree_node_structure (union lang_tree_node * t) case TINST_LEVEL: return TS_CP_TINST_LEVEL; case PTRMEM_CST: return TS_CP_PTRMEM; case BASELINK: return TS_CP_BASELINK; + case STATIC_ASSERT: return TS_CP_STATIC_ASSERT; default: return TS_CP_GENERIC; } } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 381647a5bfb..a3f3d640418 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,11 +1,16 @@ +2006-12-02 Andrew Pinski + + PR C++/30033 + * g++.dg/cpp0x/static_assert4.C: New testcase. + 2006-12-02 Kaveh R. Ghazi * gcc.dg/torture/builtin-sin-mpfr-1.c: Update MPFR comment. 2006-12-02 Lee Millward - PR c/27953 - * gcc.dg/pr27953.c: New test. + PR c/27953 + * gcc.dg/pr27953.c: New test. 2006-12-01 Volker Reichelt diff --git a/gcc/testsuite/g++.dg/cpp0x/static_assert4.C b/gcc/testsuite/g++.dg/cpp0x/static_assert4.C new file mode 100644 index 00000000000..b0818873f10 --- /dev/null +++ b/gcc/testsuite/g++.dg/cpp0x/static_assert4.C @@ -0,0 +1,15 @@ +// { dg-options "-std=c++0x --param ggc-min-heapsize=0 --param ggc-min-expand=0 " } +// PR C++/30033 +// Make sure that the static assert does not crash the GC. + +template +struct default_delete +{ + void + operator() (T * ptr) const + { + static_assert (sizeof (T) > 0, "Can't delete pointer to incomplete type"); + } +}; + + -- 2.30.2