Commit Graph
23671 Commits
Author SHA1 Message Date
Alexander Arlt 49a0948d92 [test] import/export: Add simple yul reimport bytecode equivalance test. 2023-07-12 17:48:48 +02:00
Alexander Arlt b0d65f83ce [libevmasm] EVM Assembly import: Fix sub-assembly object import. 2023-07-12 17:48:48 +02:00
Alexander Arlt 72b4629118 Add cmdlineTests/asm_json_export_yul_subobjects. 2023-07-12 17:48:48 +02:00
Alexander Arlt ac7fcd6f7c [libevmasm] EVMAssemblStack: remove std::optional for source mappings. 2023-07-12 17:48:48 +02:00
Alexander Arlt ff05b7a485 [evmasm] EVMAssemblyStack::parseAndAnalyze remove return code. 2023-07-12 17:48:48 +02:00
Alexander Arlt 1aac4d1a4c [test] cmdLineTests: add test that checks behavior of non unique sources. 2023-07-12 17:48:48 +02:00
Alexander Arlt 136da0c74c [solc] CommandLineInterface::assembleYul: ensure unique "<unknown>" sources. 2023-07-12 17:48:48 +02:00
Alexander Arlt 37e3e54e34 [solc] CommandLineInterface: Add evmasm::EVMAssemblyStack & use evmasm::AbstractAssemblyStack. 2023-07-12 17:48:48 +02:00
Alexander Arlt 52f2d4b6e0 [evmasm::EVMAssemblyStack] Implement AbstractAssemblyStack. 2023-07-12 17:48:48 +02:00
Alexander Arlt e087ef6d06 [libsolidity] CompilerStack: Remove usage of evmasm::EVMAssemblyStack. 2023-07-12 17:48:48 +02:00
Alexander Arlt a9b56ef5ff [evmasm::Assembly] Fix createAssemblyItemFromJSON value check: no value on c_instructions. 2023-07-12 17:48:48 +02:00
Alexander Arlt 024f55165a [evmasm::Assembly] Fix createAssemblyItemFromJSON VERBATIM value check. 2023-07-12 17:48:48 +02:00
Alexander Arlt 14304b7d75 [evmasm::Assembly] Fix SourceLocation::sourceName shared_ptr creation. 2023-07-12 17:48:48 +02:00
Alexander Arlt b02031302a [test] Assembler: Update tests: Assembly::m_sourceList not a member anymore. 2023-07-12 17:48:48 +02:00
Alexander Arlt 98944cba5b [libevmasm] Remove m_sourceList member from Assembly class. 2023-07-12 17:48:48 +02:00
Kamil Śliwak 7cfb34ce76 Introduce AbstractAssemblyStack as an interface to functionality common for both CompilerStack and EVMAssemblyStack 2023-07-12 17:48:48 +02:00
Kamil Śliwak 72caea92e6 fixup! [libevmasm] Add support to import evm assembly json. 2023-07-12 17:48:48 +02:00
Alexander Arlt d413a0739a Minor bugfix. 2023-07-12 17:48:48 +02:00
Alexander Arlt ea2a40fce1 Update scripts/ASTImportTest.sh. 2023-07-12 17:48:48 +02:00
Alexander Arlt d7b78cbf4c Yul to EVM assembly json export: Add simple cmdline tests. 2023-07-12 17:48:48 +02:00
Kamil Śliwak 5c43d9e3f7 fixup! [libevmasm] Add support to import evm assembly json. 2023-07-12 17:48:48 +02:00
Alexander Arlt 108490e630 [libevmasm] Add support to import evm assembly json. 2023-07-12 17:48:48 +02:00
Nikola Matić 69c034b1c0 Merge pull request #14410 from ethereum/purge-using-namespace-std-in-libsmtutil-libsolc
Purge using namespace std in libsmtutil and libsolc
2023-07-12 15:33:18 +02:00
Nikola Matic 62723b7534 Purge using namespace std in libsmtutil and libsolc 2023-07-12 14:09:19 +02:00
Nikola Matić 1ac883b84d Merge pull request #14409 from ethereum/purge-using-namespace-from-liblangutil
Purge using namespace std from liblangutil
2023-07-12 12:10:27 +02:00
Nikola Matic e81f2bdbd6 Purge using namespace std from liblangutil 2023-07-12 11:24:21 +02:00
Nikola Matić 8390a24e30 Merge pull request #14408 from ethereum/check-style-for-using-namespace-std-v2
Check style coverage for using namespace std
2023-07-12 11:21:37 +02:00
matheusaaguiar b29d8a429c Merge pull request #14391 from alpinevm/patch-2
Update compiler standard input docs to include shanghai in the available evm version options
2023-07-11 17:50:45 -03:00
Nikola Matic c1ca2bf9d2 Check style coverage for using namespace std 2023-07-11 20:28:21 +02:00
Kamil Śliwak b583e9e64d Merge pull request #14398 from ethereum/fix-welcome-contributors
Remove token requirement from external contributor greeter
2023-07-10 18:19:02 +02:00
r0qs 919408901d Remove token requirement from external contributor greeter 2023-07-10 16:26:18 +02:00
Cliff SynerandNuno Santos 09c30566eb Formatting docs/using-the-compiler.rst
Co-authored-by: Nuno Santos <nunofilipesantos@gmail.com>
2023-07-10 09:20:10 -05:00
Daniel b84af3f420 Merge pull request #14394 from ethereum/purge-using-namespace-std
Purge using namespace std in libevmasm
2023-07-10 13:59:11 +02:00
Nikola Matic a9c8b4b4d1 Purge using namespace std 2023-07-10 13:12:46 +02:00
Kamil Śliwak 27faacb72c Merge pull request #14390 from criadoperez/fix/criadoperez
Fixed typo in protoToAbiv2.h
2023-07-10 12:35:18 +02:00
Cliff Syner 58a4296989 Update using-the-compiler.rst
Reflect all available evm options in compiler standard input docs
2023-07-10 00:33:05 -05:00
Alejandro Criado-Pérez 29358806f4 updated protoToAbiv2.h 2023-07-09 01:45:54 +02:00
Bhargava Shastry 5d7533b540 Merge pull request #14227 from ethereum/update-codegen-fuzzer
Stack optimizer fuzzer: Detect stack-too-deep during optimization
2023-07-03 14:52:27 +02:00
Leo 2f451a186b Merge pull request #14377 from ethereum/fix-smtlib
SMTChecker: Fix generation of smtlib scripts
2023-06-30 16:58:26 +02:00
Martin Blicha 3599c8c6b9 SMTChecker: Fix generation of smtlib scripts
When both CHC and BMC engines are used, the type of state variable
changes when trusted mode for external calls is used. This is because in
CHC engine, trusted mode means we pack more information into the
symbolic state. In BMC this type is always simple.

