aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMathias Baumann <marenz@supradigital.org>2018-12-05 17:25:59 +0800
committerMathias Baumann <marenz@supradigital.org>2018-12-05 17:25:59 +0800
commit6e5160efa0d077c1800a5e171f5033ed2fb0f801 (patch)
tree8fcddb0eb73df2029f396821edf10197824e1fe5
parent8b38cf3ed43d17a7d80a45237f1ec5b538af55b3 (diff)
downloaddexon-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.cpp4
-rw-r--r--test/tools/yulopti.cpp2
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())