re PR c++/35317 (ICE with operator delete[] and ellipsis)
gcc/cp/ 2008-06-14 Simon Martin <simartin@users.sourceforge.net> PR c++/35317 * class.c (type_requires_array_cookie): Do not consider delete[] operators with an ellipsis as second argument. gcc/testsuite/ 2008-06-14 Simon Martin <simartin@users.sourceforge.net> PR c++/35317 * g++.dg/other/dtor2.C: New test. From-SVN: r136774
This commit is contained in:
parent
df2fa09712
commit
4b8cb94c75
4 changed files with 22 additions and 0 deletions
|
@ -1,3 +1,9 @@
|
|||
2008-06-14 Simon Martin <simartin@users.sourceforge.net>
|
||||
|
||||
PR c++/35317
|
||||
* class.c (type_requires_array_cookie): Do not consider delete[]
|
||||
operators with an ellipsis as second argument.
|
||||
|
||||
2008-06-09 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
PR c++/36408
|
||||
|
|
|
@ -4127,6 +4127,10 @@ type_requires_array_cookie (tree type)
|
|||
second_parm = TREE_CHAIN (TYPE_ARG_TYPES (TREE_TYPE (fn)));
|
||||
if (second_parm == void_list_node)
|
||||
return false;
|
||||
/* Do not consider this function if its second argument is an
|
||||
ellipsis. */
|
||||
if (!second_parm)
|
||||
continue;
|
||||
/* Otherwise, if we have a two-argument function and the second
|
||||
argument is `size_t', it will be the usual deallocation
|
||||
function -- unless there is one-argument function, too. */
|
||||
|
|
|
@ -1,3 +1,8 @@
|
|||
2008-06-14 Simon Martin <simartin@users.sourceforge.net>
|
||||
|
||||
PR c++/35317
|
||||
* g++.dg/other/dtor2.C: New test.
|
||||
|
||||
2008-06-13 Olivier Hainque <hainque@adacore.com>
|
||||
|
||||
* gnat.dg/task_stack_align.adb: New test.
|
||||
|
|
7
gcc/testsuite/g++.dg/other/dtor2.C
Normal file
7
gcc/testsuite/g++.dg/other/dtor2.C
Normal file
|
@ -0,0 +1,7 @@
|
|||
/* PR c++/35317 */
|
||||
/* { dg-do "compile" } */
|
||||
|
||||
struct A
|
||||
{
|
||||
void operator delete[] (void*, ...);
|
||||
};
|
Loading…
Add table
Reference in a new issue