Auto merge of #28566 - Ms2ger:AsmDialect, r=sanxiyn

This commit is contained in:
bors 2015-09-21 20:06:50 +00:00
commit 7e8d19b24d
7 changed files with 12 additions and 25 deletions

View File

@ -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,

View File

@ -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,

View File

@ -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");
}

View File

@ -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();

View File

@ -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)]

View File

@ -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");
}

View File

@ -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");
}