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
Kamil Śliwak
69b79f848b
OptimiserSuite: Allow validating the optimisation sequence without executing it
...
- Create a separate validateSequence() that can be used independently.
- Tweak the exception messages a bit to be usable as command-line errors
2020-04-24 17:30:56 +02:00
Kamil Śliwak
e2c0e6331c
OptimiserSuite: Define NonStepAbbreviations and use it for extra sanity checks
2020-04-24 17:30:56 +02:00
Kamil Śliwak
5a515240ac
OptimiserSuite: Use brackets instead of parentheses as syntax for repeating abbreviation sequences
...
- We want to start accepting abbreviation sequences on the command line and parentheses would always have to be escaped in that context.
- There wasn't any important reason behind choosing () rather than [] or {} and it still isn't too late to switch.
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
chriseth
a85736d874
Merge pull request #8721 from ethereum/sol-yul-internal-library-calls
...
[Sol->Yul] Calls to internal library functions
2020-04-24 15:34:41 +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
64bce597a1
IRGenerator: Enable code generation for libraries
2020-04-24 15:00:17 +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
Kamil Śliwak
397ea18b78
IRVariable: Fix improperly wrapped docstring
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
chriseth
cc1b339c96
Merge pull request #8715 from ethereum/improveTOC
...
Restructure documentation and improve TOC.
2020-04-24 14:21:13 +02:00
chriseth
3bbd89e8e1
Merge pull request #8768 from ethereum/smt_revert_option
...
Revert "Use Spacer option to improve performance of constant arrays"
2020-04-24 14:19:53 +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
chriseth
989d1da43c
Merge pull request #8764 from ethereum/sol-yul-fix-pointers-to-functions-returning-nothing
...
[Sol->Yul] Fix pointers to functions returning nothing
2020-04-24 00:35:48 +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
d429d20b0b
Restructure documentation and improve TOC.
2020-04-23 19:05:42 +02:00
chriseth
aa071af476
Merge pull request #8707 from ethereum/optimizeIdempotencies
...
Rules for optimizing idempotency for bitwise operations.
2020-04-23 14:42:32 +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
chriseth
0f4fe64315
Merge pull request #8659 from ethereum/empty-modifier
...
Allow modifier declaration without implementation
2020-04-23 14:09:03 +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
c7b4fa34bd
Merge pull request #8759 from ethereum/movePrintIndentedUp
...
Move helper up and avoid trailing spaces.
2020-04-23 13:44:53 +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
edef6a0edd
Merge pull request #8757 from ethereum/removeMove
...
Remove unnecessary move.
2020-04-23 12:28:33 +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
393f922081
Merge pull request #8747 from ethereum/smt_chc_docs_internal_calls
...
Add internal function calls to CHC docs
2020-04-23 12:14:54 +02:00
chriseth
b864fe1c43
Remove unnecessary move.
2020-04-23 12:13:26 +02:00
chriseth
2ea2267179
Merge pull request #8735 from ethereum/bugs-url
...
Add missing blog URLs to bugs.json
2020-04-23 12:06:41 +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
Leonardo
aaa434dad9
Merge pull request #8750 from ethereum/chriseth-patch-1
...
Explain nonpayable
2020-04-23 09:33:56 +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
chriseth
615668bfb4
Explain nonpayable
...
Fixes https://github.com/ethereum/solidity/issues/8736
2020-04-23 01:35:21 +02:00
Alex Beregszaszi
145176f18c
Merge pull request #8742 from ethereum/smt_fix_slices
...
Fix internal error when using array slices
2020-04-23 00:00:50 +01:00
Leonardo Alt
cfe3686116
Fix internal error when using array slices
2020-04-22 23:20:10 +02:00
Leonardo
6d98b907ef
Merge pull request #8746 from ethereum/smt_fix_fixed_point
...
Fix ICE with fixed point
2020-04-22 23:18:41 +02:00
Alex Beregszaszi
a9ae780fa2
Merge pull request #8748 from ethereum/smt_fix_undefined
...
[SMTChecker] Fix undefined behavior with nullptr
2020-04-22 22:14:05 +01:00