Ticket #1308 (new bug)

Opened 12 years ago

Last modified 10 years ago

NQPrx does not vivify globals in all cases

Reported by: Austin_Hastings Owned by: pmichaud
Priority: normal Milestone:
Component: nqp Version: 1.8.0
Severity: medium Keywords:
Cc: Language:
Patch status: Platform:

Description

This code:

module Z;
our $Global;
sub zzz() {
        unless $Global {
                say("Not set");
        }
}
INIT {
        zzz();
}

module A;

sub aaa() {
	our $G2;

	unless $G2 {
		say("Not set");
	}
}

generates:

    get_global $P21, "$Global"
    unless $P21, unless_20

for the access code in sub zzz. There is no guard for null. But in the access code in sub aaa there is this:

    get_global $P31, "$G2"
    unless_null $P31, vivify_17

Apparently the scope isn't being looked up correctly, or something?

Change History

Changed 10 years ago by benabik

This is still valid. We should figure out if this is something nqp-rx is doing or a bug in PCT.

Note: See TracTickets for help on using tickets.