Anton Bukov
23920b946c
Merge branch 'develop' into feature/eip712-typehash
...
# Conflicts:
# libsolidity/ast/Types.cpp
2023-10-02 13:20:48 +02:00
Anton Bukov
de5af35fca
Some fixes for PR comments
2023-10-02 12:46:10 +02:00
r0qs
e3b36f736d
Avoid sorting FunctionDefinitions by AST ID during codegen
...
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2023-09-26 14:02:00 +02:00
Kamil Śliwak
b0a986ffff
Allow event definitions at file level
2023-09-15 14:47:40 +02:00
Kamil Śliwak
0a69758468
FileReader::isPathPrefix(): Work around lexically_normal() no longer preserving UNC slashes on Boost 1.78+ on Windows
2023-09-14 16:12:43 +02:00
Matheus Aguiar
14aed39261
Introduce experimental analysis basic infrastructure
2023-09-11 12:29:44 -03:00
Nikola Matic
fdc6699159
Rematerialize zero literals with default cleanup sequence
...
Add unused pruner step to the end of the default cleanup sequence
2023-09-04 15:40:33 +02:00
Jun Zhang
2cf23e15d8
Bump fmtlib to 9.1.0
...
In our downstream project, we have two dependencies: solidity and spdlog.
Both of them depend on fmtlib. Unfortunately, the versions of fmtlib they
use do not match, which leads to compilation failure.
The issue arises because spdlog attempts to use solidity's fmtlib, but the
specific version (v8.0.1) has a bug. Ref: https://github.com/gabime/spdlog/issues/2142
While we could keep this change in our own fork, we believe it would
be worthwhile to contribute it back to the upstream since spdlog is a
very popular logging library.
Signed-off-by: Jun Zhang <jun@junz.org>
2023-08-28 13:58:56 +08:00
Kamil Śliwak
9adbced98e
Remove parser error recovery mode
2023-08-22 12:00:11 +02:00
Kamil Śliwak
b17757ea17
CompilerStack: Extend inconsistent error sanity check to cover stopAfter: parsing as well
2023-08-21 17:50:41 +02:00
Kamil Śliwak
a15ef59eec
Remove the ability to produce an AST in presence of errors in --error-recovery mode
...
This reverts commit 7fd7cc1e76
.
2023-08-21 17:50:41 +02:00
Kamil Śliwak
e8d050a1ce
Simplify redundant state check in CompilerStack::analyze()
2023-08-21 17:50:41 +02:00
Nikola Matic
f344dc164e
Purge using namespace from libsolidity/lsp and parsing
2023-08-16 17:07:52 +02:00
Nikola Matic
342ba0324f
Purge using namespace std from libsolidity/interface
2023-08-15 15:45:15 +02:00
Nikola Matic
d0a5556fd0
Purge using namespace from libsolidity/formal
2023-08-15 14:40:27 +02:00
Nikola Matic
ce423e5ae5
Purge using namespace std from libsolidity/codegen
2023-08-14 21:37:31 +02:00
Nikola Matic
2a2a9d37ee
Purge using namespace std from libsolidity/ast
2023-08-14 14:54:58 +02:00
Nikola Matic
de1a017ccb
Purge using namespace std from libsolidity/analysis
2023-08-14 11:44:50 +02:00
Kamil Śliwak
4020552e1d
SourceReferenceFormatter: Remove the ineffective _withErrorIds parameter from formatExceptionInformation()
2023-08-11 14:15:56 +02:00
Kamil Śliwak
8407c8c615
SourceReferenceFormatter: Support full range of options in formatErrorInformation()
2023-08-11 14:15:56 +02:00
Kamil Śliwak
b7d2c8bb0a
SourceReferenceFormatter: Line wrapping and unused includes
2023-08-11 14:15:56 +02:00
Pawel Gebal
6574c10f25
SMTChecker: Visit the condition in for and while loops after loop is unrolled
2023-08-03 13:36:41 +02:00
r0qs
ea7ee3d5fe
Fix yul ast ID to 0 instead of 1.
2023-07-28 17:48:35 +02:00
Pawel Gebal
db5baebff8
SMTChecker fix: Do not unroll loop after it completes
2023-07-26 16:31:03 +02:00
Nikola Matic
964bdc711c
Fix ICE when emitting event from another contract
2023-07-21 21:49:09 +02:00
Daniel Kirchner
5c7214cbe3
Always generate code for .selector member access.
2023-07-18 18:15:32 +02:00
Nikola Matić
64427412c4
Merge pull request #14347 from ethereum/fixTypeCheckingAbiDecode
...
Disallow the use of `TypeType` in complex expressions
2023-07-18 18:14:45 +02:00
Nikola Matic
82cb5338a9
Relax delegatecall type restriction plus test
2023-07-18 17:07:13 +02:00
Daniel Kirchner
110e2a656d
Restrict mobile types of function types.
...
Move ternary tests to semanticTests
2023-07-18 14:13:36 +02:00
Matheus Aguiar
4fd5bbf50b
Restrict mobileType of TypeType
2023-07-18 12:58:11 +02:00
Matheus Aguiar
f3fc19080a
Override mobileType of MagicType to null
2023-07-18 10:56:02 +02:00
Daniel Kirchner
0ab0842c29
Disallow conversions between declaration function types.
2023-07-17 18:33:07 +02:00
Kamil Śliwak
dad2bf6472
Relax restrictions on immutable initialization
2023-07-14 15:29:32 +02:00
Kamil Śliwak
490b90d0ab
Implement ImmutableItem::setToZero() to make delete work with immutables
2023-07-14 15:29:32 +02:00
Kamil Śliwak
5b70830a64
IRGeneratorForStatements: Small refactor in endVisit(IndexAccess) for readability
2023-07-13 11:07:40 +02:00
Kamil Śliwak
16220db759
IRGeneratorForStatements: Fix undefined order of functions when generating code for index expressions
2023-07-13 11:06:11 +02:00
Saw-mon & Natalie
c6e73707c7
fixed codestyle.
2023-07-05 12:34:39 +02:00
Saw-mon & Natalie
84918fb01e
added syntaxt tests and updated the TypeChecker logic.
2023-07-05 12:34:39 +02:00
Saw-mon & Natalie
7de314bd0d
fixed typo
2023-07-05 12:34:39 +02:00
Saw-mon & Natalie
89424875de
fix coding style
2023-07-05 12:34:39 +02:00
Saw-mon & Natalie
145dfcf6da
fixed EIP-712 encoding type.
2023-07-05 12:34:39 +02:00
Anton Bukov
78981fac52
Update libsolidity/codegen/ir/IRGeneratorForStatements.cpp
...
Co-authored-by: Saw-mon & Natalie <3140080+Saw-mon-and-Natalie@users.noreply.github.com>
2023-07-05 12:34:39 +02:00
Anton Bukov
a8dc240d42
Update libsolidity/codegen/ir/IRGeneratorForStatements.cpp
...
Co-authored-by: Saw-mon & Natalie <3140080+Saw-mon-and-Natalie@users.noreply.github.com>
2023-07-05 12:34:39 +02:00
Anton Bukov
7ffbfe6781
Fix assert
2023-07-05 12:34:39 +02:00
Anton Bukov
1d40bb4940
Disallow to use typehash() for structs with nested mappings
2023-07-05 12:34:39 +02:00
Anton Bukov
c4e8d3754d
Fix compilation error
2023-07-05 12:34:39 +02:00
Anton Bukov
63210e5a68
Update libsolidity/codegen/ir/IRGeneratorForStatements.cpp
...
Co-authored-by: Hari <webmail.hari@gmail.com>
2023-07-05 12:34:38 +02:00
Anton Bukov
3efe100179
Update libsolidity/codegen/ir/IRGeneratorForStatements.cpp
...
Co-authored-by: Hari <webmail.hari@gmail.com>
2023-07-05 12:34:38 +02:00
Anton Bukov
f9b9905c95
Update libsolidity/codegen/ExpressionCompiler.cpp
...
Co-authored-by: Hari <webmail.hari@gmail.com>
2023-07-05 12:34:38 +02:00
Anton Bukov
422676aef2
Update libsolidity/ast/Types.cpp
...
Co-authored-by: Hari <webmail.hari@gmail.com>
2023-07-05 12:34:38 +02:00