diff options
author | Michael Meissner <meissner@gcc.gnu.org> | 1995-03-08 15:21:52 +0000 |
---|---|---|
committer | Michael Meissner <meissner@gcc.gnu.org> | 1995-03-08 15:21:52 +0000 |
commit | 8a552066c6da40dace18225bbffda66b5b9e3883 (patch) | |
tree | a54b014dd355ae71c2d294ec14facfffcb537e39 /gcc/libgcc2.c | |
parent | c9040e2c81683a96a8e1b0903096d612d0f84013 (diff) | |
download | gcc-8a552066c6da40dace18225bbffda66b5b9e3883.zip gcc-8a552066c6da40dace18225bbffda66b5b9e3883.tar.gz gcc-8a552066c6da40dace18225bbffda66b5b9e3883.tar.bz2 |
Do not initialize the pointer variable __new_handler with an address.
From-SVN: r9129
Diffstat (limited to 'gcc/libgcc2.c')
-rw-r--r-- | gcc/libgcc2.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/gcc/libgcc2.c b/gcc/libgcc2.c index 39598ef..6846dfc 100644 --- a/gcc/libgcc2.c +++ b/gcc/libgcc2.c @@ -1604,11 +1604,13 @@ __bb_init_func (struct bb *blocks) typedef void (*vfp)(void); extern vfp __new_handler; +extern void __default_new_handler (void); void * __builtin_new (size_t sz) { void *p; + vfp handler = (__new_handler) ? __new_handler : __default_new_handler; /* malloc (0) is unpredictable; avoid it. */ if (sz == 0) @@ -1616,7 +1618,7 @@ __builtin_new (size_t sz) p = (void *) malloc (sz); while (p == 0) { - (*__new_handler) (); + (*handler) (); p = (void *) malloc (sz); } @@ -1657,7 +1659,7 @@ __builtin_vec_new (size_t sz) typedef void (*vfp)(void); void __default_new_handler (void); -vfp __new_handler = __default_new_handler; +vfp __new_handler = (vfp)0; vfp set_new_handler (vfp handler) |