Commit Graph
100 Commits
Author SHA1 Message Date
Daniel Kirchner c823b3519e Replace build source path in __FILE__ macros. 2019-10-02 17:25:10 +02:00
Daniel Kirchner d459fa6f22 Explicitly link against pthreads for static build. 2019-10-02 00:30:38 +02:00
Daniel Kirchner 7202ebb5b2 Fix internal compiler error for arrays of recursive structs. 2019-10-01 16:51:14 +02:00
Daniel Kirchner c72d1ffb65 Merge pull request #7421 from ethereum/develop
Merge develop into develop_060
2019-09-13 12:14:02 +02:00
Daniel Kirchner 0736f873ea Merge pull request #7340 from ethereum/arraySlice
Array slice syntax (with implementation for dynamic calldata arrays)
2019-09-13 11:42:39 +02:00
Daniel Kirchner 5d58c43a5c Merge pull request #7388 from ethereum/isoltest-fallback-functions
[isoltest] Support fallback functions
2019-09-13 11:37:42 +02:00
Daniel Kirchner 4782c800ec Initial introduction of array slices with partial implementation for dynamic calldata arrays. 2019-09-13 10:57:53 +02:00
Daniel Kirchner f86c5da202 Fix SSA reverser in special case of declaration followed by self-assignment. 2019-09-12 18:17:13 +02:00
Daniel Kirchner 2535091168 Replace preprocessor macros with constexpr expressions. 2019-09-11 13:03:05 +02:00
Daniel Kirchner 5063e53730 Merge pull request #7397 from FlashSheridan/patch-2
Shorten evmone link so it's not only for Linux
2019-09-11 10:34:36 +02:00
Daniel Kirchner 6f3341a204 Allow underscores in hex strings. 2019-09-06 17:58:35 +02:00
Daniel Kirchner 546663908f Add fake release test build and test runs on CircleCI. 2019-09-06 16:45:43 +02:00
Daniel Kirchner 793b1890e8 `type field in ABI JSON no longer defaults to function` 2019-09-06 15:35:01 +02:00
Daniel Kirchner f4d990e5be Drop constant and payable fields from ABI. 2019-09-06 14:42:09 +02:00
Daniel Kirchner 94ce0462ba Add backup extension to all sed commands in the command line tests for OSX sed. 2019-09-06 14:19:49 +02:00
Daniel Kirchner 998f7de2c8 Change command line test from --ast to --ast-json. 2019-09-06 13:46:18 +02:00
Daniel Kirchner f84371b2e0 Fix command line tests for new error reporter. 2019-09-06 13:31:57 +02:00
Daniel Kirchner 5d69bdf81e Remove ASTPrinter. 2019-09-06 12:38:55 +02:00
Daniel Kirchner 90d5c98272 Switch to new error reporter. 2019-09-06 11:28:36 +02:00
Daniel Kirchner 7148792b8a Refactor ExpressionCompiler with acceptAndConvert. 2019-09-05 15:05:59 +02:00
Daniel Kirchner 9bcaeef39f Fix test wrt changed json ABI sorting. 2019-09-05 13:39:23 +02:00
Daniel Kirchner ef407ea896 Try to fix appveyor run by chaning bytecode pull output from stderr to stdout. 2019-09-04 10:57:01 +02:00
Daniel Kirchner 467d420f7e ABI and AST tests. 2019-09-02 12:23:21 +02:00
Daniel Kirchner c5eedc9e0b Changelog entry. 2019-09-02 12:01:09 +02:00
Daniel Kirchner 2b938d703c Allow global enum definitions. 2019-09-02 11:52:51 +02:00
Daniel Kirchner fae0e10d26 Import tests. 2019-09-02 11:17:57 +02:00
Daniel Kirchner 872d21f527 Allow global struct definitions. 2019-09-02 11:17:42 +02:00
Daniel Kirchner 4354ef2ef4 Add update suggestion. 2019-08-19 14:58:05 +02:00
Daniel Kirchner 20b23e124b Add test case. 2019-08-19 14:56:04 +02:00
Daniel Kirchner 42f30981db Add unimplemented assertion to IR generation when accessing address member of external function types. 2019-08-19 14:56:04 +02:00
Daniel Kirchner 80199ded79 More documentation updates. 2019-08-19 14:56:04 +02:00
Daniel Kirchner 9f6fff2120 Replace casting of external functions to address by a member named "address". 2019-08-19 14:56:04 +02:00
Daniel Kirchner aa2167b208 Extract some import tests. 2019-08-19 14:45:26 +02:00
Daniel Kirchner 6ed219ebe8 Support multiple sources for syntax tests. 2019-08-19 14:45:26 +02:00
Daniel Kirchner 04af1b4058 Merge pull request #7272 from ethereum/compileSyntaxTests
Compile succeeding syntax tests.
2019-08-16 18:08:44 +02:00
Daniel Kirchner 4a65c5ebaa Compile succeeding syntax tests. 2019-08-16 17:14:49 +02:00
Daniel Kirchner 058bbd398e Merge pull request #7252 from ethereum/enable-c++17-in-libfuzzer-cmake
Enable c++17 in cmake toolchain file used by ossfuzz builder
2019-08-16 12:26:56 +02:00
Daniel Kirchner e545103ec8 Extract reasonOfFailure to lambda function. 2019-08-14 17:59:48 +02:00
Daniel Kirchner b0a5666b43 Better error messages when writing to expressions that cannot be written to. 2019-08-14 17:59:48 +02:00
Daniel Kirchner bd105ad4b1 Experimental static Z3 PPA script. 2019-08-13 16:19:18 +02:00
Daniel Kirchner 05940ef64a Merge pull request #7212 from ethereum/removeSharedZ3Docker
Remove the shared Z3 build from the testing Dockerfile.
2019-08-13 10:54:49 +02:00
Daniel Kirchner 2d637a48b4 Proper cmake failure if z3 version cannot be determined. 2019-08-12 16:23:06 +02:00
Daniel Kirchner 05cc866c42 Buglist entry for calldata structs with dynamically encoded, but statically-sized members. 2019-08-12 14:31:36 +02:00
Daniel Kirchner 0ca4a744e8 Merge pull request #7216 from ethereum/ppaRemoveCosmic
Remove ubuntu cosmic (EOL July 18, 2019) from release script.
2019-08-12 13:02:01 +02:00
Daniel Kirchner 2f48bd6fb9 Remove ubuntu cosmic (EOL July 18, 2019) from release script. 2019-08-12 11:36:48 +02:00
Daniel Kirchner cc9278d38c Explicitly use the gcc openmp implementation for the fuzzing build. 2019-08-09 19:55:48 +02:00
Daniel Kirchner 9793c4db9d Remove the shared Z3 build from the testing Dockerfile. 2019-08-09 18:15:38 +02:00
Daniel Kirchner 682a3ece3b Merge pull request #7209 from ethereum/asanGCCFix
Enable asan workaround in optimizer test for gcc as well.
2019-08-09 16:56:15 +02:00
Daniel Kirchner 77729023a8 Enable asan workaround in optimizer test for gcc as well. 2019-08-09 16:11:54 +02:00
Daniel Kirchner 8fead31da1 Merge pull request #7192 from ethereum/staticZ3Docker
Add static z3 build from deps PPA to testing docker image.
2019-08-07 17:34:22 +02:00
Daniel Kirchner 311578800a Add static z3 build from deps PPA to testing docker image. 2019-08-07 16:50:47 +02:00
Daniel Kirchner 4826210662 Merge pull request #7182 from ethereum/archlinuxDocker
Use up-to-date archlinux instead of a custom docker image for archlinux build.
2019-08-06 19:07:49 +02:00
Daniel Kirchner efb34bdf22 Always copy dynamically-sized memory arrays during CompilerUtils::abiDecode. 2019-08-06 14:11:14 +02:00
Daniel Kirchner 6122faf9b4 Use up-to-date archlinux instead of a custom docker image for archlinux build. 2019-08-06 13:50:01 +02:00
Daniel Kirchner 4182033264 Merge pull request #7179 from ethereum/fix-gcc-9-errors
Fix gcc9 errors
2019-08-06 13:23:04 +02:00
Daniel Kirchner c71fb76bb2 Proofs for the overflow and underflow conditions in checked arithmetic for Sol->Yul code generation. 2019-06-20 15:58:10 +02:00
Daniel Kirchner fcd3410f26 Implement checked mod for sol->yul code generation. 2019-06-20 12:30:32 +02:00
Daniel Kirchner a5b9f634ef Implement signed multiplication for sol->yul code generation. 2019-06-20 12:30:30 +02:00
Daniel Kirchner e4c884ae13 Unify style of checked integer division for sol->yul code generation. 2019-06-20 12:18:18 +02:00
Daniel Kirchner 5f6af8b374 Implement signed subtraction for sol->yul code generation. 2019-06-20 12:16:56 +02:00
Daniel Kirchner 88988af561 Implement signed addition for sol->yul code generation. 2019-06-20 11:42:50 +02:00
Daniel Kirchner e78500a199 Merge pull request #6943 from ethereum/opcodeFix
Fix comparison opcodes and minor errors in proof scripts.
2019-06-14 17:45:34 +02:00
Daniel Kirchner 5718072e10 Fix comparison opcodes and minor errors in proof scripts. 2019-06-14 17:04:50 +02:00
Daniel Kirchner d3293cf0d0 Correctness proof for SUB(NOT(0),X)->NOT(X). 2019-06-14 14:08:21 +02:00
Daniel Kirchner 7f322c9433 Add optimization rule SUB(~0, X) -> NOT(X). 2019-06-14 14:07:46 +02:00
Daniel Kirchner 4aa0c9e079 Merge pull request #6939 from ethereum/opt_proofs
Move optimization proofs repo to Solidity repo
2019-06-14 14:06:59 +02:00
Daniel Kirchner 7187a3e5ca Merge pull request #6938 from ethereum/gasValueMutability
Set state mutability of function type members ``gas`` and ``value`` to pure.
2019-06-13 19:33:27 +02:00
Daniel Kirchner 4d38df6920 Set state mutability of function type members `gas and value` to pure. 2019-06-13 18:27:53 +02:00
Daniel Kirchner 62bd7032b7 Merge pull request #6937 from FabioBonfiglio/patch-1
Correct assigned value in natspec example
2019-06-13 16:10:59 +02:00
Daniel Kirchner 2fabf9330b Merge pull request #6932 from ethereum/cmdlineTestFailure
Fix commandline tests.
2019-06-12 19:51:37 +02:00
Daniel Kirchner dfbdb6c007 Fix failing command line tests. 2019-06-12 19:04:02 +02:00
Daniel Kirchner 2dc405e948 Fix command line tests script to properly report errors. 2019-06-12 19:03:45 +02:00
Daniel Kirchner 3ffc604bd8 Merge pull request #6931 from ethereum/cmakeBoostFix
Make the boost cmake workaround compatible with older versions of cmake.
2019-06-12 18:49:10 +02:00
Daniel Kirchner 7a32daadf0 Make the boost cmake workaround compatible with older versions of cmake. 2019-06-12 18:04:08 +02:00
Daniel Kirchner 2849169bff Merge pull request #6909 from ethereum/yul-delete-operation
[Sol->Yul] Make IRStorageItem work with dynamic offsets
2019-06-12 16:46:00 +02:00
Daniel Kirchner 502d22a26e Merge pull request #6914 from ethereum/boost170
Use imported targets for boost and update emscripten boost to 1.70.
2019-06-12 15:26:24 +02:00
Daniel Kirchner 91200fdd2e Merge pull request #6925 from ethereum/keccakTests
Some keccak tests.
2019-06-11 15:55:09 +02:00
Daniel Kirchner 644f5c00f5 Merge pull request #6924 from ethereum/testRefactoring
Some test case refactoring.
2019-06-11 15:13:45 +02:00
Daniel Kirchner 073777e836 Some keccak tests. 2019-06-11 15:09:52 +02:00
Daniel Kirchner ba8ad1a1d9 Use the TestCase settings mechanism for object compiler tests. 2019-06-11 14:11:27 +02:00
Daniel Kirchner 547173533c Unify parsing of simple test expectations and require lines to start with `//`. 2019-06-11 14:05:45 +02:00
Daniel Kirchner bd1f65d609 Merge pull request #6888 from anurag-git/anurag_semantic_test_update
New semantic tests extracted
2019-06-11 10:50:10 +02:00
Daniel Kirchner 74b589577b Merge pull request #6912 from ethereum/bigEndian
CMake error for big endian systems.
2019-06-07 16:44:52 +02:00
Daniel Kirchner a4dfaac53d Changlelog entry. 2019-06-07 10:45:01 +02:00
Daniel Kirchner 9d2f1b0eac Add note about boost 1.70+ and solidity<=0.5.9 to the docs. 2019-06-07 10:42:18 +02:00
Daniel Kirchner a4087d4b60 Merge pull request #6916 from ethereum/alsoViaYul
Allow extracted semantics tests to run with and without yul.
2019-06-06 21:05:52 +02:00
Daniel Kirchner dcb6b2cb33 Add back comment and output messages. 2019-06-06 21:03:33 +02:00
Daniel Kirchner cb9c35f883 Define imported targets manually, if not provided by find_package(Boost). 2019-06-06 21:03:33 +02:00
Daniel Kirchner 8e20a5e59a Allow extracted semantics tests to run both with and without Yul. 2019-06-06 20:19:16 +02:00
Daniel Kirchner 2ec45797b2 Update boost to 1.70 for emscripten and cache a proper installation. 2019-06-06 18:49:34 +02:00
Daniel Kirchner 226f8bb64d Use imported cmake targets for boost. 2019-06-06 18:49:34 +02:00
Daniel Kirchner a445df63cf Require cmake 3.5. 2019-06-06 18:49:25 +02:00
Daniel Kirchner 5370af50e3 Attempt to workaround for older cmake versions. 2019-06-06 16:16:55 +02:00
Daniel Kirchner f21d5ab839 CMake error for big endian systems. 2019-06-06 14:08:27 +02:00
Daniel Kirchner 2dbdddc7e5 Fix argument count for require with message and string literals. 2019-06-06 13:17:08 +02:00
Daniel Kirchner 6368cd4c82 AsmParser: disallow trailing commas in function call arguments. 2019-06-06 13:16:27 +02:00
Daniel Kirchner 5677bedf34 Require gcc >= 5.0. 2019-06-05 11:57:06 +02:00
Daniel Kirchner d99c37e1ee Merge pull request #6891 from ethereum/z3cmake
Build System: Try to find Z3 using CONFIG_MODE and stock cmake files before manual search.
2019-06-05 10:46:50 +02:00
Daniel Kirchner 9f5340fa53 Try to find Z3 using CONFIG_MODE before manual search. 2019-06-04 15:58:03 +02:00
Daniel Kirchner b6f4d4e9bc [Sol - Yul] Implement checked multiplication. 2019-05-20 17:36:53 +02:00