d: Disable the D runtime garbage collector after initializing (PR103520)
Not all targets that support building libdruntime have a stable garbage collector, so to avoid running into problems where live memory allocated by the D GC is freed, disable all in-flight collections until a time when scanning is more reliably implemented everywhere. PR d/103520 gcc/d/ChangeLog: * d-frontend.h (gc_disable): Declare. * d-lang.cc (d_init_options): Disable the D runtime garbage collector after initializing.
This commit is contained in:
parent
12421a3645
commit
fa10faa72d
2 changed files with 2 additions and 2 deletions
|
@ -21,7 +21,7 @@ along with GCC; see the file COPYING3. If not see
|
|||
/* These functions are defined in D runtime. */
|
||||
extern "C" int rt_init (void);
|
||||
extern "C" int rt_term (void);
|
||||
//extern "C" void gc_disable (void);
|
||||
extern "C" void gc_disable (void);
|
||||
extern "C" void *gc_malloc (size_t sz, unsigned ba = 0, const void *ti = NULL);
|
||||
extern "C" void gc_free (void *);
|
||||
extern "C" void gc_collect (void);
|
||||
|
|
|
@ -288,7 +288,7 @@ d_init_options (unsigned int, cl_decoded_option *decoded_options)
|
|||
{
|
||||
/* Initialize the D runtime. */
|
||||
rt_init ();
|
||||
// gc_disable ();
|
||||
gc_disable ();
|
||||
|
||||
/* Set default values. */
|
||||
global._init ();
|
||||
|
|
Loading…
Add table
Reference in a new issue