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
cameel
ed5210490d
[yulopti] Run disambiguator after VarNameCleaner
...
- This is a trivial change and it makes it safe to use in combination with other step.
2020-01-30 17:35:27 +01:00
cameel
2ee7e6042b
OptimiserSuite: Remove VarNameCleaner from the list of available steps
2020-01-30 17:35:27 +01:00
chriseth
c34b381942
Merge pull request #8217 from ethereum/ossfuzztest
...
Disable ossfuzzing on circle ci
2020-01-30 15:14:02 +01:00
chriseth
ada0cef150
Merge pull request #8068 from ethereum/evmTypedDialect
...
[Yul] EVM typed dialect
2020-01-30 14:53:25 +01:00
chriseth
ad98bf0f6b
Merge pull request #8216 from imapp-pl/colorized-gcc-output-in-cmake
...
Colorized GCC output in CMake
2020-01-30 14:08:58 +01:00
Mathias Baumann
97e9ce9d0a
Disable ossfuzzing on circle ci
...
It currently takes >5h. It is not known whether due to a bug or whether
it's normal.
2020-01-30 12:39:08 +01:00
cameel
af7139c19f
Enable colorized compiler output when running gcc via cmake
2020-01-30 03:11:28 +01:00
chriseth
25a2fb2606
Merge pull request #8213 from imapp-pl/asm-parser-unique-ptr-from-factory-method
...
Return shared_ptr instead of unique_ptr from Parser::parse()
2020-01-29 23:58:47 +01:00
cameel
642653ea04
Make yul::Parser::parse() return unique_ptr rather than shared_ptr
...
- unique_ptr is more flexible and generally recommended for factory methods. It gets automatically converted to shared_ptr if necessary. Returning shared_ptr, on the other hand, forces the caller to use shared_ptr because a conversion to unique_ptr is not possible.
2020-01-29 20:07:08 +01:00
chriseth
d41e1db74a
Adjust and add commandline tests for yul.
2020-01-29 19:10:53 +01:00
chriseth
2bcdb24ebe
Cause failing assertion for invalid u256 to bool conversion.
2020-01-29 19:01:28 +01:00
chriseth
db33ff6408
Clean up built-in instructions.
2020-01-29 19:01:28 +01:00
chriseth
d3b53ee394
Make bool type optional for bool literals.
2020-01-29 19:01:28 +01:00
chriseth
a66782537a
Use old yul dialect only in tests.
2020-01-29 19:01:28 +01:00