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