Auto merge of #28566 - Ms2ger:AsmDialect, r=sanxiyn
This commit is contained in:
commit
7e8d19b24d
@ -10,7 +10,6 @@
|
||||
|
||||
// The Rust HIR.
|
||||
|
||||
pub use self::AsmDialect::*;
|
||||
pub use self::BindingMode::*;
|
||||
pub use self::BinOp_::*;
|
||||
pub use self::BlockCheckMode::*;
|
||||
@ -41,7 +40,7 @@ pub use self::PathParameters::*;
|
||||
|
||||
use syntax::codemap::{self, Span, Spanned, DUMMY_SP, ExpnId};
|
||||
use syntax::abi::Abi;
|
||||
use syntax::ast::{Name, Ident, NodeId, DUMMY_NODE_ID, TokenTree};
|
||||
use syntax::ast::{Name, Ident, NodeId, DUMMY_NODE_ID, TokenTree, AsmDialect};
|
||||
use syntax::ast::{Attribute, Lit, StrStyle, FloatTy, IntTy, UintTy, CrateConfig};
|
||||
use syntax::owned_slice::OwnedSlice;
|
||||
use syntax::parse::token::InternedString;
|
||||
@ -876,12 +875,6 @@ pub enum Ty_ {
|
||||
TyInfer,
|
||||
}
|
||||
|
||||
#[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, Hash, Debug, Copy)]
|
||||
pub enum AsmDialect {
|
||||
AsmAtt,
|
||||
AsmIntel
|
||||
}
|
||||
|
||||
#[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, Hash, Debug)]
|
||||
pub struct InlineAsm {
|
||||
pub asm: InternedString,
|
||||
|
@ -801,7 +801,7 @@ pub fn lower_expr(e: &Expr) -> P<hir::Expr> {
|
||||
clobbers: clobbers.clone(),
|
||||
volatile: volatile,
|
||||
alignstack: alignstack,
|
||||
dialect: lower_asm_dialect(dialect),
|
||||
dialect: dialect,
|
||||
expn_id: expn_id,
|
||||
}),
|
||||
ExprStruct(ref path, ref fields, ref maybe_expr) => {
|
||||
@ -863,13 +863,6 @@ pub fn lower_capture_clause(c: CaptureClause) -> hir::CaptureClause {
|
||||
}
|
||||
}
|
||||
|
||||
pub fn lower_asm_dialect(a: AsmDialect) -> hir::AsmDialect {
|
||||
match a {
|
||||
AsmAtt => hir::AsmAtt,
|
||||
AsmIntel => hir::AsmIntel,
|
||||
}
|
||||
}
|
||||
|
||||
pub fn lower_visibility(v: Visibility) -> hir::Visibility {
|
||||
match v {
|
||||
Public => hir::Public,
|
||||
|
@ -1539,7 +1539,7 @@ impl<'a> State<'a> {
|
||||
if a.alignstack {
|
||||
options.push("alignstack");
|
||||
}
|
||||
if a.dialect == hir::AsmDialect::AsmIntel {
|
||||
if a.dialect == ast::AsmDialect::Intel {
|
||||
options.push("intel");
|
||||
}
|
||||
|
||||
|
@ -22,6 +22,7 @@ use trans::type_::Type;
|
||||
|
||||
use rustc_front::hir as ast;
|
||||
use std::ffi::CString;
|
||||
use syntax::ast::AsmDialect;
|
||||
use libc::{c_uint, c_char};
|
||||
|
||||
// Take an inline assembly expression and splat it out via LLVM
|
||||
@ -105,8 +106,8 @@ pub fn trans_inline_asm<'blk, 'tcx>(bcx: Block<'blk, 'tcx>, ia: &ast::InlineAsm)
|
||||
};
|
||||
|
||||
let dialect = match ia.dialect {
|
||||
ast::AsmAtt => llvm::AD_ATT,
|
||||
ast::AsmIntel => llvm::AD_Intel
|
||||
AsmDialect::Att => llvm::AD_ATT,
|
||||
AsmDialect::Intel => llvm::AD_Intel
|
||||
};
|
||||
|
||||
let asm = CString::new(ia.asm.as_bytes()).unwrap();
|
||||
|
@ -10,7 +10,6 @@
|
||||
|
||||
// The Rust abstract syntax tree.
|
||||
|
||||
pub use self::AsmDialect::*;
|
||||
pub use self::AttrStyle::*;
|
||||
pub use self::BindingMode::*;
|
||||
pub use self::BinOp_::*;
|
||||
@ -1440,8 +1439,8 @@ pub enum Ty_ {
|
||||
|
||||
#[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, Hash, Debug, Copy)]
|
||||
pub enum AsmDialect {
|
||||
AsmAtt,
|
||||
AsmIntel
|
||||
Att,
|
||||
Intel,
|
||||
}
|
||||
|
||||
#[derive(Clone, PartialEq, Eq, RustcEncodable, RustcDecodable, Hash, Debug)]
|
||||
|
@ -22,6 +22,7 @@ use feature_gate;
|
||||
use parse::token::{intern, InternedString};
|
||||
use parse::token;
|
||||
use ptr::P;
|
||||
use syntax::ast::AsmDialect;
|
||||
|
||||
enum State {
|
||||
Asm,
|
||||
@ -65,7 +66,7 @@ pub fn expand_asm<'cx>(cx: &'cx mut ExtCtxt, sp: Span, tts: &[ast::TokenTree])
|
||||
let mut clobs = Vec::new();
|
||||
let mut volatile = false;
|
||||
let mut alignstack = false;
|
||||
let mut dialect = ast::AsmAtt;
|
||||
let mut dialect = AsmDialect::Att;
|
||||
|
||||
let mut state = Asm;
|
||||
|
||||
@ -178,7 +179,7 @@ pub fn expand_asm<'cx>(cx: &'cx mut ExtCtxt, sp: Span, tts: &[ast::TokenTree])
|
||||
} else if option == "alignstack" {
|
||||
alignstack = true;
|
||||
} else if option == "intel" {
|
||||
dialect = ast::AsmIntel;
|
||||
dialect = AsmDialect::Intel;
|
||||
} else {
|
||||
cx.span_warn(p.last_span, "unrecognized option");
|
||||
}
|
||||
|
@ -2209,7 +2209,7 @@ impl<'a> State<'a> {
|
||||
if a.alignstack {
|
||||
options.push("alignstack");
|
||||
}
|
||||
if a.dialect == ast::AsmDialect::AsmIntel {
|
||||
if a.dialect == ast::AsmDialect::Intel {
|
||||
options.push("intel");
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user