Commit Graph
16423 Commits
Author SHA1 Message Date
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
Leonardo Alt b191139f2a Fix undefined behavior with nullptr 2020-04-22 20:49:40 +02:00