solidity/test/libsolidity
Martin Blicha b0419da654 [SMTChecker] Remember verification targets from trusted external calls
Previously, we did not remember trusted external calls for later phase
when we compute possible verification targets for each function.
This led to false negative in cases where verification target can be
violated, but not by calling a public function directly, but only when
it is called as an external function from other function.

The added test cases witnesses this behaviour. The underflow in
`dec` cannot happen in any other way except what the `dec` is called
from `f`.

The same problem did not occur when the functions are called internally,
because for such cases, we have already been remembering these calls in
the callgraph in the CHC engine.
2023-05-26 13:03:44 +02:00
..
ABIJson Export all events. 2023-05-03 14:08:27 -03:00
analysis User-defined operators: Tests 2023-02-22 00:40:03 +01:00
ASTJSON Restrict experimental solidity to constantinople and above 2023-05-17 17:03:43 +02:00
errorRecoveryTests Remove EWASM backend. 2023-05-11 10:56:55 -05:00
gasTests Change default EVM version to Shanghai. 2023-05-08 16:34:23 +02:00
interface Allow running Eldarica from the command line 2022-11-22 21:16:45 +01:00
lsp Remove EWASM backend. 2023-05-11 10:56:55 -05:00
memoryGuardTests Tests. 2022-03-02 17:07:11 +01:00
semanticTests Remove EWASM backend. 2023-05-11 10:56:55 -05:00
smtCheckerTests [SMTChecker] Remember verification targets from trusted external calls 2023-05-26 13:03:44 +02:00
syntaxTests Restrict experimental solidity to constantinople and above 2023-05-17 17:03:43 +02:00
util fix emit statments being printed on the same line 2022-10-25 19:22:07 +02:00
ABIDecoderTests.cpp
ABIEncoderTests.cpp Improve FunctionSelector helpers 2022-09-27 17:58:32 +02:00
ABIJsonTest.cpp
ABIJsonTest.h
ABITestsCommon.h
AnalysisFramework.cpp Improve FunctionSelector helpers 2022-09-27 17:58:32 +02:00
AnalysisFramework.h docs: fix typos 2022-12-25 22:39:50 +01:00
Assembly.cpp Add new info severity 2021-09-13 22:48:22 +02:00
ASTJSONTest.cpp Make ASTJSONTest an EVMVersionRestrictedTestCase 2023-05-17 18:10:16 +02:00
ASTJSONTest.h Make ASTJSONTest an EVMVersionRestrictedTestCase 2023-05-17 18:10:16 +02:00
ErrorCheck.cpp Cleaning up helpers around errors 2022-09-19 10:51:14 +05:30
ErrorCheck.h
GasCosts.cpp Change default EVM version to Shanghai. 2023-05-08 16:34:23 +02:00
GasMeter.cpp Improve FunctionSelector helpers 2022-09-27 17:58:32 +02:00
GasTest.cpp Add std:: qualifier to move() calls 2022-08-30 11:12:15 +02:00
GasTest.h
Imports.cpp
InlineAssembly.cpp Add experimental EOF options for CLI and Standard JSON. 2022-11-23 19:53:44 +01:00
LibSolc.cpp
MemoryGuardTest.cpp Tests. 2022-03-02 16:42:28 +01:00
MemoryGuardTest.h Tests. 2022-03-02 16:42:28 +01:00
Metadata.cpp Add experimental EOF options for CLI and Standard JSON. 2022-11-23 19:53:44 +01:00
SemanticTest.cpp Remove EWASM backend. 2023-05-11 10:56:55 -05:00
SemanticTest.h Remove EWASM backend. 2023-05-11 10:56:55 -05:00
SemVerMatcher.cpp Fix another instance of the spurious unreachable warning, this time in SemVerMatcher 2022-11-29 23:26:22 +01:00
SMTCheckerTest.cpp group unsupported warnings 2023-03-15 17:06:06 +01:00
SMTCheckerTest.h Add SMTCheckerTest isoltest option to ignore invariants 2021-10-26 11:30:30 +02:00
SolidityCompiler.cpp test: some tests for push0 2023-04-12 00:10:24 +02:00
SolidityEndToEndTest.cpp Remove EWASM backend. 2023-05-11 10:56:55 -05:00
SolidityExecutionFramework.cpp Remove EWASM backend. 2023-05-11 10:56:55 -05:00
SolidityExecutionFramework.h Remove EWASM backend. 2023-05-11 10:56:55 -05:00
SolidityExpressionCompiler.cpp test: some tests for push0 2023-04-12 00:10:24 +02:00
SolidityNameAndTypeResolution.cpp
SolidityNatspecJSON.cpp Export all events. 2023-05-03 14:08:27 -03:00
SolidityOptimizer.cpp Adds support for the EVM version "Paris". 2023-01-23 18:50:36 +00:00
SolidityParser.cpp Add new info severity 2021-09-13 22:48:22 +02:00
SolidityTypes.cpp Introduce solidity-next pragma 2023-05-15 19:25:13 +02:00
StandardCompiler.cpp Add experimental support to import AST via Standard JSON. 2023-05-09 14:07:38 -05:00
SyntaxTest.cpp Cleaning up helpers around errors 2022-09-19 10:51:14 +05:30
SyntaxTest.h
ViewPureChecker.cpp