Commit Graph

214 Commits

Author SHA1 Message Date
Erik Kundt
b9a7a88346 Improves Result<T> in order to prevent defects. 2019-03-14 14:33:28 +01:00
Erik Kundt
6ac5c52528 Implements merging of Result<T>. 2019-03-14 14:33:28 +01:00
Alex Beregszaszi
a7c2dba681 Document the boost multiprecision shift bug in RuleList 2019-03-04 13:37:20 +01:00
Mathias Baumann
37e78d5011 Remove unused and unimplemented declaration escaped() 2019-02-18 15:31:16 +01:00
Daniel Kirchner
809b9a95f9 Even more style checks. 2019-02-14 11:53:00 +01:00
Daniel Kirchner
8ca6715e18 More style checks. 2019-02-14 11:41:20 +01:00
chriseth
1a823f0bf8 Fix tabs/spaces. 2019-02-13 17:05:48 +01:00
chriseth
17ea467e5b Fix style of "const". 2019-02-13 16:34:53 +01:00
Christian Parpart
ef6a76ce67 libdevcore: Introduces a generalized AnsiColorized, an improved FormattedScope
a future commit/PR could replace existing code to use AnsiColorized and
remove the old implementation of FormattedScope.
2019-02-07 12:55:14 +01:00
Bhargava Shastry
24b1de7df0 This PR refactors and shares oss-fuzz specific test harness code with the afl fuzzer harness. ChangeLog updated. 2019-01-23 11:06:25 +01:00
Alex Beregszaszi
b1d43a868c Add error condition if compiling with Boost <1.65 2019-01-18 18:13:59 +00:00
Alex Beregszaszi
6a32f7e444 Remove boost_multiprecision_number_compare_bug_workaround for Boost <=1.58 2019-01-18 18:09:26 +00:00
Alex Beregszaszi
8c97fb1688 Remove boost::filesystem::weakly_canonical workaround 2019-01-18 17:59:32 +00:00
Daniel Kirchner
6de2d92f20 Add SSAReverser to the yul optimiser. 2019-01-17 20:37:43 +01:00
Daniel Kirchner
81f24f24e6 Add equivalent function combiner as Yul optimizer step. 2019-01-15 17:21:03 +01:00
Daniel Kirchner
0dfd4a726e Warn about unreachable code. 2019-01-10 10:36:50 +01:00
Christian Parpart
62fe57479e
make use of C++ = default constructor declarations as well as more non-static member initialization syntax. 2018-12-19 11:26:42 +01:00
chriseth
e970590675
Merge pull request #5664 from ethereum/cmakeUpdates
Use imported CMake targets.
2018-12-18 17:45:23 +01:00
Daniel Kirchner
2f698b6efe Use imported CMake targets. 2018-12-17 15:15:11 +01:00
Daniel Kirchner
2353f73c39 Add headers to targets in CMakeLists.txt. 2018-12-17 15:01:02 +01:00
Mathias Baumann
2f6dc2e773 Replace push_back with emplace_back where it makes sense 2018-12-10 19:02:39 +01:00
chriseth
936c67415a Simplify hex prefix. 2018-12-05 22:51:49 +01:00
chriseth
bc6ddbdd09 Remove w parameter for toHex. 2018-12-05 22:51:49 +01:00
chriseth
e8455c2a6d Move toHex implementation to cpp file. 2018-12-05 22:37:05 +01:00
chriseth
3a378eae1a Restrict toHex to bytes. 2018-12-05 22:37:05 +01:00
Kevin Kelley
fb6fd1b3c2 add a 'readable' format for large hex values 2018-12-05 22:15:02 +01:00
Erik Kundt
c38fb53439 Cleans up Result<T> and adds additional documentation. 2018-12-05 10:33:34 +01:00
Erik Kundt
e3accc6aa6 Simplifies Result<T> and prevents undefined behaviour. 2018-12-05 10:33:34 +01:00
Erik Kundt
05e74d096e Introduces Result<T> for operator and implicit conversion type checks. 2018-12-05 10:33:34 +01:00
Christian Parpart
cdd8c72c9d CMake: Explicitly state which files to compile instead of relying on globbing.
Also remove header file lists, as there is no need to add them to
add_library() or add_executable(), which should lower maintenance of the cmake files.
2018-11-26 14:39:24 +01:00
Leonardo Alt
0ff4cbe51b Add SMTChecker tests for standard JSON 2018-11-23 10:51:06 +00:00
chriseth
6bbedab383
Merge pull request #5265 from ethereum/cleanupsha3
Simplify sha3.
2018-11-09 15:39:57 +01:00
Christian Parpart
ab0de38f16
Eliminate byte-typedef and use uint8_t in all their places instead.
This change is made to (easily) be forward compatible with future C++
standards, in order to allow compiling the code with newer standards at
some point in the future.