However, if BMC is run after CHC, in the current code state variables
are reset (and their declaration dumped into SMT-LIB script) before BMC
resets the type of the state variable.

The proposed solution is to simply reset the variable type before the
first variable of this type is created.
2023-06-30 15:57:51 +02:00
Daniel 30cd1a0fb4 Merge pull request #14370 from ethereum/smt-cleanup
Remove ReasoningBasedSimplifier from libyul
2023-06-28 16:31:13 +02:00
Martin Blicha 29041c8101 Remove ReasoningBasedSimplifier from libyul
Due to a design decision to move away from a bundled SMT solver,
ReasoningBasedSimplifier in its current form cannot be use any longer.
This is a necessary step to allow a unified way to call solvers using
only SMTLIB interface.

Since this optimization pass has always been marked as highly
experimental and never turned on by default, it should be OK to remove
it.
2023-06-28 14:38:36 +02:00
r0qs c819243374 Merge pull request #14368 from ethereum/gh-built-in-triage-automation
Remove triage workflow in favor of github built-in automation
2023-06-28 12:37:49 +02:00
Kamil Śliwak 3bb492a28d Merge pull request #14351 from ethereum/ci-deduplicate-base-env-with-anchors
Deduplicate environment variables in CI
2023-06-27 14:43:24 +02:00
Kamil Śliwak 8b64195d4b CI: Make jobs extend base environments instead of redefining them
- Also remove variables that are now redundant.
- Note that this adds new variables for jobs that previously did not have them. This should not affect behavior because we were simply omitting those variables where they were not necessary.
2023-06-27 14:00:28 +02:00
Kamil Śliwak 793adc8106 CI: Define base environments in terms of environments of dicts they depend on 2023-06-27 13:56:36 +02:00
Kamil Śliwak d12a981ba8 CI: Define aliases for all the base environment dicts 2023-06-27 13:56:36 +02:00
Leo 2cf03e3f0b Merge pull request #14344 from pgebal/pgebal/fix-ice-internal-type
Fix error in SMTChecker: Use rich indentifier instead of external identifier to encode member access to functions
2023-06-27 12:31:25 +02:00
Bhargava Shastryandr0qs 87d0c84960 Stack optimizer fuzzer: Detect stack-too-deep during optimization
Co-authored-by: r0qs <deepmarolaest@gmail.com>
2023-06-27 10:32:23 +02:00
r0qs a4777937ed Remove triage workflow in favor of github built-in automation 2023-06-26 22:53:29 +02:00