Commit Graph
20912 Commits
Author SHA1 Message Date
hrkrshnn 15fb427a99 Added a multisource test for UserDefinedValueTypes and imports
Testing if `import {MyType} from "source";` works
2021-09-15 17:48:53 +02:00
hrkrshnn 48e16ceb88 Changing the UserDefinedValueType::toString to userdefined <name> 2021-09-15 17:25:23 +02:00
hrkrshnn 42c8310a63 Updated tests. 2021-09-15 12:56:29 +02:00
hrkrshnn de01822999 UserDefinedValueType: from simple name to canonical name. 2021-09-15 12:56:29 +02:00
Daniel Kirchner 0fa24c786b Merge pull request #11956 from ethereum/userDefinedTypesContractAccess
Allow accessing user defined value type members via contract name.
2021-09-14 17:14:04 +02:00
chriseth 535e1ecdb2 Merge pull request #11895 from ethereum/doNotRunEvmCodegenIfNotAsked
Do not run evm codegen if not asked.
2021-09-14 17:12:06 +02:00
Daniel Kirchner be29ef70a7 Allow accessing user defined value type members via contract name. 2021-09-14 16:24:14 +02:00
chriseth 8735d3fb6c Merge pull request #11930 from ethereum/calldataStructInlineAssembly
Fix inline assembly assignments to calldata structs and statically-sized calldata arrays.
2021-09-14 16:16:48 +02:00
chriseth 25fc0db417 Merge pull request #11926 from nikitastupin/develop
[docs] Add sections for state mutability and special functions
2021-09-14 16:12:27 +02:00
chriseth 94daad7c3d Merge pull request #11943 from ethereum/cmake-remove-stdlib-option
cmake: Remove stdlib compile option for Solidity build.
2021-09-14 15:57:02 +02:00
chriseth 8188ea7d66 Merge pull request #11931 from ethereum/different-metadata-via-ir
Different metadata for IR
2021-09-14 15:48:08 +02:00
chriseth a66e6f08c0 Merge pull request #11951 from ethereum/scopeFillerNullptr
Use locationOf helper instead of accessing debugData directly.
2021-09-14 15:43:01 +02:00
chriseth 332c9940f3 Merge pull request #11941 from ethereum/remove-std-iterator
Do not use std::iterator that is deprecated in c++17
2021-09-14 15:20:45 +02:00
chriseth f14ff233fc Merge pull request #11922 from ethereum/newCodeTransformSourceLocations
Better source locations in Yul ControlFlowGraph and OptimizedEVMCodeTransform.
2021-09-14 14:32:39 +02:00
Leonardo e45083f319 Merge pull request #11606 from ethereum/info_message
Add new info severity
2021-09-14 14:30:07 +02:00
chriseth a35608aa8c Merge pull request #11797 from ethereum/optimizedEVMCodeTransform
Optimized EVM Code Transform. (New Code Transform Step 3)
2021-09-14 14:29:54 +02:00
Bhargava Shastry 94086e734b Do not use std::iterator that is deprecated in c++17. 2021-09-14 14:00:37 +02:00
chriseth cb218fe018 Merge pull request #11947 from ethereum/abicodec-test-userdefined
Added an abi function test for UserDefinedValueType
2021-09-14 13:49:45 +02:00
Kamil Śliwak 405a9e9971 Generate separate metadata for the old and the new codegen 2021-09-14 13:44:04 +02:00
Kamil Śliwak 83b3bd0227 Add a version of isValidMetadata() that accepts already parsed metadata 2021-09-14 13:44:04 +02:00
Daniel Kirchner 854b8b65b5 Better source locations in Yul ControlFlowGraph and OptimizedEVMCodeTransform. 2021-09-14 13:43:16 +02:00
Daniel Kirchner 75c3286311 Optimized EVM Code Transform. 2021-09-14 13:37:04 +02:00
chriseth 4a02e9a340 Merge pull request #11867 from ethereum/solidity-snippets-next-to-source-locations-in-ir
Solidity snippets next to source locations in IR
2021-09-14 13:30:30 +02:00
Kamil Śliwak 14639efc5d Print code snippets next to source locations in IR output 2021-09-14 12:09:59 +02:00
Kamil Śliwak d78522b08b AsmParser: Accept optional code snippets after the @src tags 2021-09-14 12:09:59 +02:00
Kamil Śliwak 37f681c430 Deduplicate code for printing source locations 2021-09-14 11:46:57 +02:00
Daniel Kirchner 7abc55d89a Use locationOf helper instead of accessing debugData directly. 2021-09-14 10:04:09 +02:00
Leo Alt e72fa7fc10 Add new info severity 2021-09-13 22:48:22 +02:00
chriseth 49cde9d47b Merge pull request #11948 from ethereum/remove-assemblyitemtype-pushstring
Remove unused AssemblyItemType::PushString.
2021-09-13 19:39:59 +02:00
chriseth f957820351 Merge pull request #11913 from ethereum/source-location-parsing-extra-tests-and-regex-refactor
More generic source location parsing + more errors
2021-09-13 19:06:29 +02:00
Alexander Arlt 7fcf888fbf Remove unused AssemblyItemType::PushString. 2021-09-13 18:59:18 +02:00
Harikrishnan Mulackal c8c6d30808 Merge pull request #11946 from ethereum/tests-userdefinedvaluetypes
UserDefinedValueType: test to validate zero-cost-abstraction claim.
2021-09-13 18:54:36 +02:00
hrkrshnn 4871017aae Added an abi function test for UserDefinedValueType
A test to see if `abi.encode*(..., (CustomType))` and `abi.decode(..., (CustomType))` works as
intended.
2021-09-13 18:12:42 +02:00
hrkrshnn 00bfed4d8b UserDefinedValueType: test to validate zero-cost-abstraction claim.
Seems that the optimizer can indeed make it a zero-cost-abstraction!
2021-09-13 16:49:52 +02:00
Kamil Śliwak 0727e5c756 Merge pull request #11933 from soroosh-sdi/scripts-no-smt
Add switch for command line & test.sh to skip smt
2021-09-13 16:24:00 +02:00
Kamil Śliwak 12f50ec981 Merge pull request #11730 from ethereum/deduplicate-cli-optimizer-initialization
[CLI] Deduplicate optimizer initialization
2021-09-13 16:21:37 +02:00
Kamil Śliwak 1e4cef8405 Switch from full() to standard() optimizer settings in assembly mode on the CLI 2021-09-13 15:35:11 +02:00
Kamil Śliwak 6b46d4fdbe Extract duplicated code for initializing OptimiserSettings from CommandLineOptions into a common function 2021-09-13 15:35:11 +02:00
Kamil Śliwak 2f663c5f36 Common processing of optimization options in compiler and assembly modes 2021-09-13 15:35:11 +02:00
Kamil Śliwak 7a36a1d1db Reject optimizer options as invalid in linker and Standard JSON modes 2021-09-13 15:35:11 +02:00
Kamil Śliwak b7c124911a CommandLineParser: Process linker mode before assembly mode 2021-09-13 15:25:59 +02:00
Daniel Kirchner 9ff0cc0b8b Update docs. 2021-09-13 15:22:46 +02:00
Daniel Kirchner ab7b1625ac Tests for unassigned calldata returns. 2021-09-13 15:22:46 +02:00
Daniel Kirchner fc37b18e88 Fix inline assembly assignments to calldata structs and statically-sized arrays. 2021-09-13 15:22:46 +02:00
Harikrishnan Mulackal 8fafdeacac Merge pull request #11939 from ethereum/userdefined-types-mapping-key
Allow Mapping keys to have type UserDefinedValueType.
2021-09-13 15:06:14 +02:00
hrkrshnn 2ead3f469e Added a user defined type mapping into the ASTJSON test. 2021-09-13 14:06:31 +02:00
Harikrishnan Mulackal 623b4ba366 Merge pull request #11942 from ethereum/constant-userdefinedvaluetype
Allow UserDefinedValueType.uwrap (and wrap) as RHS of constant decl
2021-09-13 12:32:58 +02:00
Bhargava Shastry b5f5e85a12 cmake: Remove stdlib compile option for Solidity build. 2021-09-13 11:55:58 +02:00
hrkrshnn a1d4d0125d Allow UserDefinedValueType.uwrap (and wrap) as RHS of constant decl
Needed to make `MyType.unwrap` and `MyType.unwrap` as pure in the process. This change affected some
existing tests ("statement has no effect").
2021-09-13 11:53:05 +02:00
hrkrshnn 1fa6c71bd0 Allow Mapping keys to have type UserDefinedValueType.
Also added syntax and semantic test.
2021-09-13 10:03:49 +02:00