Something is marking random_seed as noreturn.

As far as I understand, symbols are marked as noreturn by use of TREE_THIS_VOLATILE, which is done on a few selected trees and is also done whenever a symbol has the noreturn attribute. This noreturn attribute can be set to 1 by make_noreturn, but nothing ever sets it to 0, which is probably why we're experiencing this problem.

I have to go and not enough time to check it in detail, but perhaps we should change that here:

Index: intrinsic.c
===================================================================
--- intrinsic.c (revision 114340)
+++ intrinsic.c (working copy)
@@ -254,6 +254,7 @@
       next_sym->resolve = resolve;
       next_sym->specific = 0;
       next_sym->generic = 0;
+      next_sym->attr.noreturn = 0;
       break;
     default:

Reply via email to