Commit Graph

23407 Commits

Author SHA1 Message Date
Rodrigo Q. Saramago
ba722b66cb
Make bash the default shell on windows 2023-04-25 15:51:51 +02:00
Leo
4a8d6618f5
Merge pull request #13974 from blishko/chc-path-condition
[SMTChecker] Use path condition in CHC engine
2023-04-24 16:24:53 +02:00
Kamil Śliwak
b95b96db4e
Merge pull request #14152 from ethereum/fix-matrix-bot
Add default value for CIRCLE_TAG
2023-04-24 11:39:51 +02:00
Daniel
cd5ae26e34
Merge pull request #14143 from ethereum/remove-type-categoryname
Remove the inaccurate `Type::categoryName()`
2023-04-23 22:05:35 +02:00
Daniel
d0043d6753
Merge pull request #14151 from ethereum/evmc-update
Upgrade to evmc 10.1.0
2023-04-23 21:47:29 +02:00
Alex Beregszaszi
ee92491aae Upgrade to evmc 10.1.0 2023-04-23 15:51:06 +02:00
Rodrigo Q. Saramago
1fb9a414c9
Add default value for CIRCLE_TAG 2023-04-23 14:23:46 +02:00
Kamil Śliwak
b75bddbd11
Merge pull request #14145 from ethereum/small-refactors-extracted-from-asm-import
Trivial refactors extracted from the JSON assembly import PR
2023-04-21 19:53:31 +02:00
Martin Blicha
12bca24774 [SMTChecker] Use path condition when creating CHC targets
Without path condition, verification targets created inside ternary
operator ignore the condition of the operator inside the branches.
This led to false positives.

Further updates:

- Function calls should consider the conditions under which they are
called, otherwise the analysis may report false positives.
The fix proposed here is to add the current path condition to the edge
that propagates error from a function call.

- Increment error index after function call

This is necessary for the analysis of the ternary operator to work
correctly. No information should leak from a function call inside a
ternary operator in the first branch to the second branch, including
whether or not an error would have occured in the first branch.

However, for the execution that continues after the function call,
we still need to ensure that under the current path condition
the error has not occurred in that function call.

It would be better to isolate the analysis of the branches to separate
clauses, but I do not see an easy way for that now. In this way, even
though the function call in first branch is included in the clause of
the second branch, no information leaks.

- Additonal test for ternary operator

