Commit Graph
15716 Commits
Author SHA1 Message Date
chriseth ce72c1fc34 Use true in for loop into body. 2020-02-05 17:16:42 +01:00
chriseth edfd30bcb7 Use proper type in conditional simplifier. 2020-02-05 13:06:12 +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
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
chriseth 93a41f7ade Merge pull request #8226 from ethereum/enable-fuzz-build
Reenable ossfuzz builds (but not tests)
2020-02-03 12:22:19 +01:00
cameel 9c8187bd29 CommonData: Add invertMap() function 2020-02-03 12:06:26 +01:00
Mathias Baumann 9f0c59b3c6 Reenable ossfuzz builds (but not tests)
refs #8208
2020-02-03 11:55:53 +01:00
alex e4b18e85e6 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 08:04:21 +01:00
chriseth b6190e06a5 Merge pull request #8176 from ethereum/docs-call-clar
[DOCS] Add return area clarification
2020-01-31 10:47:16 +01:00
Chris Chinchilla 1b1a0a6953 Add return area clarification 2020-01-31 10:37:12 +01:00
chriseth 2098dbade9 Merge pull request #7834 from ethereum/docstring-ast-node
[natspec] Introduce AST node for structured documentation
2020-01-30 19:04:52 +01:00
Erik Kundt 306f6d963d Adds changelog entry for structured AST node introduction. 2020-01-30 18:26:01 +01:00
Erik Kundt 4a179056ed Adds JSON import / export for structured documentation. 2020-01-30 18:26:01 +01:00
Erik Kundt ec27c2e507 Introduce AST node for structured documentation. 2020-01-30 18:25:56 +01:00
chriseth 2afcfec77b Merge pull request #8220 from ethereum/remove-var-name-cleaner-from-optimiser-suite-step-list
Remove var name cleaner from optimiser suite step list
2020-01-30 17:58:43 +01:00