From 829e228d4b2ccb314ea1e653fd16154ae3fd31b3 Mon Sep 17 00:00:00 2001 From: Thomas Lively Date: Tue, 18 Jun 2024 17:14:09 -0700 Subject: [Parser] Fix bug in unreachable fallback logic (#6676) When popping past an unreachable instruction would lead to popping from an empty stack or popping an incorrect type, we need to avoid popping and produce new Unreachable instructions instead to ensure we parse valid IR. The logic for this was flawed and made the synthetic Unreachable come before the popped unreachable child, which was not correct in the case that that popped unreachable was a branch or other non-trapping instruction. Fix and simplify the logic and re-enable the spec test that uncovered the bug. --- scripts/test/shared.py | 3 --- 1 file changed, 3 deletions(-) (limited to 'scripts/test') diff --git a/scripts/test/shared.py b/scripts/test/shared.py index f5fda92a5..0e7062437 100644 --- a/scripts/test/shared.py +++ b/scripts/test/shared.py @@ -417,9 +417,6 @@ SPEC_TESTS_TO_SKIP = [ 'type.wast', 'unreached-invalid.wast', - # WAT parser error - 'unwind.wast', - # WAST parser error 'binary.wast', -- cgit v1.2.3