Commit Graph
16128 Commits
Author SHA1 Message Date
cameel e7d204383d [yul-phaser] An empty command-line application for the new tool 2020-02-05 18:13:29 +01:00
Mathias L. Baumann bd54176c1a Merge pull request #8248 from ethereum/functionCallOptionFollowUp
Fix function call option parsing and add to grammar.
2020-02-05 18:01:54 +01:00
chriseth f44188abf5 Merge pull request #7914 from ethereum/solidity-upgrade-basic
[tools] Create solidity-upgrade
2020-02-05 17:05:26 +01:00
chriseth 5247a6600e Fix function call option parsing and add to grammar. 2020-02-05 16:59:02 +01:00
Erik Kundt f2701db0aa Adds documentation for Solidity source upgrader. 2020-02-05 16:52:54 +01:00
chriseth 5de3379d82 Merge pull request #8238 from ethereum/yul-syntax-tests
Implement yul syntax tests
2020-02-05 15:15:41 +01:00
Mathias Baumann fc10e701fc Implement yul syntax tests 2020-02-05 14:58:34 +01:00
chriseth 56a3e434d9 Merge pull request #8239 from ethereum/unrevertpylintstuff
Re-add reverted pylint changes
2020-02-05 14:24:27 +01:00
Mathias Baumann ef07fc3066 Fix formatting 2020-02-05 13:22:15 +01:00
chriseth 913d5f3221 Merge pull request #8242 from ethereum/abstractWithoutContract
Fix abstract without contract.
2020-02-05 12:49:51 +01:00
chriseth 0b9c842656 Fix abstract without contract. 2020-02-05 12:14:14 +01:00
chriseth 686b62b585 Merge pull request #8237 from ethereum/i32TypesForWasm
I32 types for wasm
2020-02-04 23:28:34 +01:00
chriseth 527c011c2e Update tests. 2020-02-04 22:51:33 +01:00
chriseth 48933df18d Add some missing wasm functions. 2020-02-04 22:44:08 +01:00
chriseth a7624ffc45 Implement i32 builtins for the interpreter. 2020-02-04 22:44:08 +01:00
chriseth c41ef15a86 Fix types for polyfill. 2020-02-04 22:44:08 +01:00
chriseth 8f546849f2 Add i32 functions to wasm dialect. 2020-02-04 22:44:08 +01:00
Christian Parpart 07a04bed44 python: Fixing some python2-to-python3 migrations that I missed in the last PR. 2020-02-04 22:26:11 +01:00
Christian Parpart 6ab385d34a CircleCI: Adds pylint test for all python files in test/ directory. 2020-02-04 22:26:10 +01:00
chriseth 7cca036f4c Merge pull request #8224 from a3d4/refactor-sourcelocation
Replaced SourceLocation::isEmpty() with isValid() and hasText().
2020-02-04 22:23:51 +01:00
alex 3416c029cf Relaxed assert in AsmJsonImporter::createAsmNode. 2020-02-04 20:37:51 +01:00
chriseth d7bf6f7137 Merge pull request #8236 from ethereum/wordSizeTransformTypes
Properly assign types during word size transform.
2020-02-04 18:56:38 +01:00
chriseth cafad3770d Update tests. 2020-02-04 18:27:01 +01:00
chriseth d3739fe620 Fix WordSizeTransform to properly assign default types. 2020-02-04 18:13:37 +01:00
chriseth 9f0cef97c2 Specify default type for word size transform externally. 2020-02-04 18:13:37 +01:00
chriseth 8a7e1d651a Merge pull request #8234 from ethereum/contractsAsMappingKeys
Contract types as mapping keys.
2020-02-04 17:58:48 +01:00
Daniel Kirchner d882b6fa83 Allow tests to be marked ABIEncoderV1Only. 2020-02-04 17:22:03 +01:00
Daniel Kirchner af9fc8b634 Mapping getters for Yul IR. 2020-02-04 17:22:03 +01:00
Daniel Kirchner d3cbfb0c5c Allow user-defined types as mapping keys in parser and restrict to contracts during type checking. 2020-02-04 17:22:03 +01:00
chriseth 836938c105 Merge pull request #8144 from ethereum/pylint
CircleCI: Adds pylint test for all python files in scripts/ directory.
2020-02-04 17:03:28 +01:00
chriseth 33f990a96a Fix style of documentation config. 2020-02-04 17:01:13 +01:00
Christian Parpart 4b38f499ae pylint: reduces max-line-length to something more reasonable 2020-02-04 17:00:05 +01:00
Christian Parpart a3421709fe python: Fixing some python2-to-python3 migrations that I missed in the last PR. 2020-02-04 17:00:05 +01:00
Christian Parpart 05b4ac0d29 CircleCI: Adds pylint test for all python files in test/ directory. 2020-02-04 17:00:05 +01:00
alex 211227f50b Modified SourceLocation::hasText() to allow empty source. 2020-02-04 04:19:28 +01:00
alex 351c39efb5 Merge branch 'refactor-sourcelocation' of https://github.com/a3d4/solidity into refactor-sourcelocation 2020-02-03 21:40:41 +01:00
chriseth 7a194ffdab Merge pull request #8225 from ethereum/travis-bytecodecomp
Travis: run bytecode comparison only on PRs
2020-02-03 17:29:55 +01:00
chriseth 5bd37dab05 Merge pull request #8227 from ethereum/wasmReleaseSymlink
Add symlinks to solc-bin/wasm for releases.
2020-02-03 15:19:21 +01:00
chriseth 9912f73435 Merge pull request #8228 from ethereum/clarifyDocsTryCatch
Some clarification about try-catch.
2020-02-03 14:45:05 +01:00
chriseth a3b7c73e3f Some clarification about try-catch. 2020-02-03 14:21:37 +01:00
chriseth 967ce8dd51 Merge pull request #8215 from imapp-pl/yul-optimiser-step-abbreviations
Yul optimiser step abbreviations
2020-02-03 14:03:32 +01:00
Daniel Kirchner a44ba4e994 Do not remove leading zeros from commit hashes while publishing. 2020-02-03 12:50:19 +01:00
Daniel Kirchner 0508e24385 Add symlinks to solc-bin/wasm for releases. 2020-02-03 12:49:39 +01:00
alex 76cfe4e2ce Replaced SourceLocation::isEmpty() with isValid() and hasText().
The function SourceLocation::isEmpty() had somewhat dual role.
Sometimes it indicates that the SourceLocation is invalid.
Sometimes it means that there is no corresponding source text.

