diff options
author | chriseth <chris@ethereum.org> | 2017-06-14 23:40:39 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-14 23:40:39 +0800 |
commit | 2491721d42e3d1ac94a323761da22f4b873c8bca (patch) | |
tree | 70f00c6fddaadf2b5d044d4ea6d87d7adcb931f8 /libsolidity | |
parent | bab470086c8213555eade30f65b161db82475b07 (diff) | |
parent | 2b3b00776ed07fda9db9d389f616a2ec00f5aabe (diff) | |
download | dexon-solidity-2491721d42e3d1ac94a323761da22f4b873c8bca.tar dexon-solidity-2491721d42e3d1ac94a323761da22f4b873c8bca.tar.gz dexon-solidity-2491721d42e3d1ac94a323761da22f4b873c8bca.tar.bz2 dexon-solidity-2491721d42e3d1ac94a323761da22f4b873c8bca.tar.lz dexon-solidity-2491721d42e3d1ac94a323761da22f4b873c8bca.tar.xz dexon-solidity-2491721d42e3d1ac94a323761da22f4b873c8bca.tar.zst dexon-solidity-2491721d42e3d1ac94a323761da22f4b873c8bca.zip |
Merge pull request #2149 from ethereum/eip-create
Introduce CREATE2 in the assembler
Diffstat (limited to 'libsolidity')
-rw-r--r-- | libsolidity/inlineasm/AsmAnalysis.cpp | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/libsolidity/inlineasm/AsmAnalysis.cpp b/libsolidity/inlineasm/AsmAnalysis.cpp index 7bcbde91..630e0abf 100644 --- a/libsolidity/inlineasm/AsmAnalysis.cpp +++ b/libsolidity/inlineasm/AsmAnalysis.cpp @@ -447,17 +447,25 @@ void AsmAnalyzer::expectValidType(string const& type, SourceLocation const& _loc void AsmAnalyzer::warnOnFutureInstruction(solidity::Instruction _instr, SourceLocation const& _location) { + string instr; switch (_instr) { + case solidity::Instruction::CREATE2: + instr = "create2"; + break; case solidity::Instruction::RETURNDATASIZE: + instr = "returndatasize"; + break; case solidity::Instruction::RETURNDATACOPY: - m_errorReporter.warning( - _location, - "The RETURNDATASIZE/RETURNDATACOPY instructions are only available after " - "the Metropolis hard fork. Before that they act as an invalid instruction." - ); + instr = "returndatacopy"; break; default: break; } + if (!instr.empty()) + m_errorReporter.warning( + _location, + "The \"" + instr + "\" instruction is only available after " + + "the Metropolis hard fork. Before that it acts as an invalid instruction." + ); } |