Commit Graph
16470 Commits
Author SHA1 Message Date
Bhargava Shastry 9bfab1fe00 Permit u256 constants 2020-05-04 15:31:06 +02:00
Bhargava Shastry 97f94fdcc6 Permit signed and unsigned types 2020-05-04 12:06:45 +02:00
Bhargava Shastry 00def2f4fa WIP 2020-05-01 19:41:59 +02:00
Bhargava Shastry f92f2ed78a Arithmetic fuzzer in a day 2020-05-01 09:51:39 +02: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
chriseth ab33eef4a2 Merge pull request #8728 from yoni206/patch-1
Change NOT to ~
2020-04-28 18:59:54 +02: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
chriseth cfaf69fd02 Merge pull request #8658 from mijovic/createFunctionCall
[Sol->Yul] Enabling creation function call
2020-04-28 11:39:20 +02:00
chriseth 75a25d53c7 Merge pull request #8785 from ethereum/disco-to-focal
CircleCI: Change from Ubuntu Disco (19.04) to Ubuntu Focal (20.04) due to support EOL
2020-04-28 10:09:00 +02:00
chriseth f08475b486 Merge pull request #8689 from ssi91/handle-file-prefix
Handle file prefix
2020-04-27 18:11:51 +02:00
chriseth 041b8a3180 Merge pull request #8517 from imapp-pl/yul-phaser-docs-and-defaults
[yul-phaser] Docs and defaults
2020-04-27 17:38:23 +02:00
chriseth aa3f74c61b Merge pull request #8558 from aarlt/ci_add_shellcheck
[ci] add chk_shellscripts
2020-04-27 17:33:47 +02:00
Djordje Mijovic f3f729549d [Sol->Yul] Enabling creation function call 2020-04-27 16:15:57 +02:00
ssi91andLeonardo 3d772edc7a handle file prefix
add the description to the changelog

fix: use the right method to search in string

follow the codestyle

using tabs

delete redundant declaration

implement the handling inline

Update Changelog.md

Co-Authored-By: Leonardo <leo@ethereum.org>
2020-04-27 21:02:39 +07:00
Christian Parpart 9d06dd070d CircleCI: Change from Ubuntu Disco (19.04) to Ubuntu Focal (20.04) due to support EOL 2020-04-27 15:26:25 +02:00
Alexander Arlt d0bed50260 [ci] add chk_shellscripts 2020-04-27 07:55:59 -05: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 ShastryandLeonardo 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 03ca9dcae4 Merge pull request #8784 from ethereum/ir-declaration
IRGenerator: include assertion for FunctionType::Kind::Declaration
2020-04-27 13:33:47 +02:00
Alex Beregszaszi 025daaada5 Merge pull request #8765 from ethereum/interfaceId-doc-miscellaneous-fix
docs/cheatsheet.rst: Add ``type(I).interfaceId`` description.
2020-04-27 12:26:53 +01:00
Alex Beregszaszi aa0a69b47f IRGenerator: include assertion for FunctionType::Kind::Declaration 2020-04-27 12:03:44 +01: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
chriseth 77a086bc32 Merge pull request #8778 from veox/use-yul-lexer-in-docs
Use Yul lexer in docs
2020-04-27 10:29:08 +02:00
Noel Maersk a481ea719f docs: use Yul lexer to highlight Yul code segments.
Many commits squashed; turns out that with the combination of:

* Python v2.7,
* Sphinx v1.8.5, and
* Pygments v2.3.1

versions (old!) used in the CI, the only viable approach is:

* to use `code-block` directives with explicit language specification,
* to provide no file-local default using `highlight`, and
* to set language as `none` for grammar specifications.

Underlying are the following issues (again, for the old versions
listed above):

* Generic RST `code` doesn't work when language is `none`:

    Warning, treated as error:
    /root/project/docs/yul.rst:430:Cannot analyze code. No Pygments lexer found for "none".

  Additionally, it might be trying to fall back to the default
  (Solidity) if left unspecified.

* If a file-local default is specified using `highlight`, then
  `code-block` _must_ also provide a language:

    Warning, treated as error:
    /root/project/docs/yul.rst:185:Error in "code-block" directive:
    1 argument(s) required, 0 supplied.

* Sphinx seems to try the file-local default "yul" (specified with
  `highlight`) on `code` marked having language `json`:

    Warning, treated as error:
    /root/project/docs/yul.rst:130:Could not lex literal_block as "yul". Highlighting skipped.

* The only well-lexed highlighter for two of the three grammar
  specifications is `peg`, but it was added in Pygments v2.6.
  One of the grammars - in the "Formal Specification" section,
  the one after "We will use a destructuring notation for the
  AST nodes." - _must_ be left unhighlighted, with language set
  to `none`: all lexers do really poorly.

... And one should never, ever start treating warnings as mere
warnings, without having exhausted all other options.

Otherwise, it's a slippery slope, - and look where that brought
Gandhi: to being a strawman in every lousy argument to be had!..
2020-04-26 20:48:07 +03:00
chriseth 721878d91f Merge pull request #8770 from ethereum/sol_yul_logN
[Sol - Yul] Add support for built-in logN().
2020-04-25 21:45:18 +02:00
Alexander Arlt 66edaf43f4 [Sol - Yul] Add support for built-in logN(). 2020-04-25 11:10:28 -05:00
chriseth ed6c6b3170 Merge pull request #8771 from ethereum/sol_yul_selfdestruct
[Sol - Yul] Add support for built-in selfdestruct(..).
2020-04-25 17:35:53 +02:00
Alexander Arlt 2fa26f4e92 [Sol - Yul] Add support for built-in selfdestruct(..). 2020-04-24 17:03:41 -05:00
Kamil Śliwak ee915008bd [yul-phaser] README 2020-04-24 17:31:50 +02:00
Kamil Śliwak 163e35dd23 [yul-phaser] Tweak default values according to experiment results
- Long chromosomes in the intial population are better. Set minimum and maximum to 100.
- The classic algorithm does not work well without elite. 50% performed better but I think it might be too large. Let's set it to 25%.
- Switch to uniform crossover since this is what was used in most experiments and performed well.
2020-04-24 17:31:50 +02:00
Kamil Śliwak 35395a4b9c [yul-phaser] Phaser: Missing word in --metric-aggregator option description 2020-04-24 17:31:50 +02:00
Kamil Śliwak 424edecd21 [yul-phaser] Phaser: List all available values of enum options in --help 2020-04-24 17:31:50 +02:00
Kamil Śliwak e19d8d1fa3 [yul-phaser] GeneticAlgorithm::runNextRound(): Fix outdated docstring 2020-04-24 17:31:50 +02: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
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