Skip to content

Tracking Issue for wasm exception-handling architecture intrinsics #122465

Open
@coolreader18

Description

@coolreader18

Feature gate: #![feature(wasm_exception_handling_intrinsics)]

This is a tracking issue for wasm exception-handling architecture intrinsics; currently, only the throw instruction is implemented as a platform intrinsic.

Public API

// core::arch::wasm32

pub unsafe fn throw<const TAG: i32>(ptr: *mut u8) -> !;

Steps / History

Unresolved Questions

  • Needs better support from LLVM before merging. At the moment, LLVM only accepts a tag value of 0, signifying a C++ exception. Ideally one would be able to somehow declare a tag in a similar way to a static, and pass that as the TAG to the intrinsic.

Footnotes

  1. https://std-dev-guide.rust-lang.org/feature-lifecycle/stabilization.html

Metadata

Metadata

Assignees

No one assigned

    Labels

    C-tracking-issueCategory: An issue tracking the progress of sth. like the implementation of an RFCT-libs-apiRelevant to the library API team, which will review and decide on the PR/issue.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions