summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2009-03-17 19:06:41 +0000
committerbstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4>2009-03-17 19:06:41 +0000
commit6776bc017e36e91363badd68384c04e8785044f6 (patch)
tree1216b8ca99a3ebb1e9f3ab7b8a76e6e6ce4f83ee
parentb586ca7de632edf9a60b7b62bf481a680bd0f4cc (diff)
downloadgcc-6776bc017e36e91363badd68384c04e8785044f6.tar.gz
2009-03-17 Basile Starynkevitch <basile@starynkevitch.net>
with help from Rob Weld <rob1weld@aol.com> [perhaps solved PR39484] * basilys.c (basilys_extra_marking): extra marking done right. (basilys_assert_failed) cleaned up when not ENABLE_CHECKING. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@144917 138bc75d-0d04-0410-961f-82ee72b054a4
-rw-r--r--gcc/ChangeLog.melt5
-rw-r--r--gcc/basilys.c14
2 files changed, 12 insertions, 7 deletions
diff --git a/gcc/ChangeLog.melt b/gcc/ChangeLog.melt
index c29a46e2275..fba9b7170ab 100644
--- a/gcc/ChangeLog.melt
+++ b/gcc/ChangeLog.melt
@@ -1,4 +1,9 @@
2009-03-17 Basile Starynkevitch <basile@starynkevitch.net>
+ with help from Rob Weld <rob1weld@aol.com>
+ [perhaps solved PR39484]
+ * basilys.c (basilys_extra_marking): extra marking done right.
+ (basilys_assert_failed) cleaned up when not ENABLE_CHECKING.
+2009-03-17 Basile Starynkevitch <basile@starynkevitch.net>
[PR39484 still crashing when ./configure-d on i686-linux with
--prefix=/usr]
* basilys.c (basilysgc_ppstrbuf_ppl_varnamvect): added comment on
diff --git a/gcc/basilys.c b/gcc/basilys.c
index 2b77519842c..c0d731dd871 100644
--- a/gcc/basilys.c
+++ b/gcc/basilys.c
@@ -512,9 +512,9 @@ basilys_extra_marking (void *xtradata)
/* first, scan all the modules and mark their frame if it is non null */
for (ix = 0; VEC_iterate (basilys_module_info_t, modinfvec, ix, mi); ix++)
{
- if (!mi->iniframp || !*mi->iniframp || !mi->marker_rout)
- continue;
- (mi->marker_rout) (*mi->iniframp);
+ if ( !mi->marker_rout || !mi->iniframp || !*mi->iniframp)
+ continue;
+ (mi->marker_rout) (*mi->iniframp);
};
/* then scan all the MELT call frames */
for (cf = (struct callframe_basilys_st*) xtradata; cf; cf = cf->prev) {
@@ -4768,11 +4768,9 @@ compile_to_dyl (const char *srcfile, const char *dlfile)
char *ourmeltcompilescript = NULL;
struct pex_time ptime;
char *argv[4];
-#if ENABLE_CHECKING
char pwdbuf[500];
memset(pwdbuf, 0, sizeof(pwdbuf));
getcwd(pwdbuf, sizeof(pwdbuf)-1);
-#endif
memset (&ptime, 0, sizeof (ptime));
/* compute the ourmeltcompilscript */
debugeprintf ("compile_to_dyl basilys_compile_script_string %s", basilys_compile_script_string);
@@ -8413,6 +8411,10 @@ basilys_output_cfile_decl_impl (basilys_ptr_t unitnam,
free (dotcpercentnam);
}
+/* Added */
+#undef basilys_assert_failed
+#undef basilys_check_failed
+
void
basilys_assert_failed (const char *msg, const char *filnam,
int lineno, const char *fun)
@@ -8544,9 +8546,7 @@ dispatch_execute_basilys (const char *passname)
basilys_object_nth_field ((basilys_ptr_t) passv, FGCCPASS_EXEC);
if (basilys_magic_discr ((basilys_ptr_t) execuv) == OBMAG_CLOSURE)
{
-#if ENABLE_CHECKING
long passdbgcounter = basilys_dbgcounter;
-#endif
union basilysparam_un restab[1];
memset (&restab, 0, sizeof (restab));
restab[0].bp_longptr = &todol;