Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inline assembly #280

Closed
Amanieu opened this issue Apr 29, 2020 · 2 comments
Closed

Inline assembly #280

Amanieu opened this issue Apr 29, 2020 · 2 comments
Labels
major-change A proposal to make a major change to rustc major-change-accepted A major change proposal that was accepted

Comments

@Amanieu
Copy link
Member

Amanieu commented Apr 29, 2020

TL;DR

  • Implement the new asm! syntax proposed in Inline assembly rfcs#2873.
  • The new syntax is much more user-friendly and has significantly more checks in rustc, which should make it impossible to trigger an ICE, unlike the old implementation.

Links and Details

In rust-lang/rust#71007 we deprecated the old asm! macro and told users to use llvm_asm! instead. The next step is to replace asm! with a macro implementing the new syntax proposed in the RFC.

The implementation PR has design notes on how the inline assembly passes through the various stages of the compiler (AST, HIR, MIR, etc).

Implementation PR: rust-lang/rust#69171
New RFC thread: rust-lang/rfcs#2873
Old RFC thread (now closed): rust-lang/rfcs#2850

Mentors or Reviewers

@nagisa has already performed an initial review of the implementation PR.

@Amanieu Amanieu added the major-change A proposal to make a major change to rustc label Apr 29, 2020
@rustbot rustbot added the to-announce Announce this issue on triage meeting label Apr 29, 2020
@spastorino spastorino removed the to-announce Announce this issue on triage meeting label Apr 30, 2020
@nikomatsakis
Copy link
Contributor

@rustbot second

I second this proposal -- basically, everything here looks "roughly like" I would expect it to look, and @nagisa has already done an initial review, so we have a dedicated reviewer.

@rustbot rustbot added the final-comment-period The FCP has started, most (if not all) team members are in agreement label May 1, 2020
@nikomatsakis
Copy link
Contributor

FCP expired, closing the issue!

@spastorino spastorino added major-change-accepted A major change proposal that was accepted and removed final-comment-period The FCP has started, most (if not all) team members are in agreement labels Jun 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
major-change A proposal to make a major change to rustc major-change-accepted A major change proposal that was accepted
Projects
None yet
Development

No branches or pull requests

4 participants