diff options
author | chriseth <chris@ethereum.org> | 2018-01-10 22:25:53 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-01-10 22:25:53 +0800 |
commit | a75d5333d8ae614316b9c707e2022c2d144eaf33 (patch) | |
tree | 24ae6722975b86c4702d12feb825f3e3aa8663c5 /libsolidity/inlineasm/AsmDataForward.h | |
parent | 2548228b365d56612e2f039f735be0fdf6ce0807 (diff) | |
parent | 8b20a7cd53b04a4b3b3e26df4ddd9ad81d28bb1b (diff) | |
download | dexon-solidity-a75d5333d8ae614316b9c707e2022c2d144eaf33.tar dexon-solidity-a75d5333d8ae614316b9c707e2022c2d144eaf33.tar.gz dexon-solidity-a75d5333d8ae614316b9c707e2022c2d144eaf33.tar.bz2 dexon-solidity-a75d5333d8ae614316b9c707e2022c2d144eaf33.tar.lz dexon-solidity-a75d5333d8ae614316b9c707e2022c2d144eaf33.tar.xz dexon-solidity-a75d5333d8ae614316b9c707e2022c2d144eaf33.tar.zst dexon-solidity-a75d5333d8ae614316b9c707e2022c2d144eaf33.zip |
Merge pull request #3317 from ethereum/looseStrictAsm
Split inline assembly into loose and strict flavour.
Diffstat (limited to 'libsolidity/inlineasm/AsmDataForward.h')
-rw-r--r-- | libsolidity/inlineasm/AsmDataForward.h | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/libsolidity/inlineasm/AsmDataForward.h b/libsolidity/inlineasm/AsmDataForward.h index 317e257c..3a9600fe 100644 --- a/libsolidity/inlineasm/AsmDataForward.h +++ b/libsolidity/inlineasm/AsmDataForward.h @@ -53,6 +53,13 @@ struct TypedName; using Expression = boost::variant<FunctionalInstruction, FunctionCall, Identifier, Literal>; using Statement = boost::variant<ExpressionStatement, Instruction, Label, StackAssignment, Assignment, VariableDeclaration, FunctionDefinition, If, Switch, ForLoop, Block>; +enum class AsmFlavour +{ + Loose, // no types, EVM instructions as function, jumps and direct stack manipulations + Strict, // no types, EVM instructions as functions, but no jumps and no direct stack manipulations + IULIA // same as Strict mode with types +}; + } } } |