init.c (build_new_1): Look up operator delete even if there was no explicit new placement.

* init.c (build_new_1): Look up operator delete even if there was
no explicit new placement.

From-SVN: r27502
This commit is contained in:
Alexandre Oliva 1999-06-13 01:17:12 +00:00 committed by Alexandre Oliva
parent 3a6bf92153
commit 5355deec1f
2 changed files with 13 additions and 8 deletions

View File

@ -1,3 +1,8 @@
1999-06-13 Alexandre Oliva <oliva@dcc.unicamp.br>
* init.c (build_new_1): Look up operator delete even if there was
no explicit new placement.
1999-06-08 Nathan Sidwell <nathan@acm.org>
* except.c (complete_ptr_ref_or_void_ptr_p): New function, broken out

View File

@ -2418,15 +2418,15 @@ build_new_1 (exp)
/* All cleanups must last longer than normal. */
int yes = suspend_momentary ();
if (placement)
{
flags |= LOOKUP_SPECULATIVELY;
/* The Standard is unclear here, but the right thing to do
is to use the same method for finding deallocation
functions that we use for finding allocation functions. */
flags |= LOOKUP_SPECULATIVELY;
/* We expect alloc_expr to look like a TARGET_EXPR around
a NOP_EXPR around the CALL_EXPR we want. */
fn = TREE_OPERAND (alloc_expr, 1);
fn = TREE_OPERAND (fn, 0);
}
/* We expect alloc_expr to look like a TARGET_EXPR around
a NOP_EXPR around the CALL_EXPR we want. */
fn = TREE_OPERAND (alloc_expr, 1);
fn = TREE_OPERAND (fn, 0);
/* Copy size to the saveable obstack. */
size = mapcar (size, permanent_p);