Commit Graph

21096 Commits

Author SHA1 Message Date
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
soroosh-sdi
f5e8f5246c Add switch for command line & test.sh to skip smt
- add --no-smt in scripts/tests.sh and test/cmdlineTests.sh

Signed-off-by: soroosh-sdi <soroosh.sardari@gmail.com>
2021-09-10 23:35:17 +04:30
Daniel Kirchner
b934ef6c6e Only run evm bytecode generation if required. 2021-09-10 12:32:48 +02:00
Nikita Stupin
aedf29b9dd Add sections for state mutability and special functions 2021-09-10 11:27:55 +03:00
Kamil Śliwak
fbdfc6bb7a AsmParser: Require whitespace before tags in location comments 2021-09-09 18:27:29 +02:00
Daniel Kirchner
dea1b9ec79
Merge pull request #11920 from ethereum/update-comment-fixedpoint-example
User defined value type: changes in documentation and test case
2021-09-09 17:38:37 +02:00
Leonardo
df2ed912f0
Merge pull request #11887 from ethereum/smt_fix_seen
[SMTChecker] Fix ICE on unique error reporting
2021-09-09 17:25:51 +02:00
Kamil Śliwak
14396c207c AsmParser: Generalize location comment parsing to make it easier to add support for more tags 2021-09-09 17:12:59 +02:00
Kamil Śliwak
aa156ab6c7 Parser::fetchSourceLocationFromComment(): Some general cleanup (renaming, wrapping, etc.) 2021-09-09 17:12:59 +02:00
Kamil Śliwak
e3a5f923eb AsmParser: Refactor the @src regex 2021-09-09 17:12:58 +02:00
Kamil Śliwak
33ac5478de More tests for @src in AsmParser 2021-09-09 17:12:58 +02:00
Kamil Śliwak
066c2a4699 Check expected errors in existing AsmParser tests 2021-09-09 17:12:58 +02:00
hrkrshnn
952540c3b5 User defined value type: changes in documentation and test case
Changed the name of a function from `truncate` to `floor`, since that is more appropriate; updated
the inaccurate description on the rounding behaviour. Also modified the respective semantic test.
2021-09-09 16:57:03 +02:00
Leo Alt
d91f75deb8 Fix ICE on unique errors 2021-09-09 16:37:43 +02:00
chriseth
3e2e3d1baa
Merge pull request #11915 from ethereum/fix-out-of-sync-gas-costs
Fix breakage on `develop` caused by gas costs that went out of sync
2021-09-09 15:42:08 +02:00
chriseth
5de276cb75
Merge pull request #11914 from ethereum/userdefined-move-test
User defined value types: moved a syntax test to semantic test.
2021-09-09 14:19:32 +02:00
Kamil Śliwak
f6eecb8c6f Fix gas costs that went out of sync in some tests due to a recent merge 2021-09-09 13:26:45 +02:00