* Removed the `using byte = uint8_t;` line from Common.h
* Mechanically change all uses of `byte` to `uint8_t`.

Tested with GCC 7.3 in C++11/14/17 modes :-)
2018-11-07 12:17:57 +01:00
chriseth
19be6cd818 Some well-formedness checks for the Yul AST. 2018-10-22 15:52:26 +02:00
chriseth
e78b95d9d4 Renamed SHA3.{h,cpp} files. 2018-10-18 14:31:36 +02:00
chriseth
d9e6469811 Simplify sha3. 2018-10-18 14:31:32 +02:00
chriseth
0690aae09d Remove mostly unused writeFile implementation. 2018-10-18 12:50:06 +02:00
Christian Parpart
04612936c2
Yul: Introduces a block flattening pass + tests 2018-10-15 18:21:34 +02:00
chriseth
914668c622 Fix checksum check. 2018-10-12 15:15:02 +02:00
chriseth
56bbfce6d3 Fix directory creation. 2018-10-12 15:15:01 +02:00
chriseth
b5399a7aa0
Merge pull request #5132 from ethereum/genericVisitor
Generic visitor.
2018-10-10 16:01:20 +02:00
chriseth
06200b4b64
Merge pull request #5180 from ethereum/cpp-cleanup
Some C++ cleanup
2018-10-10 11:43:42 +02:00
Alex Beregszaszi
6c3d12d85b Do not require ctype/stdio if not needed 2018-10-09 19:06:22 +01:00
chriseth
4d9184ef04 Expression breaker. 2018-10-09 15:48:27 +02:00
chriseth
3f216bac5e Generic visitor. 2018-10-09 14:27:21 +02:00
liangdzou
6f7ff2dcd4 fix format issue for source files 2018-09-20 17:41:59 +08:00
Daniel Kirchner
a102f3b783 Remove trailing whitespace for all files in the repository. 2018-09-04 11:30:30 +02:00
bakaoh
3fa8829845 Fixes #4718: High CPU usage when using large variable names 2018-08-15 10:23:08 +02:00
chriseth
14e116c1d5 Make joinHumanReadable work for input iterators. 2018-08-14 18:53:06 +02:00
chriseth
7d9692c31d Explicitly use std::next to avoid boost version. 2018-08-09 01:12:55 +02:00
Alex Beregszaszi
9062704054
Merge pull request #4753 from mattaereal/boost-to-string-patch
Replace boost:lexical_cast<std::string> for std::to_string.
2018-08-08 16:07:25 +01:00
Matías Aereal Aeón
e902ce1aa0 Removing std:: from std::to_string and include for boost/lexical_cast 2018-08-08 11:26:30 -03:00
Matías Aereal Aeón
7dae58cbcc Replace boost:lexical_cast<std::string> for std::to_string. 2018-08-08 03:55:43 -03:00
Alex Beregszaszi
3de0b8b7f0 Move absolutePath/sanitizePath helpers from CompilerStack to libdevcore 2018-08-06 12:54:22 +01:00
Augusto F. Hack
6c3b48ddfc Added guards for unknown pragmas
Removed push/pop if there was no change to the warnings *in the same
file* for a given compiler. This assumes the imported boost headers use
a warning stack themselves.

The pragmas don't seem to be required anymore, but were not removed to
mantain compatibility with older versions of the boost library.

Compiled with
- clang version 6.0.1 (tags/RELEASE_601/final)
- gcc (GCC) 8.1.1 20180531
 against:
