Commit Graph
100 Commits
Author SHA1 Message Date
Daniel Kirchner cee8ae75c8 Set default build type, if none was specified. 2021-01-14 10:22:50 +01:00
Daniel Kirchner f34d7120a2 Add and use mapTuple helper. 2021-01-13 17:23:27 +01:00
Daniel Kirchner b5bb802a93 Fix undefined behaviour on 32-bit platforms in swarm hash. 2021-01-13 15:52:58 +01:00
Daniel Kirchner 91cdb606a5 Some style review suggestions. 2021-01-13 12:43:38 +01:00
Daniel Kirchner 804bd8f6dd Switch to new emscripten docker image. 2021-01-13 02:22:09 +01:00
Daniel Kirchner 10c742ed0a Update emscripten build to be compatible with new docker image. 2021-01-13 01:09:34 +01:00
Daniel Kirchner d0c8c79888 Update emscripten docker image to be based on emscripten 2.0.12 and boost 1.75.0. 2021-01-13 00:33:03 +01:00
Daniel Kirchner 4505889481 Replace ranges::all_of wrapper by range-v3. 2021-01-12 21:44:42 +01:00
Daniel Kirchner 75bed10be5 Check for scopes in LoadResolver. 2021-01-12 21:41:51 +01:00
Daniel Kirchner eb035147d2 Rephrase erasure condition in DataFlowAnalyzer. 2021-01-12 21:40:52 +01:00
Daniel Kirchner 3ed55613ba Add and use cxx20::ranges::all_of. 2021-01-12 21:40:52 +01:00
Daniel Kirchner 970e8064bb Clear variables, but not backreferences in popScope. 2021-01-12 21:40:52 +01:00
Daniel Kirchner 7fe03cbab0 Implement cxx20 polyfill and replace InvertibleMap entirely. 2021-01-12 21:40:40 +01:00
Daniel Kirchner 625d402dbb Various optimizations for the DataFlowAnalyzer. 2021-01-12 21:39:20 +01:00
Daniel Kirchner 162b1508da Merge pull request #10744 from ethereum/useDropEx
Use drop_exactly.
2021-01-12 17:11:54 +01:00
Daniel Kirchner f5adaa8bbb Add valueOrNullptr and valueOrDefault utilities. 2021-01-12 13:13:03 +01:00
Daniel Kirchner eac2bcf72f Add range-v3. 2021-01-11 18:44:55 +01:00
Daniel Kirchner 308549f950 Simplify test and add Changelog entry. 2021-01-06 11:33:08 +01:00
Daniel Kirchner 0a923f02f6 Allow /build to be a symlink in .gitignore. 2021-01-06 10:34:18 +01:00
Daniel Kirchner bac07612bf Extend .gitignore to all CLion build directory names. 2021-01-06 10:29:32 +01:00
Daniel Kirchner 1afdfc2c84 Build solidity-upgrade and yul-phaser statically on static PPA builds. 2020-12-17 16:09:23 +01:00
Daniel Kirchner dc5f7a7405 Merge pull request #10448 from ethereum/fixedhash
Add comprehensive tests for FixedHash
2020-12-11 15:31:20 +01:00
Daniel Kirchner 8db2cad45c Merge pull request #10555 from ethereum/address-code
[BREAKING] Introduce address(...).code
2020-12-11 12:34:20 +01:00
Daniel Kirchner 90c693be09 Merge pull request #10568 from ethereum/oldClangFixes
Deal with old clang compilers.
2020-12-10 20:03:51 +01:00
Daniel Kirchner 4cb9a42d9a Verify minimal clang version in cmake. 2020-12-10 17:40:29 +01:00
Daniel Kirchner c400c61fc3 Fix incorrect behaviour on clang 6. 2020-12-10 17:20:30 +01:00
Daniel Kirchner 7308abc084 Allow loading Z3 dynamically at runtime. 2020-12-10 16:47:47 +01:00
Daniel Kirchner 2e31a6bdbf Switch CI runs from EOL'ed eoan to focal. 2020-12-10 11:09:55 +01:00
Daniel Kirchner 588535566f Mark chainid as view. 2020-12-09 16:55:51 +01:00
Daniel Kirchner e691b7402a Move standard-json "modelCheckerSettings" key to "settings.modelChecker". 2020-12-09 15:53:32 +01:00
Daniel Kirchner 4368a3b3eb Merge pull request #10462 from ethereum/scanner-old-escapes
[BREAKING] Remove the \b, \f, \v escape sequences from the Scanner
2020-12-07 23:40:21 +01:00
Daniel Kirchner 2e6693c849 Update version checks in cmake to match debian stable and remove some workarounds. 2020-12-07 18:26:51 +01:00
Daniel Kirchner 1b88a8c845 Update compiler version requirements in the docs. 2020-12-07 18:26:51 +01:00
Daniel Kirchner a3a5d93b34 Drop direct support for Ubuntu 18.04 and switch to static PPA releases for it. 2020-12-07 18:18:41 +01:00
Daniel Kirchner 6c70208d5f Merge pull request #10359 from ethereum/extra-semi
Enable the -Wextra-semi warning
2020-12-07 14:35:30 +01:00
Daniel Kirchner c996d74041 Merge pull request #10503 from ethereum/irBreakingChangesMinorFix
Rephrase detail in ir breaking changes docs.
2020-12-07 12:35:41 +01:00
Daniel Kirchner 804e98a136 Rephrase. 2020-12-07 11:29:09 +01:00
Daniel Kirchner c39a5e2b7a Fix accidental repetition in ir breaking changes docs. 2020-12-07 11:24:13 +01:00
Daniel Kirchner f456d939af Merge pull request #10501 from ethereum/bytecode-comparison-on-nodejs-14
Upgrade bytecode comparison container to node.js 14
2020-12-07 10:40:04 +01:00
Daniel Kirchner 06bca65222 Merge pull request #10321 from ethereum/reimplementConstantEvaluator
Reimplement constant evaluator.
2020-12-04 16:31:31 +01:00
Daniel Kirchner cb72d76aaf Add const ref to prevent segfaults. 2020-12-04 14:57:46 +01:00
Daniel Kirchner 96a50b52e2 Add storage load/store functions to Yul dialect. 2020-12-03 19:10:05 +01:00
Daniel Kirchner 6aae7caec8 Merge pull request #10051 from ethereum/contractArrayTypeStatement
Allow arrays of contract types as type expressions e.g. for abi.decode.
2020-10-18 15:32:57 +02:00
Daniel Kirchner 79d9a1ca81 Tests for abi.encode. 2020-10-16 20:24:43 +02:00
Daniel Kirchner e06d4303fb Semantic tests. 2020-10-16 19:40:41 +02:00
Daniel Kirchner 909ce9164a Allow arrays of contract types as type expressions e.g. for abi.decode. 2020-10-16 19:40:41 +02:00
Daniel Kirchner db4dd51739 Merge pull request #10055 from ethereum/userDefinedLibraryTypes
Disallow invalid use of library names as type names.
2020-10-16 18:55:42 +02:00
Daniel Kirchner 3f14c904b0 Disallow invalid use of library names as type names. 2020-10-16 18:25:08 +02:00
Daniel Kirchner 23314fc96c Merge pull request #10054 from ethereum/windowsBuilds
Fix windows builds.
2020-10-16 12:33:20 +02:00
Daniel Kirchner 8e42015dd3 Fix windows builds. 2020-10-16 11:48:50 +02:00
Daniel Kirchner 9aafb62e52 Merge pull request #10050 from ethereum/circleWinTestResults
Store test results on CircleCI's t_win for proper reporting.
2020-10-15 20:40:37 +02:00
Daniel Kirchner e91baeef37 Store test results on CircleCI's t_win for proper reporting. 2020-10-15 19:11:17 +02:00
Daniel Kirchner 41000fea31 Merge pull request #10031 from ethereum/setImmutableArgument
Add another argument to setimmutable and the AssignImmutable opcode, allowing to modify code at any memory offset.
2020-10-15 18:37:21 +02:00
Daniel Kirchner 65dd463fd2 Document new argument to setimmutable. 2020-10-15 18:14:41 +02:00
Daniel Kirchner 26cc6b7a95 Changelog entry. 2020-10-15 18:14:41 +02:00
Daniel Kirchner 68667f0e84 Remove POPs from ASSIGNIMMUTABLE generated bytecode, if possible. 2020-10-15 18:14:41 +02:00
Daniel Kirchner 0dca223b45 Add another argument to setimmutable and the AssignImmutable opcode, allowing to modify code at any memory offset. 2020-10-15 18:14:41 +02:00
Daniel Kirchner f649565615 Switch to new ossfuzz docker image. 2020-10-15 17:45:02 +02:00
Daniel Kirchner 2e984a3651 Remove memoryguard calls from command line test expectations. 2020-10-15 16:25:15 +02:00
Daniel Kirchner 82876fd00e Disable StackLimitEvader again until we have stronger correctness guarantees. 2020-10-15 16:16:41 +02:00
Daniel Kirchner d20939888d Add more build flags for compatibility with ossfuzz /usr/local/lib/libc++.a 2020-10-15 15:49:19 +02:00
Daniel Kirchner dce8039cdd Update boost and download source archive instead of using git. 2020-10-15 15:49:19 +02:00
Daniel Kirchner a34e5bf111 Remove antlr and add libabicoder to ossfuzz docker image. 2020-10-15 15:49:19 +02:00
Daniel Kirchner 2bfa3487cb Merge pull request #10044 from ethereum/removeAntlrDep
ossfuzz: Remove antlr4 build deps
2020-10-15 15:48:53 +02:00
Daniel Kirchner a7b8ad311d Always build a windows release binary on tags. 2020-10-15 00:48:56 +02:00
Daniel Kirchner 9d873b102e Stop calling yourselves nightlies! 2020-10-15 00:48:56 +02:00
Daniel Kirchner 8075d6c7e8 Persist osx workspace files in different path to avoid conflicts. 2020-10-15 00:48:56 +02:00
Daniel Kirchner 30d990f07c Persist less data to workspaces. 2020-10-15 00:48:56 +02:00
Daniel Kirchner 9726ed8586 Perform bytecode comparison on CircleCI. 2020-10-15 00:48:56 +02:00
Daniel Kirchner 36a36caf09 Merge pull request #10040 from ethereum/osxCircleCICacheKey
Reuse CircleCI osx cache across branches.
2020-10-15 00:48:39 +02:00
Daniel Kirchner f7e5831afc Remove .circleci/config.yml from cache keys and move cache check to install_deps script. 2020-10-14 23:20:09 +02:00
Daniel Kirchner 20072918d9 Make sure lValueOfOrdinaryAssignment does not have an undefined value. 2020-10-14 21:00:18 +02:00
Daniel Kirchner 7ccf11c2b5 Reuse CircleCI osx cache across branches. 2020-10-14 20:38:47 +02:00
Daniel Kirchner 61a03036fe Refactor stack to memory mover in preparation of moving function arguments. 2020-10-13 12:20:04 +02:00
Daniel Kirchner 5442a7ade2 Always run the FunctionHoister as part of the optimizer Suite. 2020-10-06 22:30:37 +02:00
Daniel Kirchner c8a7098f2f StackToMemoryMover: encapsulate memory offset tracking into its own class. 2020-10-06 11:10:43 +02:00
Daniel Kirchner 0b87849bcb Track unreachable variables globally instead of per function. 2020-10-06 10:38:26 +02:00
Daniel Kirchner 7fa9a9d312 Merge pull request #9162 from ethereum/memoryEscalator
Memory Escalator
2020-09-21 20:03:38 +02:00
Daniel Kirchner f3c2d6cfdc Move memory load and store functions to the dialect. 2020-09-17 22:13:27 +02:00
Daniel Kirchner 48f620fb50 Reverse the order of the memory offsets assigned to variables. 2020-09-17 22:13:27 +02:00
Daniel Kirchner 976abf4715 Easy review fixes. 2020-09-17 22:13:27 +02:00
Daniel Kirchner 0eb32b3f60 Rephrase documentation of memoryguard 2020-09-17 22:13:27 +02:00
Daniel Kirchner f4b42d1c72 Add stack limit evader. 2020-09-17 22:13:27 +02:00
Daniel Kirchner e716c9e2b9 Run solc.exe after build run just to make sure no error was missed. 2020-09-17 14:46:24 +02:00
Daniel Kirchner a1de862135 Set ErrorActionPreference on all powershell scripts and add explicit error checks. 2020-09-17 14:44:52 +02:00
Daniel Kirchner 23fa0a5387 Test run for CircleCI windows builds. 2020-09-17 14:44:52 +02:00
Daniel Kirchner ed80585311 Merge pull request #9476 from ethereum/windows-tests
Building release on Windows
2020-09-17 14:44:13 +02:00
Daniel Kirchner b97ce763c5 Upload binaries individually as artifacts. 2020-09-16 17:19:41 +02:00
Daniel Kirchner d0fa9a5a6d Update AppVeyor config to set Boost_USE_STATIC_RUNTIME. 2020-09-16 13:25:44 +02:00
Daniel Kirchner d66b6f1c46 CircleCI Windows config and install_deps.ps1 script. 2020-09-16 12:50:31 +02:00
Daniel Kirchner 860226e25d Allow statically linked windows build in CMake. 2020-09-16 12:50:31 +02:00
Daniel Kirchner e93d74398b Merge pull request #9807 from ethereum/smt_readd_tests
Readd SMTChecker tests
2020-09-15 02:57:42 +02:00
Daniel Kirchner 3399570de2 Merge pull request #9795 from ethereum/staticZ3PPAUpdate
Bump Z3 version in static Z3 PPA build to 4.8.9.
2020-09-15 02:02:39 +02:00
Daniel Kirchner 32a322e3f8 Add groovy to static Z3 deps PPA script. 2020-09-14 23:09:28 +02:00
Daniel Kirchner 1312d547c2 Remove obsolete eoan from static z3 PPA script. 2020-09-14 23:09:28 +02:00
Daniel Kirchner 7288e391e6 Bump Z3 version in static Z3 PPA build to 4.8.9. 2020-09-14 23:09:28 +02:00
Daniel Kirchner 6ce33bc27b Merge pull request #9799 from ethereum/z3_docker
Update z3 on docker files
2020-09-14 20:02:34 +02:00
Daniel Kirchner 857a48f526 Merge pull request #9797 from ethereum/smt_z3_update
Update SMTChecker tests with z3 4.8.9
2020-09-14 20:02:10 +02:00
Daniel Kirchner b4fbbf88e0 Add groovy to PPA release script. 2020-09-14 16:33:16 +02:00
Daniel Kirchner 65b2505d5d Remove obsolete eoan from the PPA release script. 2020-09-14 13:52:08 +02:00