David Dzhalaev
|
79ffa16a61
|
Improve error message for contract size limit error
|
2021-10-27 20:06:53 +02:00 |
|
hrkrshnn
|
8815d6f5f0
|
Moved a check related to constants to TypeChecker
And added a proper error message when constant types containing (nested) mapping types are used.
|
2021-10-26 18:43:04 +02:00 |
|
hrkrshnn
|
51009c005d
|
Moved a canBeStored assert for struct members to TypeChecker
This is to avoid a assert from failing for forward declared user defined value types.
|
2021-10-26 18:43:04 +02:00 |
|
hrkrshnn
|
9428dbc94f
|
Moved storage size assert to TypeChecker from DeclarationTypeChecker
|
2021-10-26 18:43:04 +02:00 |
|
Leo Alt
|
37215ffcfd
|
Add SMTCheckerTest isoltest option to ignore invariants
|
2021-10-26 11:30:30 +02:00 |
|
Leo Alt
|
3118fb3666
|
Add invariants option to CLI and JSON
|
2021-10-26 11:30:30 +02:00 |
|
Leo Alt
|
d419c30ca6
|
Add errorCode list to invariants report
|
2021-10-26 11:30:30 +02:00 |
|
Leo Alt
|
49e7627bd3
|
Use invariants in CHC
|
2021-10-26 11:30:30 +02:00 |
|
Leo Alt
|
bc90533c93
|
Add invariants to ModelCheckerSettings
|
2021-10-26 11:30:30 +02:00 |
|
Leo Alt
|
d554824f70
|
Add Invariants which traverses the proof and collects invariants for the given predicates
|
2021-10-26 11:30:30 +02:00 |
|
Leo Alt
|
9bcd2c18e4
|
Add expression substitution to Predicate
|
2021-10-26 11:30:30 +02:00 |
|
Leo Alt
|
ce72d7cd26
|
Add ExpressionFormatter which translates an smtutil::Expression into a Solidity-like expression string
|
2021-10-26 11:30:30 +02:00 |
|
Kamil Śliwak
|
fdf3b96e3f
|
Merge pull request #12155 from vowchick/develop
Use range-v3 loops: delete boost includes
|
2021-10-16 12:03:43 +02:00 |
|
vowchick
|
5d985a24ac
|
Use range-v3 loops: delete boost includes
An addition to issue #10738, couldn't change boost::for_each to
std::for_each, doesn't compile.
Build successful
./scripts/test.sh successful
|
2021-10-16 11:54:46 +03:00 |
|
tcoyvwac
|
ba0c09e082
|
Prefer make_unique over new
|
2021-10-15 19:46:47 +02:00 |
|
chriseth
|
1e630fc584
|
Merge pull request #12082 from ethereum/controlFlowSideEffectsUserDefined
Control flow side effects of user defined functions
|
2021-10-14 18:28:22 +02:00 |
|
chriseth
|
9417d6775f
|
Control flow side-effects for user-defined functions.
|
2021-10-14 17:46:07 +02:00 |
|
Christian Parpart
|
86a7e19879
|
libsolidity: Adding a comment to nameLocation().
|
2021-10-14 17:33:15 +02:00 |
|
chriseth
|
1a931a5108
|
Make use of inner loops.
|
2021-10-13 15:56:23 +02:00 |
|
chriseth
|
49d7b78466
|
Merge pull request #12123 from ethereum/empty-switch-12068
CodeGen: Only output switch when it has cases
|
2021-10-12 17:42:49 +02:00 |
|
Mathias Baumann
|
454860d1f5
|
CodeGen: Only output switch when it has cases
|
2021-10-12 17:40:31 +02:00 |
|
chriseth
|
adc58c67b4
|
Merge pull request #11944 from ethereum/debug-info-selection
Debug info selection
|
2021-10-12 16:39:50 +02:00 |
|
Kamil Śliwak
|
e136788493
|
Replace BOOST_THROW_EXCEPTION() with solThrow() where appropriate
|
2021-10-11 20:35:00 +02:00 |
|
Kamil Śliwak
|
a9e794c872
|
Expose --debug-info/settings.debug.debugInfo option
|
2021-10-11 20:34:48 +02:00 |
|
Kamil Śliwak
|
bcfefc79d9
|
Pass DebugInfoSelection down to the code handling assembly printing
|
2021-10-11 20:34:48 +02:00 |
|
Kamil Śliwak
|
f7c4ed849d
|
Handle DebugInfoSelection in the code printing Yul and EVM assembly
|
2021-10-11 20:34:48 +02:00 |
|
Christian Parpart
|
3f08b2269a
|
Adds fmtlib as 3rdparty dependency for easier string composition.
|
2021-10-11 13:35:08 +02:00 |
|
Kamil Śliwak
|
a30348715b
|
Use boost::current_exception_diagnostic_information() to print extra info about exceptions caught by (...)
|
2021-10-07 17:41:25 +02:00 |
|
Marenz
|
4368da0201
|
Fix ICE when printing an error message related to mappings
|
2021-10-06 17:02:36 +02:00 |
|
Leo Alt
|
4c2b661eaa
|
[SMTChecker] Report values for block, msg and tx variables in counterexamples
|
2021-10-05 15:19:10 +02:00 |
|
chriseth
|
ecfcca1a27
|
Merge pull request #12016 from ethereum/external-fp-10358
Add ``.address`` and ``.selector`` in inside assembly for external function pointers
|
2021-10-05 14:48:58 +02:00 |
|
Marenz
|
98dd78362e
|
Add `.address and .selector ` in inside assembly for external function pointers
|
2021-10-04 18:05:57 +02:00 |
|
Kamil Śliwak
|
7f7107405f
|
Try out the new assertion macro variants with less arguments
|
2021-10-04 12:05:00 +02:00 |
|
Leo Alt
|
d81ebe97c3
|
Fix magic access
|
2021-10-01 12:57:06 +02:00 |
|
chriseth
|
df9721f869
|
Merge pull request #12047 from ethereum/fixFixedBytesCompilerUtils
Properly handle fixed-byte-like types.
|
2021-09-29 12:23:15 +02:00 |
|
chriseth
|
13354c0b9a
|
Merge pull request #12050 from ethereum/signedImmutablesBug
Fix signed immutables bug.
|
2021-09-29 11:46:58 +02:00 |
|
chriseth
|
77932edb02
|
Consider non-external functions not left-aligned.
|
2021-09-29 11:44:17 +02:00 |
|
chriseth
|
cb052611cf
|
Fix signextend for user defined value types.
|
2021-09-29 11:44:17 +02:00 |
|
chriseth
|
da5c5928fe
|
Properly handle fixed-byte-like types.
|
2021-09-29 11:41:47 +02:00 |
|
hrkrshnn
|
6109b5c3a1
|
UserDefinedValueType.storageBytes() is correctly set
Previously it returned 32 bytes for all types, which was wasteful. This commit changes it to return
the storage bytes of the underlying type.
|
2021-09-29 11:41:47 +02:00 |
|
chriseth
|
8f7ba99e30
|
Merge pull request #12045 from ethereum/arrayTestsForUDFT
Fix array copying check.
|
2021-09-29 10:39:34 +02:00 |
|
chriseth
|
90f4ca1048
|
Do not store immutables packed.
|
2021-09-29 10:12:05 +02:00 |
|
chriseth
|
bb4e3e191d
|
Fix array copying check.
|
2021-09-29 10:00:14 +02:00 |
|
chriseth
|
b6e62d61ec
|
Export canonicalName
|
2021-09-28 12:00:30 +02:00 |
|
Kamil Śliwak
|
f909555022
|
Treat ambiguous imports as errors
|
2021-09-27 13:14:23 +02:00 |
|
Kamil Śliwak
|
9975b5e26b
|
Detect source unit name collisions between paths specified on the command line
|
2021-09-27 13:14:23 +02:00 |
|
Kamil Śliwak
|
c8a7a1da7c
|
Add --include-path option
|
2021-09-27 13:14:23 +02:00 |
|
Kamil Śliwak
|
479ba7c523
|
Handle allowing empty paths correctly
|
2021-09-27 13:14:10 +02:00 |
|
Kamil Śliwak
|
3ac3612767
|
Whitelist base path
|
2021-09-27 13:14:10 +02:00 |
|
Kamil Śliwak
|
52dd39212d
|
Normalize allowed paths before comparing them with imports
|
2021-09-27 13:14:10 +02:00 |
|
Kamil Śliwak
|
a436abfb25
|
normalizeCLIPathForVFS(): Add an option for resolving symlinks
|
2021-09-27 13:14:10 +02:00 |
|
Kamil Śliwak
|
f0dceffe1d
|
Refactor parsing of remappings to remove duplication and improve readability
|
2021-09-27 13:14:10 +02:00 |
|
Kamil Śliwak
|
d06dc7613e
|
Print diagnostic info for more exception types in the default import callback
|
2021-09-27 13:14:10 +02:00 |
|
Alex Beregszaszi
|
3c8846e669
|
Merge pull request #11976 from ethereum/json-cleanup
Some cleanup and testing for JSON
|
2021-09-24 19:03:45 +01:00 |
|
chriseth
|
1531863835
|
Split Common.h into Numeric.h.
|
2021-09-23 15:27:29 +02:00 |
|
chriseth
|
c8e6ef9657
|
Merge pull request #12004 from ethereum/disambiguateBytesRequired
Disambiguate bytesRequired
|
2021-09-23 15:25:44 +02:00 |
|
chriseth
|
5a3a5c746f
|
Merge pull request #11864 from ethereum/protectViaIR
Add protection against mixing "viaIR" and "non-viaIR".
|
2021-09-22 16:16:11 +02:00 |
|
Harikrishnan Mulackal
|
55d609d354
|
Merge pull request #11990 from ethereum/smt_user_types
[SMTChecker] Support user types
|
2021-09-22 15:40:49 +02:00 |
|
chriseth
|
9f8406ad37
|
Add protection against mixing "viaIR" and "non-viaIR".
|
2021-09-22 15:34:39 +02:00 |
|
Kamil Śliwak
|
fc7e8c56dc
|
Fill out originLocation with nativeLocation when importing Yul AST
|
2021-09-22 13:17:18 +02:00 |
|
Kamil Śliwak
|
ce4420f857
|
Separate DebugData fields for Solidity and Yul source locations
|
2021-09-22 13:11:39 +02:00 |
|
chriseth
|
50ce1f5ddd
|
Disambiguate bytesRequired
|
2021-09-22 11:22:07 +02:00 |
|
chriseth
|
7637286074
|
Remove unused function.
|
2021-09-22 11:11:51 +02:00 |
|
chriseth
|
2741175507
|
Use function debug data.
|
2021-09-22 11:11:51 +02:00 |
|
Marenz
|
7a51acc5fe
|
Correct wrong error message referencing .slot and .offset when .length was used
|
2021-09-21 18:28:38 +02:00 |
|
Leo Alt
|
e74f853c6b
|
[SMTChecker] Support user types
|
2021-09-21 13:23:17 +02:00 |
|
Alex Beregszaszi
|
55c64e3ca1
|
Always explicitly initialise Json objects
|
2021-09-21 10:49:13 +01:00 |
|
Kamil Śliwak
|
fc8c4b046c
|
StandardCompiler: Do not discard non-fatal errors that happened before a fatal error
|
2021-09-16 20:29:03 +02:00 |
|
chriseth
|
3f8023ace9
|
Merge pull request #11981 from ethereum/simplifyVersion
Simplify version.cpp
|
2021-09-16 18:28:19 +02:00 |
|
chriseth
|
8b3748e5b7
|
Emit ast id.
|
2021-09-16 17:19:17 +02:00 |
|
chriseth
|
a72f4f3993
|
Print AST ID.
|
2021-09-16 17:19:17 +02:00 |
|
chriseth
|
c892d1904b
|
Simplify version.cpp
|
2021-09-16 16:03:27 +02:00 |
|
Leo Alt
|
a1bea368cb
|
[SMTChecker] Support constants via modules
|
2021-09-16 14:35:05 +02:00 |
|
chriseth
|
4284499180
|
Merge pull request #11888 from ethereum/spdx-license-handling-10145
Properly detect multiple licenses and validate them.
|
2021-09-16 14:18:17 +02:00 |
|
chriseth
|
ff0e433635
|
Merge pull request #11965 from ethereum/userdefined-changed-toString
User defined value types changed toString()
|
2021-09-16 13:58:55 +02:00 |
|
Marenz
|
c81814915c
|
Properly detect multiple licenses and validate them.
|
2021-09-16 11:18:26 +02:00 |
|
Alex Beregszaszi
|
c1070fabc0
|
Merge pull request #11906 from ethereum/smt_fix_bmc
[SMTChecker] Fix BMCs constraints on internal functions
|
2021-09-15 21:01:29 +01:00 |
|
hrkrshnn
|
48e16ceb88
|
Changing the UserDefinedValueType::toString to userdefined <name>
|
2021-09-15 17:25:23 +02:00 |
|
chriseth
|
34e516ea1b
|
Merge pull request #11963 from ethereum/slightABIDecodeImprovement
Improve abi decoding functions for arrays.
|
2021-09-15 15:42:13 +02:00 |
|
Leo Alt
|
b731957e65
|
Fix BMCs constraints on internal functions
|
2021-09-15 14:42:39 +02:00 |
|
Daniel Kirchner
|
d1c0b428fc
|
Improve abi decoding functions for arrays.
|
2021-09-15 13:50:19 +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 |
|
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
|
8188ea7d66
|
Merge pull request #11931 from ethereum/different-metadata-via-ir
Different metadata for IR
|
2021-09-14 15:48:08 +02:00 |
|
Leonardo
|
e45083f319
|
Merge pull request #11606 from ethereum/info_message
Add new info severity
|
2021-09-14 14:30:07 +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
|
14639efc5d
|
Print code snippets next to source locations in IR output
|
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 |
|
Leo Alt
|
e72fa7fc10
|
Add new info severity
|
2021-09-13 22:48:22 +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
|
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 |
|
Harikrishnan Mulackal
|
8a37f56e98
|
Merge pull request #11806 from ethereum/user-defined-types
User defined value types
|
2021-09-09 10:28:35 +02:00 |
|
hrkrshnn
|
d67391531e
|
Implemented ASTJson import export for UserDefinedValueType
Also added a test.
|
2021-09-08 21:19:30 +02:00 |
|
hrkrshnn
|
54484e9795
|
Implemented codegen for UserDefinedValueType
|
2021-09-08 19:56:48 +02:00 |
|
chriseth
|
0b5671c885
|
Clarify C++ evaluation order.
|
2021-09-08 12:25:56 +02:00 |
|
chriseth
|
c63b768fff
|
Sort yul functions by creation time.
|
2021-09-08 12:25:56 +02:00 |
|