@@ -19,8 +19,8 @@ use crate::util::nodemap::{NodeMap, FxHashSet};
19
19
use errors:: FatalError ;
20
20
use syntax_pos:: { Span , DUMMY_SP , MultiSpan } ;
21
21
use syntax:: source_map:: Spanned ;
22
- use syntax:: ast:: { self , CrateSugar , Ident , Name , NodeId , AsmDialect } ;
23
- use syntax:: ast:: { Attribute , Label , LitKind , StrStyle , FloatTy , IntTy , UintTy } ;
22
+ use syntax:: ast:: { self , CrateSugar , Ident , Name , NodeId } ;
23
+ use syntax:: ast:: { Attribute , Label , LitKind , FloatTy , IntTy , UintTy } ;
24
24
pub use syntax:: ast:: { Mutability , Constness , Unsafety , Movability , CaptureBy , IsAuto , ImplPolarity } ;
25
25
use syntax:: attr:: { InlineAttr , OptimizeAttr } ;
26
26
use syntax:: symbol:: { Symbol , kw} ;
@@ -1457,7 +1457,7 @@ pub struct Expr {
1457
1457
1458
1458
// `Expr` is used a lot. Make sure it doesn't unintentionally get bigger.
1459
1459
#[ cfg( target_arch = "x86_64" ) ]
1460
- static_assert_size ! ( Expr , 72 ) ;
1460
+ static_assert_size ! ( Expr , 64 ) ;
1461
1461
1462
1462
impl Expr {
1463
1463
pub fn precedence ( & self ) -> ExprPrecedence {
@@ -1485,7 +1485,6 @@ impl Expr {
1485
1485
ExprKind :: Break ( ..) => ExprPrecedence :: Break ,
1486
1486
ExprKind :: Continue ( ..) => ExprPrecedence :: Continue ,
1487
1487
ExprKind :: Ret ( ..) => ExprPrecedence :: Ret ,
1488
- ExprKind :: InlineAsm ( ..) => ExprPrecedence :: InlineAsm ,
1489
1488
ExprKind :: Struct ( ..) => ExprPrecedence :: Struct ,
1490
1489
ExprKind :: Repeat ( ..) => ExprPrecedence :: Repeat ,
1491
1490
ExprKind :: Yield ( ..) => ExprPrecedence :: Yield ,
@@ -1532,7 +1531,6 @@ impl Expr {
1532
1531
ExprKind :: Ret ( ..) |
1533
1532
ExprKind :: Loop ( ..) |
1534
1533
ExprKind :: Assign ( ..) |
1535
- ExprKind :: InlineAsm ( ..) |
1536
1534
ExprKind :: AssignOp ( ..) |
1537
1535
ExprKind :: Lit ( _) |
1538
1536
ExprKind :: Unary ( ..) |
@@ -1655,9 +1653,6 @@ pub enum ExprKind {
1655
1653
/// A `return`, with an optional value to be returned.
1656
1654
Ret ( Option < P < Expr > > ) ,
1657
1655
1658
- /// Inline assembly (from `asm!`), with its outputs and inputs.
1659
- InlineAsm ( P < InlineAsm > , HirVec < Expr > , HirVec < Expr > ) ,
1660
-
1661
1656
/// A struct or struct-like variant literal expression.
1662
1657
///
1663
1658
/// E.g., `Foo {x: 1, y: 2}`, or `Foo {x: 1, .. base}`,
@@ -2052,28 +2047,6 @@ pub enum TyKind {
2052
2047
Err ,
2053
2048
}
2054
2049
2055
- #[ derive( Copy , Clone , RustcEncodable , RustcDecodable , Debug , HashStable ) ]
2056
- pub struct InlineAsmOutput {
2057
- pub constraint : Symbol ,
2058
- pub is_rw : bool ,
2059
- pub is_indirect : bool ,
2060
- pub span : Span ,
2061
- }
2062
-
2063
- // NOTE(eddyb) This is used within MIR as well, so unlike the rest of the HIR,
2064
- // it needs to be `Clone` and use plain `Vec<T>` instead of `HirVec<T>`.
2065
- #[ derive( Clone , RustcEncodable , RustcDecodable , Debug , HashStable ) ]
2066
- pub struct InlineAsm {
2067
- pub asm : Symbol ,
2068
- pub asm_str_style : StrStyle ,
2069
- pub outputs : Vec < InlineAsmOutput > ,
2070
- pub inputs : Vec < Symbol > ,
2071
- pub clobbers : Vec < Symbol > ,
2072
- pub volatile : bool ,
2073
- pub alignstack : bool ,
2074
- pub dialect : AsmDialect ,
2075
- }
2076
-
2077
2050
/// Represents a parameter in a function header.
2078
2051
#[ derive( RustcEncodable , RustcDecodable , Debug , HashStable ) ]
2079
2052
pub struct Param {
0 commit comments