Commit Graph

200 Commits

Author SHA1 Message Date
chriseth
922837b44c Forward unknown. 2022-03-20 20:19:20 +01:00
chriseth
3203b73c64 Some debug output. 2022-03-20 20:19:20 +01:00
chriseth
a1ed2c0f09 Update libsolutil/LP.cpp
Co-authored-by: Bhargava Shastry <bhargava.shastry@ethereum.org>
2022-03-20 20:19:20 +01:00
chriseth
f77f0ecae4 Update libsolutil/LP.h
Co-authored-by: Bhargava Shastry <bhargava.shastry@ethereum.org>
2022-03-20 20:19:20 +01:00
chriseth
1e1964362c Print reasons. 2022-03-20 20:19:20 +01:00
chriseth
337aea9483 Merge leftover. 2022-03-20 20:19:20 +01:00
chriseth
696515fe69 Add reasons. 2022-03-20 20:19:20 +01:00
chriseth
0a11aedc90 Extract problem splitter. 2022-03-20 20:19:20 +01:00
chriseth
88c63c3054 Apply suggestions from code review
Co-authored-by: Bhargava Shastry <bhargava.shastry@ethereum.org>
2022-03-20 20:19:20 +01:00
chriseth
0e54562de4 Fix fuzzer bug. 2022-03-20 20:19:19 +01:00
chriseth
83b96e6a75 qualify move 2022-03-20 20:19:19 +01:00
chriseth
6c2b686c0c Add header. 2022-03-20 20:19:19 +01:00
chriseth
0f705c8a82 Cache solution for the case where we are not interested in models. 2022-03-20 20:19:19 +01:00
chriseth
8835b95719 comment 2022-03-20 20:19:19 +01:00
chriseth
592b421f44 Extract problem splitter. 2022-03-20 20:19:19 +01:00
chriseth
db9028906a small optimization. 2022-03-20 20:19:19 +01:00
chriseth
5faebbff39 Extract simplification class. 2022-03-20 20:19:19 +01:00
chriseth
dec67df8d8 Refactor. 2022-03-20 20:19:19 +01:00
chriseth
6bff7a1e91 cleanup 2022-03-20 20:19:19 +01:00
chriseth
cf6cf5bba2 cleanup 2022-03-20 20:19:19 +01:00
chriseth
8600760f3d Cleanup 2022-03-20 20:19:19 +01:00
chriseth
f25cd708ea Cleanup 2022-03-20 20:19:19 +01:00
chriseth
b1fcf023f9 Cleanup 2022-03-20 20:19:19 +01:00
chriseth
00a277c0f5 Simplifications on LinearExpression. 2022-03-20 20:19:19 +01:00
chriseth
e6c67924b0 Fix compiler warning. 2022-03-20 20:19:18 +01:00
chriseth
7a250fea42 Use names for the bounds. 2022-03-20 20:19:18 +01:00
chriseth
751f50b6c3 LP Solver. 2022-03-20 20:19:18 +01:00
Tyler
047034544e Merge branch 'develop' of github.com:tfire/solidity into fix/remove-namespace-ast-annotations 2022-03-09 18:55:22 -05:00
Tyler
519e1c9402 Specify namespaces
Fix references into solidity::util
2022-03-08 00:09:17 -05:00
wechman
52dfccca98 Replace all locale-dependent operations with locale-agnostic counterparts 2022-03-07 17:23:08 +01:00
Daniel Kirchner
73470aed6a Fix util::valueOrDefault. 2022-01-31 19:33:09 +01:00
chriseth
9e9225eb60
Merge pull request #11800 from spiyer99/separate-control-flow-from-error-reporting-in-CommandLineParser
Separate control flow from error reporting in command line parser
2021-12-06 16:50:27 +01:00
chriseth
d9a4020a92 Function to read a number of bytes from an input stream. 2021-12-01 16:24:56 +01:00
chriseth
b6bd85202c Accessors for exceptions. 2021-12-01 14:26:23 +01:00
Kamil Śliwak
276d173e68 Document DEV_SIMPLE_EXCEPTION macro 2021-11-09 18:16:30 +01: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
76f31e2c4e Whiskers: Support conditional value parameters for lists 2021-10-12 17:07:08 +02:00
Kamil Śliwak
ee1455ce95 Define solThrow() macro to make throwing simple errors less verbose 2021-10-11 20:35:00 +02:00
TerranCivilian
020ecc2131 Preserve original newlines in solidity::util::readUntilEnd() 2021-10-05 20:24:24 +02:00
Kamil Śliwak
4fe6aa1328 Add default messages to assertion macros 2021-10-04 12:05:00 +02:00
Kamil Śliwak
1f087ce15c Define an assertThrow() variant that allows providing the default message 2021-10-04 12:05:00 +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
50ce1f5ddd Disambiguate bytesRequired 2021-09-22 11:22:07 +02:00
Alex Beregszaszi
b5e68df3cd Document JsonFormat 2021-09-21 10:49:13 +01:00
Daniel Kirchner
f881409ea4 Stack layout generator for new code generation. 2021-09-02 17:47:19 +02:00
Kamil Śliwak
cb1a0f08ca readFileAsString(): Accept path as boost::filesystem::path instead of string 2021-08-17 12:58:33 +02:00
chriseth
3622b30a1d Refactor RedundantAssignEliminator. 2021-08-13 14:25:14 +02:00
Christian Parpart
3755210b7b [libyul] ObjectParser: Enables the use of custom source mapping via @use-src. 2021-07-27 16:46:47 +02:00
Ladislav Sladecek
9bbeea58c8 Make --pretty-json work with Standard JSON output 2021-07-26 16:00:46 +02:00
Daniel Kirchner
f3707f2ab0 Control flow graph for Yul. 2021-07-15 15:24:12 +02:00
Kamil Śliwak
6753c8f624 Rename escapeAndQuoteYulString() back to escapeAndQuoteString() 2021-07-14 21:29:01 +02:00
Kamil Śliwak
a72857df03 CommonIO: Replace readStandardInput() with readUntilEnd() with a configurable stream 2021-07-02 14:58:30 +02:00
chriseth
13d1fc9f41
Merge pull request #11579 from ethereum/better-errors-about-bad-paths-in-tests-with-external-sources
Better errors about bad paths in tests with external sources
2021-06-30 11:56:47 +02:00
Kamil Śliwak
19fada966f Do not use \b, \v and \f escapes in string literals in generated Yul code 2021-06-28 14:13:47 +02:00
Kamil Śliwak
65e23ff171 CommonIO: Make readFile() check if the file is not a directory and if not fail with a sensible exception rather than std::length_error 2021-06-25 16:04:58 +02:00
TerranCivilian
c15501eea9 Remove unneeded include files 2021-06-07 12:53:18 -04:00
chriseth
d305c219d8 Fix namespace styles. 2021-05-27 17:41:04 +02:00
Alex Beregszaszi
bf2c82adca Document the panic function of library deployment 2021-05-26 15:51:46 +01:00
Alex Beregszaszi
6dae6583af Turn toCompactHexWithPrefix into a template and support unsigned types
This should help with boost::multiprecision versions where explicit unsigned/enum conversion to bigint do not exists (such as boost 1.76)
2021-05-15 23:33:29 +01:00
Alex Beregszaszi
ac192ff4c1 Drop the util::u160 type 2021-04-23 14:35:06 +01:00
Leonardo Alt
4e34359063 Basic support to free functions 2021-04-19 19:23:18 +02:00
Daniel Kirchner
afae46dcb5 Add ScopedSaveAndRestore helper. 2021-04-16 10:56:56 +02:00
hrkrshnn
22ebdc7438 Implemented FunctionSpecializer
Optimiser step that specializes the function with its literal arguments.
2021-03-29 11:02:18 +02:00
Daniel Kirchner
8f56c6ad5c Add missing header to Algorithms.h. 2021-03-15 13:50:24 +01:00
Bhargava Shastry
1ddfc7463a Tests: Do not remove filename from boost filesystem path for corner
cases.

Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2021-02-22 10:32:41 +01:00
Alexander Arlt
061fecbc90 [whiskers] Add check that template contain tags. 2021-01-20 15:26:34 -05:00
chriseth
c8a351d34f
Merge pull request #10467 from ethereum/dataFlowAnalyzerOptimization
Various optimizations for the DataFlowAnalyzer.
2021-01-14 11:21:22 +01:00
Daniel Kirchner
f34d7120a2 Add and use mapTuple helper. 2021-01-13 17:23:27 +01:00
Daniel Kirchner
b5bb802a93 Fix undefined behaviour on 32-bit platforms in swarm hash. 2021-01-13 15:52:58 +01:00
Daniel Kirchner
91cdb606a5 Some style review suggestions. 2021-01-13 12:43:38 +01:00
Daniel Kirchner
4505889481 Replace ranges::all_of wrapper by range-v3. 2021-01-12 21:44:42 +01:00
Daniel Kirchner
3ed55613ba Add and use cxx20::ranges::all_of. 2021-01-12 21:40:52 +01:00
Daniel Kirchner
7fe03cbab0 Implement cxx20 polyfill and replace InvertibleMap entirely. 2021-01-12 21:40:40 +01:00
Daniel Kirchner
625d402dbb Various optimizations for the DataFlowAnalyzer. 2021-01-12 21:39:20 +01:00
chriseth
e9dcd4f813
Merge pull request #10739 from ethereum/mapFetchValue
Add fetchValue utility for maps.
2021-01-12 20:33:40 +01:00
chriseth
24aded266e Dereference. 2021-01-12 14:28:27 +01:00
Daniel Kirchner
f5adaa8bbb Add valueOrNullptr and valueOrDefault utilities. 2021-01-12 13:13:03 +01:00
Daniel Kirchner
eac2bcf72f Add range-v3. 2021-01-11 18:44:55 +01:00
Leonardo Alt
5f39662235 Fix BFS visit 2021-01-11 13:18:59 +01:00
Leonardo Alt
ced79497f5 Fix BFS 2021-01-06 10:17:17 +01:00
chriseth
561280a5cc Merge remote-tracking branch 'origin/develop' into breaking 2020-12-14 11:33:40 +01:00
Alex Beregszaszi
b40b82535c Add comprehensive tests for FixedHash
Also explicitly disallow FixedHash<0>, given most functions were not working with it, and it is not very useful.
2020-12-11 12:20:37 +00:00
Alex Beregszaszi
03e805ab5a Reformat FixedHash.h for readability 2020-12-10 22:49:40 +00:00
Alex Beregszaszi
bd641a5206 Enable more C++ compiler warnings 2020-12-10 21:03:58 +00:00
chriseth
482bda6887 Merge remote-tracking branch 'origin/develop' into breaking 2020-12-10 12:15:52 +01:00
hrkrshnn
06d719e4f1 Move filter to CommonData.h 2020-12-09 11:13:27 +01:00
chriseth
806453aca9 Merge remote-tracking branch 'origin/develop' into breaking 2020-12-08 21:00:09 +01:00
Alex Beregszaszi
7e88ba8da0 Enable the -Wconversion warning 2020-12-08 16:45:24 +00:00
Christian Parpart
c5d172c058 Reimplement constant evaluator. 2020-12-04 15:14:25 +01:00
chriseth
49bde69afa Move computation of constants out of types.cpp 2020-12-04 15:14:25 +01:00
chriseth
d744a8fb48 Fail on invalid storage encoding for byte arrays. 2020-11-12 11:12:42 +01:00
chriseth
141277dadf Merge remote-tracking branch 'origin/develop' into breaking 2020-11-10 17:28:36 +01:00
Alex Beregszaszi
3c7f642227 Change readFile/readFileAsString to throw FileNotFound exception 2020-11-04 16:35:19 +00:00
chriseth
bfd267459c Panic codes. 2020-10-22 19:25:55 +02:00
chriseth
cb0d1134b7 Extract function to compute function selector from signature. 2020-10-12 17:57:34 +02:00
Alexander Arlt
b6e1415509 Add LEB128 encoding functions & tests. 2020-09-28 16:06:19 -05:00
Mathias Baumann
dd81d05559 Make annotations `SetOnce or optional` where feasible 2020-09-22 17:38:21 +02:00
Harikrishnan Mulackal
e2fd41f097 Implemented UnusedFunctionArgumentPruner 2020-09-03 13:15:38 +02:00
a3d4
8faa5243b5 Fix MSVC ADL 2020-09-01 00:42:42 +02:00