Hence the proposal is to replace it with two functions, isValid() and hasText().

I also removed Scanner::sourceAt(). (Do we have a rule of thumb to remove unused code?)

Since hasText() checks that start and end are valid indices for source, I adjusted a couple of tests to avoid empty source strings.
2020-02-03 12:44:26 +01:00
Christian Parpart 1b310a93a2 travis: Run byte code comparison only if current travis job is a pull request (not a push-build). 2020-02-03 12:29:49 +01:00
chriseth 7496598b5a Merge pull request #8155 from ethereum/removeStackHeightChecks
Remove stack height checks.
2020-02-03 12:28:37 +01:00
cameel c4f8df3272 Workaround for clang 5.0.0 on Ubuntu Trusty in Travis CI failing to compile a structural binding
clang fails with:

/home/travis/build/ethereum/solidity/libsolutil/CommonData.h:167:19: error: unused variable '' [-Werror,-Wunused-variable]
        for (auto const& [key, value]: originalMap)
2020-02-03 12:22:47 +01:00
cameel 5fbc4d4afa [yulopti] Automate printing of the usage banner
- This now displays internal step names rather than human-readable ones but the internal ones are readable enough and it's not something worth creating another map.
- Options in the banner are now aligned in columns and thus easier to read.
2020-02-03 12:22:47 +01:00
cameel 4129c27495 [yulopti] Replace hard-coded step list with OptimiserSuite's maps 2020-02-03 12:22:47 +01:00
cameel 4e7c1c7876 OptimiserSuite: Add two maps for converting between step names and abbreviations
- Abbreviations match those used in yulopti.
- I considered using boost::bimap but I think it would be an overkill. Two simple maps are good enough in a situation where data is constant and there isn't much of it.
- I could also use InvertibleMap from libsolutil but I don't even need any of its methods since my map is a constant. I also don't need the inverted map to store sets because my values are unique.
- The reverseMap() is generic enough to be moved to some global file with utilities but I don't sure if it's going to actually be useful to others in practice.
2020-02-03 12:22:47 +01:00