- libboost 1.67.0-5
2018-08-05 19:21:33 -03:00
Evgeniy Filatov
3705bcc9bc added helper function that joins vectors of strings, refactored suggestions formattingi function to use it 2018-08-03 14:07:03 +03:00
Christian Parpart
38f9667e09 Guard CycleDetector against recursion exhaustion.
fixes #3935.
2018-08-01 12:02:59 +01:00
Alexander Arlt
0b49fd3493 CMake: Update jsoncpp to v1.8.4 2018-04-23 11:10:39 +01:00
Alex Beregszaszi
0bf3db3fcf Add static_assert for the correct jsoncpp version 2018-04-17 11:03:19 +01:00
Paweł Bylica
1ca8aebf8e
CMake: Clean up devcore dependencies 2018-04-16 12:16:04 +02:00
Daniel Kirchner
c15cb6cc7a Prevent information about file existence outside the allowed paths to leak by mimicing boost::filesystem::weakly_canonical. 2018-04-11 18:52:22 +02:00
chriseth
eb5b18e814 Generalize cycle detection. 2018-04-03 16:29:18 +02:00
Daniel Kirchner
7fa892eca9 Add interactive test tool isoltest. 2018-03-15 16:23:49 +01:00
Alexander Arlt
0f29ac4e56 Add new JSON API for better abstraction and for supporting strict JSON parsing 2018-02-20 21:58:26 +01:00
chriseth
5747985e6a Use one-dimensional vector. 2018-02-13 15:04:10 +00:00
chriseth
12c3eb8880 Suggestion to improve readability. 2018-02-13 15:04:10 +00:00
chriseth
dc0a25f1cd Minor changes. 2018-02-13 15:04:03 +00:00
Balajiganapathi S
8a491c77ba Restructure code for alternative identifier suggestions 2018-02-13 15:00:15 +00:00
Balajiganapathi S
b1417b318f Move string distance function to utils and format error message 2018-02-13 14:59:33 +00:00
chriseth
d84c9e148b Generic pretty-printed numbers.. 2018-02-09 19:00:40 +01:00
chriseth
3760284e1c Move-append for vector. 2017-12-11 14:24:04 +01:00
Alex Beregszaszi
6ebc094474 Ensure that non-hex characters are caught in address checksumming 2017-11-17 00:46:45 +00:00
wadeAlexC
8a6692b2cf Improves address literal checksum error message 2017-11-17 00:46:44 +00:00
Alex Beregszaszi
6f2865228c Add readStandardInput helper 2017-10-18 12:56:11 +01:00
Alex Beregszaszi
7186e142b8 Rename contentsString to readFileAsString 2017-10-18 12:55:12 +01:00
Paweł Bylica
931c0bcce3 Refactor Exception::what() 2017-10-02 16:49:45 +02:00
Alex Beregszaszi
71aca8c86d Always return a valid pointer in Exception::what() 2017-10-02 11:41:47 +01:00
chriseth
f28d40ef0b Provide template for whiskers error. 2017-09-22 15:19:50 +02:00
Alex Beregszaszi
6cec0789b5 Limit of scope of variables in SHA3 2017-09-20 01:23:21 +01:00
Alex Beregszaszi
aad829948a Ensure parameter names match between headers and implementation 2017-09-20 01:23:21 +01:00
chriseth
cd22da1d9e Remove escape function. 2017-08-29 15:50:28 +01:00
Alex Beregszaszi
7fb4a64136 Move all file specific globals to anonymous namespace 2017-08-29 11:09:18 +01:00
chriseth
6951a371ec Cleanup of vector_ref.h 2017-08-25 19:36:48 +02:00
chriseth
82e4f6f604 Cleanup of FixedHash.h 2017-08-25 16:05:28 +02:00
chriseth
4b0e30d259 Cleanup of Common.h 2017-08-25 14:54:23 +02:00
chriseth
1437521df0 Merge pull request #2807 from ethereum/removeABIh
Cleanup: Remove ABI.h
2017-08-25 14:53:30 +02:00
chriseth
157b5f1ae9 Cleanup of SHA3.h 2017-08-25 12:13:26 +02:00
chriseth
bfc7d71f51 Cleanup: Remove ABI.h 2017-08-25 11:57:33 +02:00
Alex Beregszaszi
957f23a9f4 Merge pull request #2538 from ethereum/z3Conditions
z3 conditions
2017-08-24 00:27:09 +01:00
Paweł Bylica
ee09a06647
CMake: Add back compatibility with CMake 3.0 2017-08-23 17:54:53 +02:00
chriseth
5bfd5d98c1 Format numbers more nicely. 2017-08-23 17:37:35 +02:00
Alex Beregszaszi
3b07c4d38e Merge pull request #2757 from ethereum/cmake
Static linking
2017-08-23 12:36:24 +01:00
Paweł Bylica
388fc983fa
CMake: Cleanup "local" include path 2017-08-22 22:50:25 +02:00
Paweł Bylica
15fd43f035
CMake: Fix linking with pthread 2017-08-22 16:45:57 +02:00
Alex Beregszaszi
f38429fef8 Switch stream properties back after temporary modification 2017-08-22 13:55:01 +01:00
Alex Beregszaszi
2a5772cff7 Mark appropriate constructors explicit 2017-08-22 10:51:46 +01:00
Alex Beregszaszi
3cf2426e1a Make vector+vector template more readable 2017-08-22 10:51:46 +01:00
Alex Beregszaszi
b3986f1d07 Remove some unused includes 2017-08-21 14:08:58 +01:00
Paweł Bylica
0712e6302e
Boost: Use static libs 2017-08-18 13:32:36 +02:00
Paweł Bylica
2a1b6b2e92
CMake: Simplify libdevcore config 2017-08-17 13:48:34 +02:00