Commit Graph

15690 Commits

Author SHA1 Message Date
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
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
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
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
chriseth
d07dd55096 Update wasm tests. 2020-01-29 17:25:25 +01:00
chriseth
23667ce12d Update Yul optimizer tests. 2020-01-29 17:25:25 +01:00
chriseth
e7b95de315 Tests for default type parsing. 2020-01-29 17:25:25 +01:00
chriseth
fbe5bb0cce Parse default dialect and omit when printing. 2020-01-29 17:25:25 +01:00
chriseth
90c98a3289 Introduce typed EVM dialect. 2020-01-29 17:25:25 +01:00
chriseth
e41155cf48
Merge pull request #8062 from imapp-pl/polyfill-part-2
Arithmetic functions implementation for EVM->EWasm translator.
2020-01-29 17:22:27 +01:00
chriseth
457cdecf6f
Merge pull request #8135 from ethereum/fix-get-options-7112
TestFramework: Merge Options.h into Common.h
2020-01-29 16:05:55 +01:00
Mathias L. Baumann
5130a2b0ae
Merge pull request #8063 from ethereum/yulvisit-7656
Use yul::AstWalker for assembly reference resolving
2020-01-29 14:56:19 +01:00
chriseth
68fe55cb15
Merge pull request #8212 from ethereum/zeroOutMemoryFollowup
Changelog entry about zeroing out memory.
2020-01-29 13:50:20 +01:00
chriseth
abbedb0819
Update Changelog.md
Co-Authored-By: Erik K <erik@ethereum.org>
2020-01-29 13:49:45 +01:00
Mathias Baumann
00e4d13975 TestFramework: Merge Options.h into Common.h 2020-01-29 12:27:05 +01:00
chriseth
01eb9a5b0c
Merge pull request #8211 from nicos99/docs-breaking-changes-5.0-clarifications
Docs 'breaking changes 5.0' clarifications
2020-01-29 09:11:58 +01:00