On Tue, 22 Sep 2009, Will Coleda via RT wrote:

> On Tue Jul 08 20:56:02 2008, s1n wrote:
> > When trying to use the --optimize flag, building perl6 causes parrot 
> to
> > segfault. Attached is the Configure.pl script output. 
> <SNIP>
> 
> s1n - this original report is over a year old; there have been a lot of 
> changes to both parrot and rakudo in that time; we've also just 
> committed something that should cause the optimized build to at least 
> fail more cleanly if there's a problem (which we can then more easily 
> identify and resolve.)

Actually, all those ASSERT_ARGS checks aren't used in the --optimize build 
anyway.  Applying the following patch should enable them, assuming that's 
what is actually intended.

--- /parrot-svn/config/init/optimize.pm 2009-09-21 08:55:56.000000000 -0400
+++ parrot-andy/config/init/optimize.pm 2009-09-22 13:35:52.216068004 -0400
@@ -46,7 +46,7 @@
 
         # disable debug flags
         $conf->data->set( cc_debug => '' );
-        $conf->data->add( ' ', ccflags => "-DDISABLE_GC_DEBUG=1 -DNDEBUG" );
+        $conf->data->add( ' ', ccflags => "-DDISABLE_GC_DEBUG=1" );
         if ( $optimize eq "1" ) {
 
             # use perl5's value


However, in principle, the various __nonnull__ attributes mean that gcc is 
still free to optimize away at least some of the ASSERT checks.

-- 
    Andy Dougherty              dough...@lafayette.edu

Reply via email to