chriseth
6b5f83cdfa
Merge pull request #9058 from ethereum/memberAccessSolYul
...
[Sol->Yul] Member access for structs.
2020-06-03 21:19:49 +02:00
chriseth
f38e3a3574
Merge pull request #9056 from ethereum/solYulGetters
...
[Sol->Yul] Implement getters.
2020-06-03 19:08:15 +02:00
Mathias Baumann
6f8b5fe53b
Disallow override with non-public state variables
2020-06-03 14:03:26 +02:00
Christian Parpart
c708a1bec2
AsmAnalysis: Fixes a superfluous whitespace in an error string
2020-06-03 12:23:06 +02:00
chriseth
e7f3c042b6
Struct member access for storage and memory.
2020-06-03 10:37:39 +02:00
chriseth
37e8d78cff
[Sol->Yul] Implement getters.
2020-06-03 10:33:37 +02:00
Leonardo
96ce4abe0e
Merge pull request #9069 from ethereum/smt_try
...
[SMTChecker] Fix internal error on try/catch
2020-06-02 21:09:49 +02:00
chriseth
8ab8d5b1b0
Do not try compiling via yul if explicitly forbidden.
2020-06-02 19:55:33 +02:00
chriseth
c07254f5ac
Merge pull request #9055 from ethereum/issue-8881
...
Output error when forward referencing constants in inline assembly
2020-06-02 17:10:56 +02:00
chriseth
837e29fff8
Merge pull request #9084 from ethereum/remove-dead-code-from-execution-framework
...
Remove dead code from SolidityExecutionFramework::compileContract()
2020-06-02 17:00:27 +02:00
Leonardo Alt
10162016ae
[SMTChecker] Fix internal error on try/catch
2020-06-02 16:51:53 +02:00
chriseth
9c92562e28
Merge pull request #9059 from ssi91/refactor-interactive-tests
...
Refactor interactive tests
2020-06-02 16:50:31 +02:00
ssi91
79407c87fb
remove extra definition of printIndented
...
add CommonBaseTestCase class and inherit some of TestCase classes from it. Since that, remove print source extra definitions
create the base defifnition for printUpdatedExpectations and remove extra definitions of the method
make CommonBaseTestCase c-tor explicit
include AnsiColorized.h and sort includes
implement a common result checker
move the common implementations into TastCase
2020-06-02 21:15:00 +07:00
Leonardo
97cb091ada
Merge pull request #9068 from ethereum/smt_fix_state_var_init_call
...
[SMTChecker] Relax assertion about callstack
2020-06-02 15:53:14 +02:00
Mathias Baumann
bdc2c63327
Output error when forward referencing constants in inline assembly
2020-06-02 14:37:54 +02:00
Leonardo Alt
ede39fc2da
[SMTChecker] Relax assertion about callstack
2020-06-02 12:50:51 +02:00
Kamil Śliwak
9bb9b6345c
SolidityExecutionFramework: Fix indentation
...
- This code can never be reached because CompilerStack.compile() called above does the same analysis and fails if it's not successful.
2020-06-01 18:25:02 +02:00
Kamil Śliwak
df7b82bf31
SolidityExecutionFramework: Remove dead code for handling errors from parsing and analysis
...
- This code can never be reached because CompilerStack.compile() called above does the same analysis and fails if it's not successful.
2020-06-01 18:24:31 +02:00
Kamil Śliwak
311f025eb5
SolidityExecutionFramework: Fix compileContract() to print Yul errors from the correct source
2020-06-01 18:17:50 +02:00
Leonardo Alt
2128ff9f13
Fix ICE on push for member access
2020-05-29 19:13:27 +02:00
Leonardo Alt
e5d25692a5
[SMTChecker] Fix BMC targets with FP
2020-05-29 18:13:13 +02:00
chriseth
0b216f5771
Merge pull request #9050 from ethereum/smt_fix_nonvalue_asgn
...
[SMTChecker] Fix ICE on index access assignment inside single branches
2020-05-28 16:25:46 +02:00
chriseth
65d8b6cf75
Merge pull request #9033 from a3d4/partfix-5819-add-errorid-to-error-class
...
Add unique ID to Error class
2020-05-28 16:24:47 +02:00
Leonardo
1051cea91c
Merge pull request #9052 from ethereum/smt_add_test_delete_m_d_array
...
[SMTChecker] Add test that deletes arrays
2020-05-28 16:14:55 +02:00
Leonardo Alt
9b0146be42
Add test
2020-05-28 15:56:47 +02:00
Leonardo Alt
ec766958ea
Add test
2020-05-28 13:14:21 +02:00
Leonardo Alt
13f32268da
[SMTChecker] Add test that shows that deleting arrays takes the index into account
2020-05-28 13:08:16 +02:00
chriseth
f608e50bad
Merge pull request #9029 from ethereum/fewerInternalSourceRefs
...
Do not set source locations for small internal assembly routines.
2020-05-28 11:14:20 +02:00
chriseth
ee8307ceed
Merge pull request #9044 from ethereum/issue-9028
...
Fix failure to find overload resolution when overrides are involved
2020-05-28 10:33:01 +02:00
a3d4
be83c54d79
Throw TestParserError instead of Error in tests
2020-05-28 02:26:17 +02:00
Leonardo Alt
9e9f0c52e1
[SMTChecker] Support to bitwise
2020-05-27 20:59:00 +02:00
Mathias Baumann
a846c18e67
Fix failure to find overload resolution when overrides are involved
2020-05-27 18:31:56 +02:00
chriseth
eb923af09c
Do not set source locations for small internal assembly routines.
2020-05-27 18:26:46 +02:00
chriseth
afa873fe9f
Merge pull request #8913 from ethereum/yul-remove-pc-instr
...
Mark EVM instruction `pc()` as deprecated when used in inline assembly.
2020-05-27 12:10:32 +02:00
Christian Parpart
b7fa5d5040
Mark EVM instruction pc()
as deprecated when used in inline assembly.
2020-05-27 12:07:23 +02:00
chriseth
1bf706085d
Merge pull request #9030 from ethereum/issue-8923
...
Fix ICE when trying to decode too large static arrays
2020-05-27 11:45:39 +02:00
chriseth
0aa3fb5026
Merge pull request #9014 from ethereum/sol-yul-abidecode
...
[Sol - Yul] Add support for ABIDecode.
2020-05-27 11:44:13 +02:00
chriseth
f066050ec0
Merge pull request #9024 from ethereum/namableTypes
...
Disallow non-namable types for inline arrays.
2020-05-27 09:21:07 +02:00
Kamil Śliwak
f574d8ec3a
Don't assume that an expression cannot be associated with a function declaration
2020-05-27 00:05:18 +02:00
Alexander Arlt
118cb13476
[Sol - Yul] Add support for ABIDecode.
2020-05-26 13:30:37 -05:00
Mathias Baumann
884e7cbffc
Fix ICE when trying to decode too large static arrays
2020-05-26 19:36:18 +02:00
chriseth
d0b6de580f
Disallow non-namable types for inline arrays.
2020-05-26 18:17:35 +02:00
chriseth
50b200a5d5
Merge pull request #8797 from ethereum/sol-yul-populating-internal-dispatch-on-demand
...
[Sol->Yul] Populating internal dispatch on demand
2020-05-26 18:17:05 +02:00
Mathias Baumann
b3cafe4583
Fix ICE by avoiding copyForLocation() on ArraySliceType
2020-05-26 17:27:46 +02:00
Kamil Śliwak
1a2e441bc5
Generate internal dispatch only for functions that might actually get called via pointers
...
- This also adds support for internal library calls as a side-effect since they'll now be pulled into the internal dispatch automatically.
2020-05-26 17:01:50 +02:00
chriseth
33450619b1
Checks for uninitialized access to calldata variables.
2020-05-26 10:51:13 +02:00
chriseth
fb40a8abb8
Test updates.
2020-05-26 10:51:13 +02:00
chriseth
99194b1450
New tests.
2020-05-26 10:51:13 +02:00
chriseth
370350da07
Merge pull request #9008 from ethereum/smt_add_test
...
[SMTChecker] Add test that has an unused mapping
2020-05-25 17:04:54 +02:00
chriseth
6d64095ccf
Merge pull request #8987 from ethereum/sol-yul-bound-functions
...
[Sol->Yul] Bound functions
2020-05-25 16:53:33 +02:00
Mathias Baumann
d45bb2aa07
Add proper unipmlemented errors for array copying
2020-05-25 10:48:42 +02:00
Leonardo Alt
0fda5fe077
[SMTChecker] Add test that has an unused mapping
2020-05-25 10:24:48 +02:00
Kamil Śliwak
4a2ce57bed
Add support for bound function calls in IR generator
2020-05-20 21:10:20 +02:00
hrkrshnn
37257548d0
Fixed bug when two empty NatSpec comments led to scanning past EOL
2020-05-20 20:26:02 +05:30
Leonardo Alt
45eba27424
Rename namespace
2020-05-20 12:55:18 +02:00
Leonardo Alt
087605ea02
Create libsmtutil
2020-05-20 12:55:18 +02:00
chriseth
3c71412a47
Merge pull request #8988 from ethereum/isoltest_default_formatting
...
[isoltest] Improve parameter formatting.
2020-05-20 08:05:33 +02:00
Alexander Arlt
410986e00f
[isoltest] Improve parameter formatting.
2020-05-19 19:13:39 -05:00
chriseth
22d5caa979
Merge pull request #8532 from aarlt/structured-docs-variables-aarlt
...
Allow NatSpec comments for state variables
2020-05-19 19:26:35 +02:00
Kamil Śliwak
16e80b7bcd
Test case for internal dispatch with functions that have arguments that take up multiple slots
2020-05-19 18:02:14 +02:00
Alexander Arlt
af8bb5fb60
Allow natspec comments on state variables.
2020-05-19 11:01:52 -05:00
Erik Kundt
7d37ed4531
Adds structured docs for variable declarations.
...
- adds natspec generation for state variables.
- exports structured docs for state variables to JSON.
2020-05-19 11:01:52 -05:00
chriseth
f70ff0dfaa
Merge pull request #8977 from ethereum/mapping-type-error
...
Error when Mapping type in (non-local) storage is assigned to
2020-05-19 16:52:54 +02:00
Harikrishnan Mulackal
774edd4670
Error when Mapping type in (non-local) storage is assigned to
2020-05-19 19:12:38 +05:30
chriseth
3b27b4347c
Merge pull request #8916 from ethereum/smt_array_push_pop
...
[SMTChecker] Support array push/pop
2020-05-19 15:41:10 +02:00
chriseth
3211e22045
Merge pull request #8979 from ethereum/doc-json
...
[Trival] Test: Output JSON AST as array when it involves multiple sources
2020-05-19 15:29:24 +02:00
Djordje Mijovic
d235d0c166
[Sol->Yul] Implementing Byte array push() and pop()
2020-05-19 14:47:00 +02:00
Mathias Baumann
5a7217b90e
Test: Output JSON AST as array when it involves multiple sources
2020-05-19 14:26:08 +02:00
Leonardo Alt
1ab6ad79d8
Update test expectation
2020-05-18 16:59:31 +02:00
Leonardo Alt
2435ab938c
Add verification target for empty pop
2020-05-18 16:35:56 +02:00
Leonardo Alt
d4d26c02e4
Assume that push will not overflow
2020-05-18 16:35:56 +02:00
Leonardo Alt
07bb1952a7
Test updates
2020-05-14 23:32:30 +02:00
Leonardo Alt
a0c605aa85
[SMTChecker] Support array length
2020-05-14 23:32:29 +02:00
chriseth
7ef114db9a
Merge pull request #8841 from ethereum/sol_yul_ripemd160_ecrecover
...
[Sol - Yul] Add support for ripemd160 & ecrecover.
2020-05-14 18:43:55 +02:00
Alexander Arlt
91e9d54c71
[Sol - Yul] Add support for ripemd160 & ecrecover.
2020-05-14 10:44:39 -05:00
chriseth
b71a3f1f1d
Merge pull request #8939 from ethereum/updateZ3
...
Update z3 to version 4.8.8.
2020-05-14 16:36:49 +02:00
chriseth
1b86f27002
Merge pull request #8935 from ethereum/moveScopesIntoResolver
...
Move scopes into resolver.
2020-05-14 14:20:58 +02:00
Daniel Kirchner
0303902173
Update smt test expectations.
2020-05-14 14:12:01 +02:00
chriseth
e751a1c23d
Move scopes into resolver.
2020-05-14 13:16:47 +02:00
Djordje Mijovic
472fb21ee0
[Sol->Yul] Enabling new bytes(n)
2020-05-14 12:55:14 +02:00
chriseth
504b8d29c9
Merge pull request #8907 from ethereum/licenseIdentifier
...
Check for SPDX license identifiers.
2020-05-14 01:21:24 +02:00
chriseth
1700bdc4ad
Merge pull request #8925 from ethereum/abiEncodeCalldataSlice
...
Allow abi encoding array slices without casting.
2020-05-13 18:55:16 +02:00
Daniel Kirchner
97296d8622
Allow ABI encoding for array slices without explicit casts.
2020-05-13 18:20:07 +02:00
Alexander Arlt
af44c05f1a
Add new test.
2020-05-13 18:16:59 +02:00
Alexander Arlt
52b9a92ff8
Update existing tests.
2020-05-13 18:16:59 +02:00
chriseth
3872a1f000
Add support for SPDX license identifiers.
2020-05-13 18:16:59 +02:00
Mathias Baumann
820fdd9bf7
Escape backslashes when formatting
2020-05-13 17:08:37 +02:00
chriseth
e9446475bb
Merge pull request #8924 from ethereum/arraySliceBug
...
Fix array slice bug.
2020-05-13 16:06:28 +02:00
Daniel Kirchner
6f04664cfa
Disallow array slicing for arrays with dyanmically encoded base types.
2020-05-13 15:52:22 +02:00
chriseth
aca700497c
Merge pull request #8903 from ethereum/exponentiation-bug
...
Fix exponentiation bug
2020-05-13 15:49:23 +02:00
Harikrishnan Mulackal
47e9a13e8a
Fix exponentiation bug
2020-05-13 13:53:06 +05:30
chriseth
b2122d479f
Merge pull request #8915 from a3d4/partfix-5819-remove-erroroccurred-flag
...
Remove a dedicated error flag from DeclarationTypeChecker and other classes
2020-05-12 20:18:33 +02:00
a3d4
02d1f8c41a
Remove a dedicated error flag from DeclarationTypeChecker
2020-05-12 18:13:17 +02:00
chriseth
901b421bb8
Merge pull request #8910 from ethereum/natspec-return-bug
...
Bug that ignored return tag when no other devdoc tags were present
2020-05-12 16:47:07 +02:00
Harikrishnan Mulackal
095e17f7f9
Bug that ignored return tag when no other devdoc tags were present
2020-05-12 20:05:22 +05:30
Harikrishnan Mulackal
c29d76f8f2
Test for function with value setting
2020-05-12 15:21:13 +05:30
Daniel Kirchner
c2f5a66a79
Implement .creationCode for Sol->Yul.
2020-05-11 18:51:51 +02:00
Daniel Kirchner
3fbde6e782
Merge pull request #8856 from ethereum/implicitConstructorCallvalueCheck
...
Implicit constructor callvalue check
2020-05-11 18:50:36 +02:00
Daniel Kirchner
79b217dfb3
Callvalue checks for implicit constructors.
2020-05-11 16:14:34 +02:00
chriseth
c0bf529236
Support bare calls.
2020-05-11 15:11:46 +02:00