diff options
author | Mathias Baumann <marenz@supradigital.org> | 2018-12-05 17:25:59 +0800 |
---|---|---|
committer | Mathias Baumann <marenz@supradigital.org> | 2018-12-05 17:25:59 +0800 |
commit | 6e5160efa0d077c1800a5e171f5033ed2fb0f801 (patch) | |
tree | 8fcddb0eb73df2029f396821edf10197824e1fe5 | |
parent | 8b38cf3ed43d17a7d80a45237f1ec5b538af55b3 (diff) | |
download | dexon-solidity-6e5160efa0d077c1800a5e171f5033ed2fb0f801.tar.gz dexon-solidity-6e5160efa0d077c1800a5e171f5033ed2fb0f801.tar.zst dexon-solidity-6e5160efa0d077c1800a5e171f5033ed2fb0f801.zip |
Relax assertion about jumps in loose mode
-rw-r--r-- | libyul/AsmAnalysis.cpp | 4 | ||||
-rw-r--r-- | test/tools/yulopti.cpp | 2 |
2 files changed, 4 insertions, 2 deletions
diff --git a/libyul/AsmAnalysis.cpp b/libyul/AsmAnalysis.cpp index 3cbed9c7..1be1cf1a 100644 --- a/libyul/AsmAnalysis.cpp +++ b/libyul/AsmAnalysis.cpp @@ -629,7 +629,9 @@ void AsmAnalyzer::warnOnInstructions(solidity::Instruction _instr, SourceLocatio if (_instr == solidity::Instruction::JUMP || _instr == solidity::Instruction::JUMPI || _instr == solidity::Instruction::JUMPDEST) { - solAssert(m_dialect.flavour == AsmFlavour::Loose, ""); + if (m_dialect.flavour != AsmFlavour::Loose) + solAssert(m_errorTypeForLoose && *m_errorTypeForLoose != Error::Type::Warning, ""); + m_errorReporter.error( m_errorTypeForLoose ? *m_errorTypeForLoose : Error::Type::Warning, _location, diff --git a/test/tools/yulopti.cpp b/test/tools/yulopti.cpp index e867f049..d0643d73 100644 --- a/test/tools/yulopti.cpp +++ b/test/tools/yulopti.cpp @@ -94,7 +94,7 @@ public: *m_analysisInfo, errorReporter, EVMVersion::byzantium(), - boost::none, + langutil::Error::Type::SyntaxError, Dialect::strictAssemblyForEVM() ); if (!analyzer.analyze(*m_ast) || !errorReporter.errors().empty()) |