Commit ec06f00a by Jim Wilson

(L_builtin_new): Change to L_op_new.

(L_builtin_new): Change to L_op_new.  Use new style
definition for __builtin_new.
(L_caps_New): Change to L_new_handler.  Delete unused function
builtin_vec_new.
(L_builtin_del): Change to L_op_delete.  Delete vfp declaration.
Use new style definition for __builtin_delete.  Delete unused
function __builtin_vec_delete.

From-SVN: r3021
parent 96047291
...@@ -1202,14 +1202,14 @@ __bb_init_func (blocks) ...@@ -1202,14 +1202,14 @@ __bb_init_func (blocks)
/* frills for C++ */ /* frills for C++ */
#ifdef L_builtin_new #ifdef L_op_new
typedef void (*vfp)(void); typedef void (*vfp)(void);
extern vfp __new_handler; extern vfp __new_handler;
/* void * operator new (size_t sz) */
void * void *
__builtin_new (sz) __builtin_new (size_t sz)
size_t sz;
{ {
void *p; void *p;
...@@ -1221,9 +1221,9 @@ __builtin_new (sz) ...@@ -1221,9 +1221,9 @@ __builtin_new (sz)
(*__new_handler) (); (*__new_handler) ();
return p; return p;
} }
#endif #endif /* L_op_new */
#ifdef L_caps_New #ifdef L_new_handler
/* This gets us __GNU_LIBRARY__. */ /* This gets us __GNU_LIBRARY__. */
#undef NULL /* Avoid errors if stdio.h and our stddef.h mismatch. */ #undef NULL /* Avoid errors if stdio.h and our stddef.h mismatch. */
...@@ -1242,31 +1242,6 @@ static void default_new_handler (void); ...@@ -1242,31 +1242,6 @@ static void default_new_handler (void);
vfp __new_handler = default_new_handler; vfp __new_handler = default_new_handler;
void *
__builtin_vec_new (p, maxindex, size, ctor)
void *p;
size_t maxindex;
size_t size;
void (*ctor)(void *);
{
size_t i;
size_t nelts = maxindex + 1;
void *rval;
if (p == 0)
p = __builtin_new (nelts * size);
rval = p;
for (i = 0; i < nelts; i++)
{
(*ctor) (p);
p += size;
}
return rval;
}
vfp vfp
__set_new_handler (handler) __set_new_handler (handler)
vfp handler; vfp handler;
...@@ -1301,41 +1276,14 @@ default_new_handler () ...@@ -1301,41 +1276,14 @@ default_new_handler ()
} }
#endif #endif
#ifdef L_builtin_del #ifdef L_op_delete
typedef void (*vfp)(void); /* void operator delete (void *ptr) */
void void
__builtin_delete (ptr) __builtin_delete (void *ptr)
void *ptr;
{ {
if (ptr) if (ptr)
free (ptr); free (ptr);
} }
void
__builtin_vec_delete (ptr, maxindex, size, dtor, auto_delete_vec, auto_delete)
void *ptr;
size_t maxindex;
size_t size;
void (*dtor)(void *, int);
int auto_delete;
{
size_t i;
size_t nelts = maxindex + 1;
void *p = ptr;
ptr += nelts * size;
for (i = 0; i < nelts; i++)
{
ptr -= size;
(*dtor) (ptr, auto_delete);
}
if (auto_delete_vec)
__builtin_delete (p);
}
#endif #endif
#ifdef L_shtab #ifdef L_shtab
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment