mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Support ErrorTag as a jump label in inline assembly
This commit is contained in:
parent
028ab1fbfb
commit
91367234d9
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
Features:
|
Features:
|
||||||
* Do-while loops: support for a C-style do{<block>}while(<expr>); control structure
|
* Do-while loops: support for a C-style do{<block>}while(<expr>); control structure
|
||||||
|
* Inline assembly: support ``ErrorTag`` as a jump label.
|
||||||
* Type checker: now more eagerly searches for a common type of an inline array with mixed types
|
* Type checker: now more eagerly searches for a common type of an inline array with mixed types
|
||||||
* Code generator: generates a runtime error when an out-of-range value is converted into an enum type.
|
* Code generator: generates a runtime error when an out-of-range value is converted into an enum type.
|
||||||
|
|
||||||
|
@ -81,7 +81,11 @@ struct GeneratorState
|
|||||||
class LabelOrganizer: public boost::static_visitor<>
|
class LabelOrganizer: public boost::static_visitor<>
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
LabelOrganizer(GeneratorState& _state): m_state(_state) {}
|
LabelOrganizer(GeneratorState& _state): m_state(_state)
|
||||||
|
{
|
||||||
|
// Make the Solidity ErrorTag available to inline assembly
|
||||||
|
m_state.labels.insert(make_pair("ErrorTag", m_state.assembly.errorTag()));
|
||||||
|
}
|
||||||
|
|
||||||
template <class T>
|
template <class T>
|
||||||
void operator()(T const& /*_item*/) { }
|
void operator()(T const& /*_item*/) { }
|
||||||
|
Loading…
Reference in New Issue
Block a user