ISLE: fix compile fuzz target, and fix a simple error-reporting bug. (#3845)
It seems our `compile` fuzz target for ISLE has not been regularly tested, as it was never updated for the `isle` -> `cranelift_isle` crate renaming. This PR fixes it to compile again. This also includes a simple fix in the typechecking: when verifying that a term decl is valid, we might insert a term ID into the name->ID map before fully checking that all of the types exist, and then skipping (for error recovery purposes) the actual push onto the term-signature vector if one of the types does have an error. This phantom TID can later cause a panic. The fix is to avoid adding to the map until we have fully verified the term decl.
This commit is contained in:
2
.github/workflows/main.yml
vendored
2
.github/workflows/main.yml
vendored
@@ -185,6 +185,8 @@ jobs:
|
||||
- run: cargo fetch
|
||||
working-directory: ./fuzz
|
||||
- run: cargo fuzz build --dev
|
||||
# Check that the ISLE fuzz targets build too.
|
||||
- run: cargo fuzz build --dev --fuzz-dir ./cranelift/isle/fuzz
|
||||
|
||||
rebuild_isle:
|
||||
name: Rebuild ISLE
|
||||
|
||||
Reference in New Issue
Block a user