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
c5dbcc9853
Merge pull request #9018 from ethereum/fixLeave
...
Fix implementation of leave.
2020-05-26 11:35:47 +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
bd64e537cb
Fix implementation of leave.
2020-05-26 10:24:01 +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
chriseth
8e31c345a8
Merge pull request #8978 from ethereum/disturbance_stack
...
Add proper unipmlemented errors for array copying
2020-05-25 15:34:45 +02:00
Mathias Baumann
7f3d437ffe
Fix caret position for errors with utf source
2020-05-25 14:27:03 +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
a3d4
a499ef16fa
Fix spelling errors
2020-05-25 02:54:37 +02:00
Kamil Śliwak
4a2ce57bed
Add support for bound function calls in IR generator
2020-05-20 21:10:20 +02:00
chriseth
32bec6b374
Merge pull request #8800 from ethereum/natspec-bugfix
...
[BREAKING] NatSpec bugfix
2020-05-20 17:21:15 +02:00
chriseth
ed0f2d463f
Merge pull request #8453 from imapp-pl/configurable-code-size-metric
...
Configurable CodeSize metric
2020-05-20 17:15:41 +02:00
hrkrshnn
37257548d0
Fixed bug when two empty NatSpec comments led to scanning past EOL
2020-05-20 20:26:02 +05:30
Kamil Śliwak
1fa689e951
[yul-phaser] ProgramCache::calculateTotalCachedCodeSize(): Replace default weights with ones that better correlate with memory usage
2020-05-20 16:47:23 +02:00
Kamil Śliwak
b776021870
[yul-phaser] Command-line options for altering weights used by CodeSize metric
2020-05-20 16:47:23 +02:00
Kamil Śliwak
40dfac7683
[yul-phaser] Require specifying weights for Program::codeSize()
2020-05-20 16:47:23 +02:00
Kamil Śliwak
d199fc537b
Add configurable weights to CodeSize metric
2020-05-20 16:47:23 +02:00
Leonardo
56b5f1bb12
Merge pull request #8976 from ethereum/libsmtutil
...
libsmtutil
2020-05-20 16:14:37 +02:00
chriseth
84092edc5d
Merge pull request #8914 from random-internet-cat/down-with-unique-ptr
...
Down with unique_ptr!
2020-05-20 13:22:06 +02:00
Leonardo Alt
45eba27424
Rename namespace
2020-05-20 12:55:18 +02:00
Leonardo Alt
802d66244d
Do not link unnecessarily
2020-05-20 12:55:18 +02:00
Leonardo Alt
087605ea02
Create libsmtutil
2020-05-20 12:55:18 +02:00
chriseth
30278c4b88
Merge pull request #8985 from ethereum/fixWasmLoops
...
Fix webassembly loops by adding explicit break at the end.
2020-05-20 11:08:24 +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
4e9f6c3508
Fix webassembly loops by adding explicit break at the end.
2020-05-19 22:16:16 +02: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
chriseth
3275243c89
Merge pull request #8898 from mijovic/sol2YulByteArrayPush
...
[Sol->Yul] Implementing ByteArray push() and pop()
2020-05-19 15:28:01 +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
Jason Cobb
63ad1092cd
Add comment to filenames in boostTest.cpp
2020-05-18 10:24:38 -04:00
chriseth
f92a4f1965
Provide runtime object in Yul mode.
2020-05-18 13:48:23 +02:00
Harikrishnan Mulackal
4a291f8551
Changelog and test
2020-05-18 12:36:01 +05:30
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
2d1e7d9504
Merge pull request #8931 from random-internet-cat/lazy-init
...
Add LazyInit
2020-05-14 18:54:19 +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
Jason Cobb
a093962115
Add tests
2020-05-14 11:27:56 -04:00
Jason Cobb
26406e40d0
Add empty LazyInit test suite
2020-05-14 10:49:31 -04:00
Jason Cobb
24dfa89ee7
Use LazyInit for cached contract compilations
2020-05-14 10:36:58 -04: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
6308ca4a22
Binary transform for br and br_if.
2020-05-14 11:30:19 +02:00
chriseth
504b8d29c9
Merge pull request #8907 from ethereum/licenseIdentifier
...
Check for SPDX license identifiers.
2020-05-14 01:21:24 +02:00
Alex Beregszaszi
c9745ea101
EVMHost: enable support for Berlin
2020-05-13 22:56:11 +01:00
Alex Beregszaszi
7353804252
EVMHost: simplify code using new evmc features
2020-05-13 22:56:11 +01:00
Alex Beregszaszi
098cfd333f
Update EVMC to 7.2.0
2020-05-13 22:29:35 +01: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
7da453014d
Fix source location of yul variable declarations without value.
2020-05-12 17:45:19 +02:00
chriseth
efd2f63c2c
Merge pull request #8706 from ethereum/solProtoSkeleton
...
ossfuzz: Add sol proto fuzzer skeleton
2020-05-12 17:15:23 +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
Bhargava Shastry
596ac018f5
Fuzzer: Add test harness for solidity inheritance protobuf fuzzer
...
Co-Authored-By: Leonardo <leo@ethereum.org>
2020-05-11 23:56:27 +02:00
Bhargava Shastry
00946f3ea0
ossfuzz: Add sol proto fuzzer skeleton
...
Co-Authored-By: Leonardo <leo@ethereum.org>
2020-05-11 23:56:27 +02:00
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
f1e0aa7a56
Merge pull request #8763 from ethereum/bareCall
...
IR code generation for call.
2020-05-11 16:06:54 +02:00
chriseth
3312150d7f
Merge pull request #8878 from ethereum/selecting-yul-optimisation-steps-in-strict-assembly-mode
...
Selecting Yul optimisation steps in strict assembly mode
2020-05-11 16:05:57 +02:00
chriseth
c0bf529236
Support bare calls.
2020-05-11 15:11:46 +02:00
chriseth
4c13ce24f0
Merge pull request #8887 from ethereum/boost-fs
...
Remove boost::filesystem where it is not needed
2020-05-11 15:09:54 +02:00
chriseth
0248303c15
Merge pull request #8872 from ethereum/int-min-max
...
implemented type(X).min and type(X).max for all integer types
2020-05-11 15:08:19 +02:00
Alex Beregszaszi
c31a93b3f2
Remove boost::filesystem where it is not needed
...
A two uses in CommonIO remain for the compiler (plus testing/tools use it extensively)
2020-05-11 11:19:11 +01:00
Harikrishnan Mulackal
e4e200f29f
Changelog and tests
2020-05-11 15:29:05 +05:30
Harikrishnan Mulackal
e54c4eecfc
implemented type(X).min and type(X).max for all integer types
2020-05-11 14:51:13 +05:30
Djordje Mijovic
591a5fff07
isoltest: WhiskersError and YulException treated differently when enforcing viaYul
2020-05-11 09:37:04 +02:00
Kamil Śliwak
6a58227830
CommandLineInterface: Make --yul-optimizations work in strict assembly mode
2020-05-08 22:29:57 +02:00
Kamil Śliwak
f56fd5bde8
cmdlineTests.sh: Allow using input.yul instead of input.sol in command-line tests
2020-05-08 22:05:04 +02:00
Harikrishnan Mulackal
4e58c672bb
Merge pull request #8855 from ethereum/update-external-repos
...
Updated external test repos
2020-05-08 22:51:48 +05:30
Harikrishnan Mulackal
704b334cf6
Updated external test repos
2020-05-08 21:39:02 +05:30
chriseth
a0e291bd06
Implement Yul IR generation for abi.encode*
2020-05-07 19:39:15 +02:00
chriseth
d0b82fe854
Merge pull request #8869 from ethereum/useSlotes
...
Use vector of slots.
2020-05-07 19:03:59 +02:00
chriseth
f38cf85482
Use vector of slots.
2020-05-07 17:54:04 +02:00
chriseth
4058ce8fe5
Merge pull request #8870 from ethereum/fix-conflicting-symbols-in-yulopti-and-optimiser-suite
...
Fix conflicting symbols in yulopti and OptimiserSuite
2020-05-07 17:40:17 +02:00
Kamil Śliwak
156bfadad3
yulopti: Fix conflict between 'l' in yulopti and OptimiserSuite and make future conflicts less likely
...
- OptimizerSuite uses letters so switching to punctuation marks in yulopti should help.
2020-05-07 17:27:24 +02:00
Kamil Śliwak
d3d1520870
yulopti: Add an error message to assetion triggered when an optimizer step abbreviation conflicts with yulopti controls
2020-05-07 17:21:39 +02:00
Kamil Śliwak
3e9fa7e388
yulopti: Print errors to stderr rather than stdout
2020-05-07 17:16:50 +02:00
Mathias Baumann
eb4926cb48
run addMissingFunctions only once
2020-05-07 17:06:11 +02:00
chriseth
3212cb6caa
Merge pull request #8859 from ethereum/noRuntimeForImmutable
...
trigger error when runtimeCode is called on contracts with immutables
2020-05-07 16:08:27 +02:00
chriseth
f42dc70c9f
Merge pull request #8863 from ethereum/nonReversedEncoder
...
Introduce non-reversed version of tupleEncoder.
2020-05-07 15:47:32 +02:00
Mathias Baumann
50e59f1008
trigger error when runtimeCode is called on contracts with immutables
2020-05-07 15:10:04 +02:00
chriseth
e986fde0c1
Introduce non-reversed version of tupleEncoder.
2020-05-07 15:08:09 +02:00
a3d4
5e9502bfae
Fix ABI internal compiler error caused by an internal constructor
2020-05-07 05:49:49 +02:00
Alex Beregszaszi
327c75bc1b
IR generation for shifts
2020-05-06 19:14:23 +02:00
Christian Parpart
3a93080ca9
Merge pull request #8821 from ethereum/remove-flag
...
Remove obsolete flag --optimize-yul from scripts
2020-05-06 16:20:23 +02:00
chriseth
76275cf34a
Merge pull request #8824 from ethereum/solYulDirtyMemory
...
Fix accessing memory reference types in yul codegen and clean up on memory reads.
2020-05-06 16:17:19 +02:00
Daniel Kirchner
234ffcf278
Merge pull request #8718 from ethereum/irConstants
...
IR generation for constants.
2020-05-06 16:05:17 +02:00
Mathias Baumann
02c5f1f748
Remove --optimize-yul flag for soltest
2020-05-06 11:49:40 +02:00
Daniel Kirchner
c25a3eba14
Fix accessing memory reference types in yul codegen and clean up on memory reads.
2020-05-06 11:34:11 +02:00
chriseth
4c1e821e01
Merge pull request #8845 from ethereum/solYulCleanup
...
[Sol->Yul] Cleanup for checked arithmetic and comparisons.
2020-05-05 17:58:36 +02:00
Daniel Kirchner
b580106c80
Yul parser hack and more yul tests.
2020-05-05 17:23:41 +02:00
chriseth
02c20698c9
IR generation for constants.
2020-05-05 17:07:55 +02:00
Daniel Kirchner
7b48c120b5
Always enforce via yul for isoltest runs.
2020-05-05 14:08:59 +02:00
Daniel Kirchner
28d25afab1
Cleanup tests for Sol->Yul arithmetic and comparison.
2020-05-05 13:38:31 +02:00
Djordje Mijovic
e8f6f63e77
[Sol2Yul] Adding support for builtin revert(string)
2020-05-05 07:05:39 +02:00
Djordje Mijovic
8b7f87eed5
[isoltest] Enforcing compileViaYul to be set if test can pass via yul
2020-05-05 00:38:13 +02:00
chriseth
1aef9c7d20
Merge pull request #8777 from ethereum/sol_yul_simplefunctions
...
[Sol - Yul] Add some built-in functions.
2020-05-04 16:07:10 +02:00
chriseth
3738cff6e6
Test updates.
2020-05-04 15:00:50 +02:00
chriseth
51ccb1519f
Yul codegen for immutables.
2020-05-04 15:00:50 +02:00
Mathias Baumann
debcc8c056
Add setimmutable and loadimmutable to dialect.
2020-05-04 15:00:50 +02:00
Alexander Arlt
a9f4d14010
[Sol - Yul] Add support for send(..) & transfer(..)
2020-05-01 08:32:51 -05:00
Alexander Arlt
151e637336
[Sol - Yul] Add some built-in functions.
...
- simplifications for GasLeft, Selfdestruct and BlockHash.
- add support for addmod & mulmod.
2020-04-30 14:10:09 -05:00
chriseth
602b29cba7
Merge pull request #8796 from a3d4/fix-8760-typechecker-compiler-error
...
[Type Checker] Fix internal error when applying unary operators to tuples with empty components
2020-04-29 10:14:15 +02:00
a3d4
3bd15655cb
Type Checker: Fix internal error when applying unary operators to tuples with empty components
2020-04-29 02:18:48 +02:00
chriseth
cc3992452f
Merge pull request #8791 from random-internet-cat/fix-8406
...
Fix broken assertion in ContractCompiler
2020-04-28 19:46:30 +02:00
Jason Cobb
8973732b74
Compare categories instead of types in ContractCompiler(740)
2020-04-28 13:13:45 -04:00
yoni206
4327434d07
Adding bit-vector NOT operation to the opcodes.
2020-04-28 09:43:31 -07:00
chriseth
55e34407d3
Merge pull request #8726 from ethereum/fix-8724
...
Yul proto spec: Add multiple variable declaration statement
2020-04-28 13:13:07 +02:00
Djordje Mijovic
f3f729549d
[Sol->Yul] Enabling creation function call
2020-04-27 16:15:57 +02:00
Alex Beregszaszi
99aa821410
Merge pull request #8720 from ethereum/irSha256
...
IR generation for sha256.
2020-04-27 13:44:26 +01:00
chriseth
3828adbbbd
Merge pull request #8761 from ethereum/conditonalStrings
...
Conditional strings for Whiskers.
2020-04-27 14:07:30 +02:00
Bhargava Shastry
5113af1df0
Update test/tools/ossfuzz/protoToYul.h
...
Co-Authored-By: Leonardo <leo@ethereum.org>
2020-04-27 14:01:11 +02:00
Bhargava Shastry
62e5ccec90
Minor code factoring to clarify for init scope extension
2020-04-27 14:01:11 +02:00
Bhargava Shastry
7280ed716a
Yul proto spec: Add multiple variable declaration statement
2020-04-27 14:01:11 +02:00
chriseth
5b92dedeed
Merge pull request #8753 from a3d4/fix-sourcereferenceformathuman-leftpad
...
Fix leftpad in SourceReferenceFormatterHuman
2020-04-27 11:22:14 +02:00
chriseth
dda883b585
IR generation for sha256.
2020-04-27 11:10:20 +02:00
chriseth
aa8107f45a
Conditional strings for Whiskers.
2020-04-27 11:07:56 +02:00
chriseth
61b1369fc2
Merge pull request #8701 from ethereum/solc-yul-chromosome
...
solc option for selecting yul optimisations
2020-04-27 10:44:14 +02:00
Alexander Arlt
66edaf43f4
[Sol - Yul] Add support for built-in logN().
2020-04-25 11:10:28 -05:00
Alexander Arlt
2fa26f4e92
[Sol - Yul] Add support for built-in selfdestruct(..).
2020-04-24 17:03:41 -05:00
Kamil Śliwak
c8b612536f
Add yulDetails.optimizerSteps to the standard JSON interface
2020-04-24 17:30:56 +02:00
Kamil Śliwak
35cc64e33d
Add --yul-optimizations option to the command-line interface
2020-04-24 17:30:56 +02:00
Kamil Śliwak
c41a832f65
Move the default optimisation steps from OptimiserSuite to OptimiserSettings
...
- Now it's a mandatory parameter in OptimiserSuite::run()
2020-04-24 17:30:56 +02:00
chriseth
dd7aebe7f1
Merge pull request #8769 from ethereum/fix-cmdlinetests-not-removing-tmp-all-files
...
Fix cmdlineTests.sh not removing all tmp.XXXXXX files
2020-04-24 15:35:17 +02:00
Kamil Śliwak
172b6c245f
cmdlineTests.sh: Fix the script not removing all temporary files it creates in /tmp
...
- The script was leaving hundreds of loose `tmp.XXXXXX` and `tmp.XXXXXX.bak` files in `/tmp` after each run
- There's a trap handler that removes them but it's being registered multiple times in a loop and only the last one actually runs when the script exits. It's still useful because it removes the remaining files from the most recent iteration but on its own it's not enough to clean up everything.
2020-04-24 15:09:26 +02:00
Kamil Śliwak
d3da878200
Enable internal library calls
2020-04-24 15:00:51 +02:00
Kamil Śliwak
56a85d6cb3
IRGeneratorForStatements: Handle internal calls to functions from specific base contracts as static calls rather than calls via pointers
2020-04-24 15:00:16 +02:00
chriseth
2b39f3b988
Merge pull request #8766 from ethereum/sol_yul_gasleft
...
[Sol - Yul] Add support for built-in gasleft().
2020-04-24 14:24:01 +02:00
Leonardo Alt
059d0bdebb
Revert "Use Spacer option to improve performance of constant arrays"
...
This reverts commit 92059fa848
.
2020-04-24 11:55:58 +02:00
a3d4
8717c073a6
Fix leftpad in SourceReferenceFormatterHuman
2020-04-24 00:34:24 +02:00
Alexander Arlt
aafa4583df
[Sol - Yul] Add support for built-in gasleft().
2020-04-23 17:14:03 -05:00
Kamil Śliwak
e65a5a562e
IRGenerationContext::internalDispatch(): Fix code generated when the function called via pointer does not return anything
2020-04-23 21:16:41 +02:00
chriseth
d136e7dc95
Rules for optimizing idempotency for bitwise operations.
2020-04-23 14:21:00 +02:00
chriseth
ed2a42610b
Merge pull request #8730 from ethereum/reduceMultipleConsecutiveLines
...
Yul formatting: Reduce multiple consecutive empty lines to a single one.
2020-04-23 14:11:09 +02:00
chriseth
d25b16ed55
Merge pull request #8737 from ethereum/yulProtoDisallowEmpty
...
Disallow statements containing empty blocks e.g., empty if, for etc.
2020-04-23 14:10:36 +02:00
hrkrshnn
48ff9fd4d6
Tests, Changelog and updated grammar
2020-04-23 17:27:37 +05:30
hrkrshnn
e2e32d372f
virtual modifiers (in Abstract contracts) allow empty bodies
2020-04-23 17:26:59 +05:30
chriseth
0c5aa36e46
Merge pull request #8516 from imapp-pl/yul-phaser-crossover-operators
...
[yul-phaser] Crossover operators
2020-04-23 13:50:39 +02:00
chriseth
f82f167290
Yul formatting: Reduce multiple consecutive empty lines to a single one.
2020-04-23 13:49:12 +02:00
chriseth
35eae96a7f
Move helper up and avoid trailing spaces.
2020-04-23 13:16:26 +02:00
chriseth
16ed53ddd0
Merge pull request #8591 from mijovic/sol2YulConstructorParams
...
[Sol2Yul] Adding support for constructors with parameters (inheritance)
2020-04-23 12:56:54 +02:00
chriseth
a371910674
Merge pull request #8642 from ethereum/interfaceid
...
Add support for interfaceId.
2020-04-23 12:24:49 +02:00
chriseth
5a160be128
Merge pull request #8754 from ethereum/smt_improve_array_performance
...
Use Spacer option to improve performance of constant arrays
2020-04-23 12:19:04 +02:00
chriseth
18ee96ac91
Merge pull request #8752 from a3d4/fix-8711-typechecker-compiler-error
...
Type Checker: Fix internal error when assigning to empty tuples
2020-04-23 12:01:00 +02:00
Leonardo Alt
92059fa848
Use Spacer option to improve performance of constant arrays
2020-04-23 10:45:02 +02:00
Bhargava Shastry
f78414b333
Disallow statements containing empty blocks e.g., empty if, for, function definition
2020-04-23 10:07:36 +02:00
a3d4
c4bc77874b
Disallow empty tuples on the left hand side
2020-04-23 07:02:04 +02:00
a3d4
9538024c81
Fix #8711 , #8277
2020-04-23 05:57:35 +02:00
Leonardo Alt
cfe3686116
Fix internal error when using array slices
2020-04-22 23:20:10 +02:00
Djordje Mijovic
5329da93fb
[Sol2Yul] Adding support for constructors with parameters in case of inheritance
2020-04-22 14:47:08 +02:00
chriseth
4908101ad7
Yul IR generation for member access to type types.
2020-04-22 11:25:27 +02:00
Leonardo Alt
606153ba71
Add optimizer rules for repeated and
2020-04-22 10:20:59 +02:00
chriseth
6900544f0d
Merge pull request #8651 from a3d4/modify-evmone-version
...
Update evmone version to v0.4 in docs and scripts
2020-04-20 16:49:10 +02:00
chriseth
1d8e742296
Merge pull request #8684 from ethereum/yulForSelector
...
Yul codegen for `.selector`.
2020-04-20 16:32:11 +02:00
chriseth
41ef13129b
Merge pull request #8678 from ethereum/smt_remove_redundant_constraints
...
[SMTChecker] Remove redundant CHC constraints
2020-04-20 15:44:59 +02:00
Kamil Śliwak
d9e2735361
[yul-phaser] Add options for selecting crossover operator used by the algorithms
2020-04-20 15:30:10 +02:00
Kamil Śliwak
1ada2a52fb
[yul-phaser] Mutations: Add two-point and uniform crossover operators
2020-04-20 15:30:10 +02:00
chriseth
55483445e9
Merge pull request #8663 from ethereum/ir-function-generation-queue
...
[Sol->Yul] IR function generation queue (refactor)
2020-04-20 15:17:53 +02:00
chriseth
00a53c95e3
Merge pull request #8694 from ethereum/out-of-tree-build-dir
...
Out-of-tree SOLIDITY_BUILD_DIR
2020-04-20 15:15:52 +02:00
Bhargava Shastry
ea5b64ca9e
Fuzzer: Permit linking of libraries in compilation framework
2020-04-20 14:28:38 +02:00
chriseth
c24c4f85e4
Merge pull request #8665 from ethereum/recursiveStructRefactoring
...
Recursive struct refactoring and a bunch of ICE fixes.
2020-04-20 13:24:19 +02:00
Kamil Śliwak
3e65bcfd7f
Allow SOLIDITY_BUILD_DIR outside of REPO_ROOT in scripts that respect this variable
2020-04-17 19:09:22 +02:00
Kamil Śliwak
3180e6c5a2
cmdlineTests.sh: Fix missing details in some error messages
...
- As far as I know $STDERR is not a standard shell variable and it's not defined in the file either.
2020-04-17 15:45:17 +02:00
Kamil Śliwak
c7947c1af6
Implement lazy function generation using function generation queue
2020-04-17 13:28:07 +02:00
Alexander Arlt
3754a86ab2
Add support for interfaceID.
2020-04-16 12:17:40 -05:00
Daniel Kirchner
150497c12a
Stricter bounds for memory arrays.
2020-04-16 17:51:18 +02:00
Daniel Kirchner
f6d1cee06b
Ensure that public callable parameters are valid for calldata.
2020-04-16 17:23:20 +02:00
Daniel Kirchner
6093982606
Review suggestions.
2020-04-16 16:42:12 +02:00
Daniel Kirchner
3a5a4c6505
Another ICE test.
2020-04-16 16:42:12 +02:00
Daniel Kirchner
6f06154eb5
Move direct struct recursion check to detect recursion in global structs.
2020-04-16 16:42:12 +02:00
Daniel Kirchner
b744a56801
Refactoring of errors and fixes for various ICEs.
2020-04-16 16:42:12 +02:00
Daniel Kirchner
df1809f8da
Annotate struct definitions with a recursive flag.
2020-04-16 16:42:12 +02:00
chriseth
f271dfa2e2
Yul codegen for .selector
.
2020-04-16 13:42:58 +02:00
chriseth
06adbc2c59
Implement bit operations.
2020-04-16 00:33:45 +02:00
Leonardo Alt
bca43586c6
[SMTChecker] Remove redundant CHC constraints
2020-04-15 18:11:39 +02:00
Daniel Kirchner
b86c927505
Disallow virtual and override for constructors.
2020-04-15 13:58:37 +02:00
Daniel Kirchner
95349b3634
Merge pull request #8672 from ethereum/fixYulEmptyTupleAssign
...
Fix tuple assignments for empty tuples in Yul IR.
2020-04-15 12:36:46 +02:00
chriseth
aff1e93caa
Merge pull request #8571 from aarlt/clang-tidy-apply-modernize-pass-by-value
...
clang-tidy: Apply modernize-pass-by-value.
2020-04-15 12:06:25 +02:00
chriseth
703b6efb55
Merge pull request #8515 from imapp-pl/yul-phaser-classic-genetic-algorithm
...
[yul-phaser] Classic genetic algorithm
2020-04-15 12:01:51 +02:00
Daniel Kirchner
0c5c93f3c2
Fix tuple assignments for empty tuples in Yul IR.
2020-04-15 11:10:52 +02:00
Christian Parpart
d00d3c45b1
[Sol2Yul] Implements codegen part for try/catch statements.
2020-04-14 18:42:37 +02:00
Alexander Arlt
aac7a1e434
Apply modernize-pass-by-value.
2020-04-14 10:32:13 -05:00
a3d4
760ae7f584
Update evmone version to v0.4 in docs and scripts
2020-04-14 14:34:47 +02:00
Daniel Kirchner
c47714f0ba
Update ASTJSON tests that fail to compile.
2020-04-14 10:59:28 +02:00
Daniel Kirchner
3af43fd350
Extract typing.
2020-04-14 10:59:28 +02:00
chriseth
a7a1feb1b8
Merge pull request #8626 from ethereum/immutable-functioncallgraph
...
Prepare literalArguments for immutable builtin functions
2020-04-09 15:46:02 +02:00
Mathias Baumann
5203503583
Allow for per-parameter literalValues builtin functions
2020-04-08 16:41:38 +02:00
chriseth
748afe0edd
Merge pull request #8630 from ethereum/encoding-bug-functionCallOption
...
TypeChecker error when encoding functions with call options; tests
2020-04-08 16:33:24 +02:00
chriseth
9fab9df18c
Merge pull request #8607 from a3d4/fix-nested-tuples
...
Fixed nested tuples on the right-hand side.
2020-04-08 12:29:52 +02:00
a3d4
aba0b2957c
Fix tuple assignments with multi-slot components.
2020-04-07 18:39:25 +02:00
chriseth
baefab78d8
Merge pull request #8628 from ethereum/fiximmutableastexport
...
Export immutability.
2020-04-07 18:37:09 +02:00
hrkrshnn
229587672f
TypeChecker error when encoding functions with call options; tests
2020-04-07 21:11:46 +05:30
chriseth
236eff8416
Export immutability.
2020-04-07 17:30:54 +02:00
chriseth
823a119117
Merge pull request #8570 from aarlt/clang-tidy-apply-modernize-use-emplace
...
clang-tidy: Apply modernize-use-emplace.
2020-04-07 17:28:50 +02:00
Leonardo Alt
e3ec22124e
[SMTChecker] Fix ICE in CHC internal calls
2020-04-07 01:09:03 +02:00
Kamil Śliwak
0efea99fa5
[yul-phaser] Phaser: Allow selecting the classic algorithm on the command line
2020-04-06 19:06:08 +02:00
Kamil Śliwak
f6783c60b2
[yul-phaser] GeneticAlgorithms: Add ClassicGeneticAlgorithm
2020-04-06 19:06:08 +02:00
Kamil Śliwak
8c86a4983d
[yul-phaser] Population: Add combine()
2020-04-06 19:06:08 +02:00
Kamil Śliwak
ef8d0888af
[yul-phaser] Population: Add symmetricCrossoverWithRemainder()
2020-04-06 19:06:08 +02:00
Kamil Śliwak
59011fcde6
[yul-phaser] Mutations: Add mutationSequence()
2020-04-06 19:06:08 +02:00
Kamil Śliwak
0837a62d5c
[yul-phaser] Mutations: Add symmetricRandomPointCrossover()
2020-04-06 19:06:08 +02:00
Kamil Śliwak
b6f8ecf755
[yul-phaser] Selections+PairSelections: Add RandomSubset and PairsFromRandomSubset
2020-04-06 19:06:08 +02:00
Kamil Śliwak
7381068dcc
[yul-phaser] Make the Population constructor that takes individuals public and use it to speed up some operations
2020-04-06 19:06:08 +02:00
Kamil Śliwak
2750bb9b90
[yul-phaser] TestHelpers: Generic operator << for printing tuples in boost tests
2020-04-06 19:06:08 +02:00
chriseth
806c835647
Merge pull request #8568 from aarlt/clang-tidy-apply-modernize-use-override
...
clang-tidy: Apply modernize-use-override.
2020-04-06 16:09:02 +02:00
Daniel Kirchner
84d7bac4f6
Format immutable references similarly to link references.
2020-04-06 11:21:53 +02:00
Daniel Kirchner
81652686be
Debug information for immutable references.
2020-04-06 10:56:42 +02:00
Daniel Kirchner
d68c526eaa
Disallow external function pointers as immutables.
2020-04-03 11:56:51 +02:00
Alexander Arlt
cae6e7769f
Apply modernize-use-override.
2020-04-02 18:00:44 -05:00
Alexander Arlt
90bb1d8a7c
Apply modernize-use-emplace.
2020-04-02 17:35:48 -05:00
chriseth
d7a39c86ce
Accessors for immutable variables.
2020-04-02 19:09:54 +02:00
chriseth
216fca5b70
Merge pull request #8578 from ethereum/interface-function-modifier-error
...
Added error for interface functions that have modifiers; test case
2020-04-02 18:05:32 +02:00