Commit Graph

112 Commits

Author SHA1 Message Date
Grant Wuerker
69b4ce36de Some move semantics improvements. 2019-04-17 14:19:48 +02:00
chriseth
30da62aa2c
Merge pull request #6408 from ethereum/includeCleanup
Include cleanup
2019-03-28 15:31:07 +01:00
chriseth
f2cee9ec0c Include cleanup. 2019-03-28 14:32:48 +01:00
chriseth
2308904f68 Remove "using namespace" from header and move Instruction to dev::eth. 2019-03-28 13:48:11 +01:00
chriseth
851dd635eb Remove defaults in constructor arguments. 2019-03-04 11:41:52 +01:00
chriseth
35f0654f1c Fix usage of EVMVersion in LLL. 2019-02-25 17:27:10 +01:00
Daniel Kirchner
809b9a95f9 Even more style checks. 2019-02-14 11:53:00 +01:00
chriseth
1a823f0bf8 Fix tabs/spaces. 2019-02-13 17:05:48 +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
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
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
Christian Parpart
87821c53c3 Isolating files shared between Yul- and Solidity language frontend. 2018-11-21 18:58:12 +00:00
Alex Beregszaszi
7c051f1e32 LLL: implement WITH keyword 2018-11-21 15:50:45 +00:00
Alex Beregszaszi
dcfa5f4ea0 LLL: add UNSET to remove a variable 2018-11-21 15:37:11 +00:00
Alex Beregszaszi
e82917d4e6 Add LLL error when assembly instruction causes stack underflow 2018-11-13 13:47:29 +01:00
Alex Beregszaszi
c320a650f9 LLL: terminate sequences with a STOP 2018-11-13 13:47:29 +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
liangdzou
24e5dcc352 fix code format problems 2018-09-19 00:18:49 +08: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
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
Alex Beregszaszi
7c509137cf Replace dev::eth namespace with dev::lll in LLL 2018-07-28 12:00:36 +01:00
chriseth
6ec4517929 Use EVM version in gas meter and optimizer. 2018-03-05 11:36:33 +01:00
Alex Beregszaszi
15517b571d lll: disallow useless PUSHn in assembly 2017-10-13 02:04:36 +01:00
Alex Beregszaszi
ab206b8113 LLL: do not crash if import callback is null 2017-10-03 10:22:30 +01:00
Alex Beregszaszi
26f3ea8cf7 LLL: change (include) to use a callback 2017-10-02 21:19:36 +01:00
Alex Beregszaszi
cbd4465a7f lll: do not expose push/dup/swap/jumpdest as functions 2017-10-02 16:21:21 +01:00
Alex Beregszaszi
6cbb726fb8 Merge pull request #2622 from benjaminion/lll-switch
LLL: Implement a "switch" expression
2017-10-02 13:38:21 +01:00
benjaminion
326c7887a4 LLL: Implement a switch expression. 2017-10-02 12:01:15 +01:00
Alex Beregszaszi
cddfec27ee lll: better error reporting in some cases 2017-10-02 11:48:26 +01:00
Alex Beregszaszi
bbfb16cf5c Introduce assemblyString 2017-09-11 15:53:20 +01:00
Alex Beregszaszi
a535a8b06e Split out the JSON functionality from assembly.stream() 2017-09-11 15:48:52 +01: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
Alex Beregszaszi
9897c56b2c Mark a lot of functions static (where possible) 2017-08-22 10:51:46 +01:00
Alex Beregszaszi
e2cfc9ee92 Mark a lot of functions const (where possible) 2017-08-22 10:51:46 +01:00
Paweł Bylica
99d198ffb0
CMake: Make libs dependencies explicit 2017-08-21 12:27:06 +02:00
Paweł Bylica
7337054d8e
CMake: Simplify liblll config 2017-08-18 13:32:35 +02:00
Paweł Bylica
d1f4d110fb
CMake: Build static libs by default 2017-08-18 13:32:35 +02:00
Alex Beregszaszi
d70974ea7c Merge pull request #2573 from benjaminion/lll-error-report-symbol
LLL: Improve error reporting in certain cases.
2017-07-20 11:02:31 +01:00
Yoichi Hirai
3ad326beba Merge pull request #2592 from ethereum/lll-simplify
LLL: remove useless code
2017-07-19 11:47:21 +02:00
Alex Beregszaszi
fa2781d6da LLL: remove useless code 2017-07-18 21:12:43 +01:00
Alex Beregszaszi
c880550fbc LLL: disable optimiser entirely if requested 2017-07-18 21:09:05 +01:00
benjaminion
4c0953385e LLL: Improve error reporting in certain cases. 2017-07-15 22:17:20 +01:00
benjaminion
3bc935d932 LLL: rewrite alloc to avoid issues with edge cases. 2017-07-11 21:22:38 +01:00
Alex Beregszaszi
dbbdcc66e6 LLL: fix redefinitions on some compilers 2017-06-24 12:59:30 +01:00
Alex Beregszaszi
b46bb70b96 LLL: remove obsolete header 2017-06-23 02:52:44 +01:00
Alex Beregszaszi
af57c083f2 LLL: fix the set keyword (create symbol if not present) 2017-06-23 02:52:44 +01:00
Alex Beregszaszi
1ffe286a81 LLL: report correct name if a symbol was not found 2017-06-22 23:00:22 +01:00