aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2016-12-01 22:14:31 +0800
committerGitHub <noreply@github.com>2016-12-01 22:14:31 +0800
commit55a719a79c1ab5b78ea6e1bcb4f27a888494a538 (patch)
treeceb3fbab0eb902fcd1a728cb10efe89ca825debc
parent1367aef83b91f2cf9f28faf54fa61f0594e3b9dc (diff)
parent422140f60369a2e69c6cb446528737d5d23a3e3d (diff)
downloaddexon-solidity-55a719a79c1ab5b78ea6e1bcb4f27a888494a538.tar.gz
dexon-solidity-55a719a79c1ab5b78ea6e1bcb4f27a888494a538.tar.zst
dexon-solidity-55a719a79c1ab5b78ea6e1bcb4f27a888494a538.zip
Merge pull request #1462 from ethereum/fix-incorrect-assertion
codegen: assertion did not assert non-nullness
-rw-r--r--libsolidity/codegen/ContractCompiler.cpp2
-rw-r--r--test/libsolidity/SolidityNameAndTypeResolution.cpp2
2 files changed, 2 insertions, 2 deletions
diff --git a/libsolidity/codegen/ContractCompiler.cpp b/libsolidity/codegen/ContractCompiler.cpp
index 93083e25..a0f196bc 100644
--- a/libsolidity/codegen/ContractCompiler.cpp
+++ b/libsolidity/codegen/ContractCompiler.cpp
@@ -583,7 +583,7 @@ bool ContractCompiler::visit(InlineAssembly const& _inlineAssembly)
// lvalue context
auto variable = dynamic_cast<VariableDeclaration const*>(decl);
solAssert(
- !!variable || !m_context.isLocalVariable(variable),
+ !!variable && m_context.isLocalVariable(variable),
"Can only assign to stack variables in inline assembly."
);
unsigned size = variable->type()->sizeOnStack();
diff --git a/test/libsolidity/SolidityNameAndTypeResolution.cpp b/test/libsolidity/SolidityNameAndTypeResolution.cpp
index 34f7033f..627aaa2f 100644
--- a/test/libsolidity/SolidityNameAndTypeResolution.cpp
+++ b/test/libsolidity/SolidityNameAndTypeResolution.cpp
@@ -4521,7 +4521,7 @@ BOOST_AUTO_TEST_CASE(inline_assembly_storage)
}
}
)";
- CHECK_ERROR(text, DeclarationError, "");
+ CHECK_ERROR(text, DeclarationError, "not found, not unique or not lvalue.");
}
BOOST_AUTO_TEST_CASE(inline_assembly_storage_in_modifiers)