From 788612d2efef33aad711646a1ace9dfee6237730 Mon Sep 17 00:00:00 2001 From: Daniel Kirchner Date: Fri, 7 Dec 2018 18:20:35 +0100 Subject: Refactoring of the ControlFlowGraph and use for detecting all uninitialized storage accesses. --- .../syntaxTests/controlFlow/uninitializedAccess/assembly.sol | 9 +++++++++ 1 file changed, 9 insertions(+) create mode 100644 test/libsolidity/syntaxTests/controlFlow/uninitializedAccess/assembly.sol (limited to 'test/libsolidity/syntaxTests/controlFlow/uninitializedAccess/assembly.sol') diff --git a/test/libsolidity/syntaxTests/controlFlow/uninitializedAccess/assembly.sol b/test/libsolidity/syntaxTests/controlFlow/uninitializedAccess/assembly.sol new file mode 100644 index 00000000..bfcbbef5 --- /dev/null +++ b/test/libsolidity/syntaxTests/controlFlow/uninitializedAccess/assembly.sol @@ -0,0 +1,9 @@ +contract C { + uint[] r; + function f() internal view returns (uint[] storage s) { + assembly { pop(s_slot) } + s = r; + } +} +// ---- +// TypeError: (92-126): This variable is of storage pointer type and can be accessed without prior assignment. -- cgit v1.2.3