This tests the behaviour of SMTChecker on ternary operator with function
calls inside both branches. Specifically, it tests that SMTChecker
successfully detects a violation of a verification target in the second
branch when the same target is present also in the first branch, but
there it cannot be triggered because of the operator's condition.
2023-04-21 18:56:34 +02:00
Alexander Arlt
24d43dd1e6
Merge pull request #14115 from ethereum/clang-format-remove-prohibited-property
[.clang-format ] Update prohibited property 'AlignEscapedNewlinesLeft'.
2023-04-21 11:45:19 -05:00
Kamil Śliwak
c694a004be
Merge pull request #13982 from ethereum/cleanup-base-images
Cleanup base images and CI config
2023-04-21 18:09:30 +02:00
Alexander Arlt
35a78f77bc Add solRequire() 2023-04-20 20:01:45 +02:00
Kamil Śliwak
f5b2044ed1 Remove unused CompilerStack::m_sourceJsons 2023-04-20 20:01:45 +02:00
Alexander Arlt
611e02c038 Rename assemble() to assembleYul() in CompilerStack and CommandLineInterface 2023-04-20 20:01:45 +02:00
Kamil Śliwak
ded9ef17e8 Misc small refactors: Use ranges::views::keys and fmt::format() 2023-04-20 20:01:45 +02:00
Alexander Arlt
2f78e9549a Misc small refactors: Superfluous std::, trailing commas in lists, whitespace, missing breaks, import order 2023-04-20 19:53:48 +02:00
Kamil Śliwak
a297a68726
Merge pull request #14090 from ethereum/fix-matrix-bot
Fix text formatting of CI matrix notifications
2023-04-20 14:49:40 +02:00
Kamil Śliwak
34da6c8811 Remove the inaccurate Type::categoryName() and change the error message for invalid calls to one independent of the category 2023-04-20 13:50:22 +02:00
Rodrigo Q. Saramago
61beb321b6
Bump ubuntu 2004 and 2204 images 2023-04-19 15:49:09 +02:00
Rodrigo Q. Saramago
58555db423
Fix text formatting of CI matrix notifications
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2023-04-19 01:09:08 +02:00
Rodrigo Q. Saramago
f53c0375de
Fix ci parameters style 2023-04-19 00:57:00 +02:00
Rodrigo Q. Saramago
a968f1a18c
Fix default image 2023-04-19 00:53:28 +02:00
Rodrigo Q. Saramago
589688b236
Add image parameter to external tests 2023-04-19 00:26:04 +02:00
Rodrigo Q. Saramago
e95cfa84bc
Add space between jobs definitions 2023-04-19 00:18:15 +02:00
Rodrigo Q. Saramago
3b2bb4ba50
Rename t_ems_ext to t_ext since the job also supports native builds 2023-04-19 00:18:15 +02:00
Rodrigo Q. Saramago
ce27eecb93
Add requires_nothing 2023-04-19 00:18:15 +02:00
Rodrigo Q. Saramago
67078afe4b
Add on_develop filter 2023-04-19 00:18:15 +02:00
Rodrigo Q. Saramago
a9949f1cd1
Rename workflow_osx -> requires_osx 2023-04-19 00:18:15 +02:00
Rodrigo Q. Saramago
6cde589a03
Rename workflow_win -> requires_win 2023-04-19 00:18:15 +02:00
Rodrigo Q. Saramago
e464a49b0b
Rename workflow_archlinux -> requires_b_archlinux 2023-04-19 00:18:14 +02:00
Rodrigo Q. Saramago
8ea890de53
Minor fix 2023-04-19 00:18:14 +02:00
Rodrigo Q. Saramago
4cf3661c3e
Rename workflow_emscripten -> requires_emscripten 2023-04-19 00:18:14 +02:00
Rodrigo Q. Saramago
a13c3f0d07
Rename workflow_ubuntu2204 -> requires_b_ubu 2023-04-19 00:18:14 +02:00
Rodrigo Q. Saramago
d8937d8a76
Rename workflow_ubuntu2004_static -> requires_b_ubu_static 2023-04-19 00:18:14 +02:00
Rodrigo Q. Saramago
b99684d3f2
Rename workflow_trigger_on_releases -> on_version_tags 2023-04-19 00:18:14 +02:00
Rodrigo Q. Saramago
9b7eb4683b
Rename workflow_trigger_on_tags -> on_all_tags_and_branches 2023-04-19 00:18:14 +02:00
Rodrigo Q. Saramago
524db30f12
Update ubuntu ossfuzz references 2023-04-19 00:18:11 +02:00
Rodrigo Q. Saramago
f78591c356
Reorganize base images alphabetically and add small and xlarge image for ubuntu2004 2023-04-19 00:12:04 +02:00
Rodrigo Q. Saramago
1e00672fbc
Rename ubuntu ossfuzz dockerfile 2023-04-19 00:12:04 +02:00
Rodrigo Q. Saramago
927946c4f5
Move ubuntu 22.04 dependencies to docker image 2023-04-19 00:12:04 +02:00
Rodrigo Q. Saramago
f4ab85da3e
Remove HERA from base image 2023-04-19 00:12:04 +02:00
Rodrigo Q. Saramago
1fbc17ba05
Remove unused artifacts step 2023-04-19 00:12:04 +02:00
Rodrigo Q. Saramago
2810119891
Remove unused workflow_ubuntu1604_clang 2023-04-19 00:12:04 +02:00
Daniel
a77d4e281f
Merge pull request #14139 from ethereum/make-plus-binary-only
Make plus binary only (second attempt)
2023-04-18 21:20:31 +02:00
Daniel
29baf3b2ba
Merge pull request #14135 from ethereum/fix_null_deref_using_for
Fix null dereference in using for directive when operator name is empty
2023-04-18 20:31:55 +02:00
Matheus Aguiar
64f57ac3c7 Fix null dereference in using for directive when operator name is empty 2023-04-18 14:23:58 -03:00
Kamil Śliwak
b85a95f52d Refactor TokenTraits::isUnaryOp() not to treat + as a unary operator 2023-04-18 16:49:31 +02:00
Kamil Śliwak
8a14680851 Disallow unary plus at the parsing stage 2023-04-18 16:47:00 +02:00
Kamil Śliwak
ee1b50d345
Merge pull request #14123 from ethereum/docs-and-index-tweaks-for-literals
Literal-related documentation and index tweaks
2023-04-18 16:31:14 +02:00
Nikola Matić
8194acb3b7
Merge pull request #14119 from veniger/natspec-struct
Adds NatSpec to AST for struct definitions.
2023-04-18 16:05:20 +02:00