Alex Beregszaszi
9a94b89c48
Update and add new tests for features of different EVM version
2020-07-03 14:08:09 +01:00
Daniel Kirchner
c0ee566049
Merge pull request #9293 from ethereum/yul-restrict-linkersymbol-to-object-dialect
...
[Yul] Restrict `linkersymbol` to object dialect and add missing changelog entries
2020-07-03 11:37:21 +02:00
chriseth
3d96e2b11a
Merge pull request #9257 from ethereum/yul-in-memory-struct-creation
...
Yul: Implement memory struct allocation
2020-07-02 17:03:46 +02:00
Mathias Baumann
50373ac1b0
Yul: Implement memory struct allocation
2020-07-02 16:37:20 +02:00
Kamil Śliwak
356b9a7904
Restrict linkersymbol
builtin to object dialect of Yul
2020-07-02 14:41:40 +02:00
a3d4
c2e1273ff4
Fixed recursive check in structureSizeEstimate
2020-07-02 04:14:58 +02:00
Leonardo Alt
5517e817d5
Do not trust code of external functions
2020-07-01 18:20:46 +02:00
Leonardo Alt
5160f89c1b
[SMTChecker] Support to external calls to unknown code
2020-07-01 18:20:33 +02:00
chriseth
1ec1166a27
Merge pull request #9277 from a3d4/improve-docstringparser-error-coverage
...
Add a missing DocStringParser error to tests
2020-07-01 18:17:09 +02:00
chriseth
3d602b3190
Merge pull request #9271 from ethereum/sloadKnowledge
...
[Yul Optimizer] Make DataFlowAnalyzer aware of storage / memory slot after sload / mload
2020-07-01 13:46:10 +02:00
chriseth
e0b1d8b9bd
Make DataFlowAnalyzer aware of storage / memory slot after sload / mload.
2020-07-01 13:45:25 +02:00
chriseth
ea46636ad2
Merge pull request #9281 from ethereum/fix-6772
...
Fuzzer: Add a specialized StackTooDeepError Exception that is caught …
2020-07-01 11:47:35 +02:00
Bhargava Shastry
1a0391bceb
Fuzzer: Add a specialized StackTooDeepError Exception that is caught in the fuzzing harness
2020-07-01 11:08:20 +02:00
a3d4
acd42a08c1
Add a missing DocStringParser error to tests.
2020-07-01 04:42:37 +02:00
Bhargava Shastry
b82590322c
yul proto fuzzer: Remove assertion that no errors/warnings while parsing yul code
2020-06-30 21:46:38 +02:00
chriseth
3e3f9a472f
Merge remote-tracking branch 'origin/develop' into breaking
2020-06-30 18:56:51 +02:00
Bhargava Shastry
d0ea1f97fd
Yul interpreter: Return selfbalance constant for the expression
...
balance(address()) and balance constant otherwise.
2020-06-30 16:59:13 +02:00
chriseth
76943023bd
Merge pull request #9267 from ethereum/issue-8911-split
...
NatSpec: Implement default inheritance.
2020-06-30 15:16:14 +02:00
Mathias Baumann
c50f0ae00e
NatSpec: Implement default inheritance.
2020-06-30 14:45:13 +02:00
Harikrishnan Mulackal
eeadb5a6b5
Tests, Docs and Changelog
2020-06-30 16:53:41 +05:30
chriseth
49e3217933
Merge pull request #9230 from ethereum/issue-8716
...
Add unit denomination ``gwei``
2020-06-30 12:36:10 +02:00
Mathias Baumann
fe33891531
Natspec: Add warning when using @author
with functions
2020-06-29 18:10:36 +02:00
chriseth
a1309e4c5f
Merge pull request #9011 from ethereum/natspec-event
...
NatSpec for events
2020-06-29 17:14:00 +02:00
Kamil Śliwak
3f3f8adcb8
CommandLineInterface: In error message about options disallowed in assembly mode only include the names of actually used options
2020-06-29 15:23:13 +02:00
Harikrishnan Mulackal
4146ff9fcf
NatSpec for events
2020-06-26 15:06:43 +05:30
Mathias Baumann
02328f3bbb
Add unit denomination `gwei
`
2020-06-24 18:24:56 +02:00
Kamil Śliwak
a331d4449d
Add linkersymbol() builtin to Yul EVM dialect
2020-06-24 15:06:52 +02:00
Kamil Śliwak
1b09b4f950
Allow Yul literals longer than 32-bytes when used as literal arguments for builtins
2020-06-24 15:05:38 +02:00
chriseth
af0cd4ab98
Merge pull request #9252 from ethereum/develop
...
Merge develop into breaking.
2020-06-23 18:28:24 +02:00
Bhargava Shastry
0397266351
Implement multi source semantic tests
...
Co-authored-by: chriseth <chris@ethereum.org>
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-06-23 17:29:16 +02:00
chriseth
e419e904d3
Merge pull request #9215 from a3d4/fix-grammar-pragma-version
...
Fix pragma solidity version in antlr grammar
2020-06-23 12:34:29 +02:00
a3d4
25ebff3a38
Fix pragma solidity version in antlr grammar
2020-06-23 02:25:21 +02:00
chriseth
d67734df6f
Fix error IDs.
2020-06-22 18:56:32 +02:00
chriseth
1441b97131
Merge remote-tracking branch 'origin/develop' into breaking
2020-06-22 18:40:20 +02:00
chriseth
98e5923e3a
Do now disallow assigning to external parameters.
2020-06-22 18:36:32 +02:00
a3d4
1d2ae7d82a
Added error codes to SyntaxTest expectations (changed code)
2020-06-22 16:53:03 +02:00
a3d4
e04cedafc5
Added error codes to SyntaxTest expectations (updated tests)
2020-06-22 16:51:47 +02:00
chriseth
cd2cc76f20
Modules are pure.
2020-06-18 18:28:04 +02:00
chriseth
b00014c51d
Fix source location of yul multi-assignemnt.
2020-06-18 14:31:53 +02:00
chriseth
76468f19fe
Check if using for refers to a library earlier.
2020-06-17 17:45:40 +02:00
chriseth
71cb7551f4
Merge pull request #9208 from ethereum/develop
...
Merge develop into breaking.
2020-06-16 16:11:41 +02:00
Kamil Śliwak
50b426e37b
Update the expected output of command-line tests after wasm changes
2020-06-16 15:36:47 +02:00
chriseth
8e23899886
Merge pull request #9188 from ethereum/refactorNameAndType
...
Refactor name and type resolution in preparation for free functions.
2020-06-16 14:26:52 +02:00
a3d4
5d63fa09e9
Fix false ////- and /***-natspec
2020-06-16 11:15:04 +02:00
chriseth
4b3ae0b206
Merge pull request #9075 from ethereum/commandline-invalid-asm-mode-options
...
Disallow invalid command-line option combinations in assembly mode
2020-06-15 17:33:12 +02:00
chriseth
cc23794575
Merge pull request #8858 from ethereum/fix-8857
...
Add more tests for yul cleanup codegen
2020-06-15 17:18:50 +02:00
Kamil Śliwak
4bd078ed7e
CommandLineInterface: Disallow --output-dir, --gas and --combined-json in assembly mode
2020-06-15 17:12:51 +02:00
Kamil Śliwak
0d7b3ae503
CommandLineInterface: Disallow --yul-dialect and --machine when not in assembly mode
2020-06-15 17:12:51 +02:00
chriseth
8155ad2187
Merge remote-tracking branch 'origin/develop' into breaking
2020-06-15 17:11:41 +02:00
Mathias Baumann
d54e7f50ed
Natspec: Output "type" and "version" in documenation
2020-06-15 14:53:34 +02:00
chriseth
b4c6fdb1ed
Merge pull request #8749 from aarlt/structured-docs-variables-aarlt-breaking
...
[BREAKING] Allow NatSpec comments for state variables.
2020-06-15 14:47:29 +02:00
Leonardo Alt
3c4e286390
[SMTChecker] Replace wrap mod by slack vars
2020-06-12 14:57:21 +02:00
chriseth
07c1167136
Refactor name and type resolution.
2020-06-12 12:18:02 +02:00
Bhargava Shastry
9264135bef
Add tests to validate clearing dirty bits via inline assembly operations
2020-06-12 11:32:15 +02:00
chriseth
0689cda19a
Merge pull request #9116 from ethereum/solYulCleanupFromStorageReference
...
New test for getters.
2020-06-11 14:08:10 +02:00
chriseth
012ba9537b
Merge pull request #9184 from ethereum/fixUsingForStorage
...
Fix using for with explicit reference types.
2020-06-11 14:00:28 +02:00
chriseth
c42373dce4
Merge pull request #9142 from ethereum/wasm-support-for-i32-in-generated-code
...
Add support for types in Wasm AST and code generation
2020-06-11 13:59:44 +02:00
chriseth
5c71b3fbb0
Merge pull request #9173 from ethereum/fixBoundCalldata
...
Fix bound functions with calldata parameters.
2020-06-11 13:31:30 +02:00
chriseth
549c90612c
Fix using for with explicit reference types.
2020-06-11 13:04:41 +02:00
Daniel Kirchner
73cd009b89
Fix struct allocation in Sol->Yul.
2020-06-11 12:16:45 +02:00
chriseth
d4e3491f35
Merge pull request #9177 from ethereum/fixYulStructMemberAccess
...
[Sol -> Yul] Fix struct member access for memory and implement for calldata.
2020-06-11 09:41:04 +02:00
Kamil Śliwak
e67f5072df
Add support for generating code with i32 variables in text and binary wasm
2020-06-11 02:44:23 +02:00
Leonardo
d7f29a33b9
Merge pull request #9096 from ethereum/conversionWarningsLibSol
...
Adding fixes for signedness warnings in libsolidity
2020-06-11 01:06:32 +02:00
Daniel Kirchner
90b66a7362
Fix struct member access for memory and implement for calldata.
2020-06-10 20:01:30 +02:00
chriseth
baabe65a84
Fix bound functions with calldata parameters.
2020-06-10 17:37:59 +02:00
chriseth
2410f0ed5a
Merge pull request #9135 from ethereum/fixReturnParameterLocation
...
Fixing ICE on calling externally a function that returns calldata pointers
2020-06-10 16:44:38 +02:00
Djordje Mijovic
e73fe17277
Fixing ICE on calling externally a function that returns calldata pointers
...
Co-authored-by: chriseth <chris@ethereum.org>
2020-06-10 14:41:45 +02:00
a3d4
51e64fe0b1
Add error IDs to console output
2020-06-10 13:27:25 +02:00
a3d4
b17915a6ba
Add error IDs to JSON
2020-06-10 13:26:51 +02:00
chriseth
6b3171c38b
Merge remote-tracking branch 'origin/develop' into breaking
2020-06-10 11:30:50 +02:00
Djordje Mijovic
c6e4943089
Adding fixes for signedness warnings in libsolidity
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-06-10 10:41:55 +02:00
chriseth
81f54a170b
Cleanup from storage.
2020-06-09 14:57:04 +02:00
Harikrishnan Mulackal
d8263d331e
Ignore warnings for yulOptimizer tests
2020-06-09 13:03:57 +02:00
Harikrishnan Mulackal
73e634924e
Warn on YUL switch statement with only default statement
2020-06-09 12:32:53 +02:00
chriseth
2724ce9511
Index access to fixed bytes and byte arrays.
2020-06-09 10:50:28 +02:00
Leonardo
1e8e0ebd13
Merge pull request #9140 from ethereum/wasm-binary-fix-memory-immediate-alignment
...
Fix wrong alignment for Wasm store/load with 8-, 16- and 32-bit arguments
2020-06-09 10:42:21 +02:00
Leonardo Alt
f49e2424b2
[SMTChecker] Erase knowledge when array variable is pushed
2020-06-08 10:23:06 +02:00
Kamil Śliwak
fe0a0802b2
wasm/BinaryTransform: Fix wrong alignment for .load/.store with arguments smaller than 64-bits
2020-06-06 00:00:46 +02:00
Kamil Śliwak
976a0f9395
wasm/BinaryTransform: Don't add an empty local entry in binary wasm if there are no locals
2020-06-05 21:03:06 +02:00
Leonardo
d243f5baac
Merge pull request #9045 from ethereum/smt_fix_tuple
...
[SMTChecker] Fix internal error in tuples of tuples.
2020-06-05 14:21:32 +02:00
Leonardo
731e6466a0
Merge pull request #9067 from ethereum/smt_fix_fp_again
...
[SMTChecker] Fix BMC targets with FP
2020-06-05 12:39:28 +02:00
Daniel Kirchner
0fed2518fc
Merge pull request #9115 from ethereum/moreTestsForGetters
...
More tests for getters.
2020-06-05 12:34:47 +02:00
Leonardo Alt
87ceb72b82
[SMTChecker] Fix internal error in tuples of tuples.
2020-06-05 12:20:47 +02:00
Djordje Mijovic
9b3d1c11ff
yul-phaser: A few more tweaks to ensure that signedness conversions do not cause warnings
...
- Don't cast booleans to int when the result gets assigned to an unsigned type. Relace them with ifs.
- Use unsigned initializer for a variable declared in a lambda capture.
- Unsigned abs() of a difference of unsigned values.
2020-06-04 17:18:07 +02:00
Djordje Mijovic
a49a127627
yul-phaser: Use ptrdiff_t for iterator arithmetic
2020-06-04 17:17:40 +02:00
chriseth
f97b376f7e
Merge pull request #9040 from ethereum/yulproto-remove-pc
...
ossfuzz: Remove PC from yul proto specification
2020-06-04 10:19:26 +02:00
chriseth
259292c884
Merge pull request #9118 from ethereum/develop
...
Merge develop into breaking.
2020-06-04 10:18:46 +02:00
chriseth
010a2246c7
More tests for getters.
2020-06-03 21:47:24 +02:00
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
chriseth
59fc88ca17
Merge pull request #9092 from ethereum/libEvmasmConversionWarnings
...
Fixing signedness conversion warnings in libevmasm
2020-06-03 18:46:49 +02:00
chriseth
5024985708
Merge pull request #9074 from ethereum/commandline-fix-wasm-crash-if-no-dialect
...
Fix ICE when selecting assembly variant with no Ewasm translation
2020-06-03 14:24:41 +02:00
chriseth
d12db7ec52
Merge pull request #8994 from ethereum/fixInvertedBinaryOp
...
Fix type inversion for shift and exp operators.
2020-06-03 14:11:16 +02:00
chriseth
1f49edd29d
Merge pull request #9039 from ethereum/yul-remove-pc-instr
...
[Yul] remove PC instruction
2020-06-03 14:10:35 +02:00
Mathias Baumann
6f8b5fe53b
Disallow override with non-public state variables
2020-06-03 14:03:26 +02:00
chriseth
c8b9d24eba
Merge pull request #9106 from ethereum/develop
...
Merge develop into breaking.
2020-06-03 13:51:28 +02:00
chriseth
a6c773bd96
Fix type inversion for shift and exp operators.
2020-06-03 13:46:26 +02:00
Djordje Mijovic
e4e3f49844
Fixing signedness conversion warnings in libevmasm
...
Co-authored-by: Harikrishnan Mulackal <webmail.hari@gmail.com>
2020-06-03 13:25:43 +02:00
Christian Parpart
9820df58ab
Remove Yul instruction PC and adapt tests accordingly.
2020-06-03 12:49:23 +02:00
Christian Parpart
c708a1bec2
AsmAnalysis: Fixes a superfluous whitespace in an error string
2020-06-03 12:23:06 +02:00