Commit Graph
4756 Commits
Author SHA1 Message Date
chriseth 2cc304fd3f Fix for style. 2018-11-12 09:15:22 +01:00
chriseth af65bac737 Remove trailing whitespace. 2018-11-12 09:15:22 +01:00
Kristofer Peterson f927da9182 Refactor of bool TypeChecker::visit(FunctionCall const& _functionCall).
Visit method now cleanly determines if node represents a function call,
struct construction or type conversion. Type checking, validation and
error message logic is moved to separate methods.
2018-11-09 16:35:54 +00:00
chriseth 0f2ba3522f Reset yul string repository. 2018-11-09 15:40:36 +01:00
chriseth 6bbedab383 Merge pull request #5265 from ethereum/cleanupsha3
Simplify sha3.
2018-11-09 15:39:57 +01:00
chriseth b801e61611 Merge pull request #5365 from ethereum/improveNameDispenser
[Yul] Use single counter for name dispenser for performance reasons.
2018-11-08 12:24:21 +01:00
Daniel Kirchner fce1c3a9e7 Merge pull request #5370 from ethereum/fixWindows
Fix windows build.
2018-11-08 12:06:32 +01:00
chriseth 1f4ecff446 Fix windows build. 2018-11-08 11:30:58 +01:00
chriseth 84e8a782d6 Merge pull request #5351 from ethereum/functionTypeConversion
Relax type equality requirement of function types during conversion in code generation.
2018-11-08 11:29:55 +01:00
chriseth cc2de07bc6 Merge pull request #5348 from ethereum/boostRationalNegativeDenominatorFix
Fix negative denominator in ``boost::rational`` during exponentiation.
2018-11-08 11:25:30 +01:00
Daniel Kirchner b16a3644fe Function type conversion test cases. 2018-11-08 10:51:51 +01:00
chriseth 845899e305 Use single counter for name dispenser for performance reasons. 2018-11-07 23:09:33 +01:00
chriseth 674e17c2a8 Performance: Replace string by special single-copy YulString class. 2018-11-07 19:30:27 +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
Daniel Kirchner a3e37a9d5a Relax identity requirement of function type conversions during code generation. 2018-11-06 13:22:33 +01:00
Daniel Kirchner e036133d1b Fix negative denominator in `boost::rational` during exponentiation. 2018-11-06 10:52:10 +01:00
Erik Kundt 1d8e9af407 Fixes crash while encoding too large arrays. 2018-10-30 15:14:57 +01:00
chriseth 4d82831b06 Merge pull request #5316 from lazaridiscom/4891-memory-store-asserts
refine memory-store assertions, closes #4891
2018-10-28 20:50:41 +01:00
Lazaridis cab8dea7fe refine memory-store assertions, closes #4891 2018-10-27 00:04:54 +03:00
chriseth 39687cf110 Remove unused AST utils. 2018-10-25 14:02:09 +02:00
chriseth c36a3bd683 Merge pull request #5283 from ethereum/smt_fixed_bytes
[SMTChecker] Support FixedBytes
2018-10-25 13:01:01 +02:00
chriseth f714b0dd7c Merge pull request #5242 from ethereum/someChecks
Some well-formedness checks for the Yul AST.
2018-10-25 12:44:28 +02:00
Leonardo Alt d8cbf321da Grouping of symbolic variables in the same file and support to FixedBytes 2018-10-25 09:30:48 +02:00
chriseth 01566c2e1a Merge pull request #5272 from ethereum/smt_special_vars
[SMTChecker] Support msg.*, tx.*, block.*, gasleft and blockhash
2018-10-24 14:34:17 +02:00
Leonardo Alt e2cf5f6ed9 Add gasleft constraint and use full member access name 2018-10-22 18:19:11 +02:00
Christian Parpart f112377dd4 Refactor solidity::Token into an enum class with TokenTraits helper namespace 2018-10-22 17:00:51 +02:00
chriseth 19be6cd818 Some well-formedness checks for the Yul AST. 2018-10-22 15:52:26 +02:00
Leonardo Alt b46b827c30 [SMTChecker] Support msg.*, tx.*, block.*, gasleft and blockhash 2018-10-19 15:52:16 +02:00
chriseth c13b5280c1 Merge pull request #5256 from ethereum/lvalueCleanup
Lvalue cleanup
2018-10-19 11:20:12 +02:00
chriseth fed7a7d61a Merge pull request #5257 from ethereum/assertAboutRemoved
Assert about some removed language concepts in the code generator.
2018-10-19 11:04:29 +02:00
chriseth e78b95d9d4 Renamed SHA3.{h,cpp} files. 2018-10-18 14:31:36 +02:00
chriseth 97d01d9b47 Assert about some removed language concepts in the code generator. 2018-10-17 22:26:40 +02:00
chriseth c14dfeb8c5 Removed unreachable cases in LValue.cpp. 2018-10-17 22:17:33 +02:00
Leonardo Alt 070471d8d4 Fix possibly effectless map emplace 2018-10-17 19:00:38 +02:00
Leonardo Alt c92d3b537d [SMTChecker] Refactor expressions such that they also use SymbolicVariable 2018-10-17 18:36:24 +02:00
Leonardo 3db1ce0e14 Merge pull request #5235 from ethereum/smt_refactor_types
[SMTChecker] Refactoring types
2018-10-17 18:35:48 +02:00
chriseth 9d00f710bc Merge pull request #5224 from bshastry/compilerwarn-fix
Fix compiler warning
2018-10-17 17:23:22 +02:00
Bhargava Shastry 67fd3ca4a7 Retained move/copy semantics; removed const qualifier from Expression's members name (of type std::string) and arguments (of type std::vector<Expression>) 2018-10-17 16:46:18 +02:00
Bhargava Shastry 546b08c158 Fix compiler warning: clang-8 warns of explicitly-defined op implicitly deleted for Expression object's copy and move constructors 2018-10-17 16:42:51 +02:00
Leonardo Alt afe83cc28b Refactor SymbolicAddressVariable and SymbolicVariable allocation 2018-10-17 15:58:13 +02:00
Leonardo Alt aa23326e06 Consistent renaming of 'counters' and 'sequence' to 'index' 2018-10-17 15:58:13 +02:00
Leonardo Alt ec39fdcb3c [SMTChecker] Refactoring types 2018-10-17 15:58:13 +02:00
chriseth 5e01d767d0 Prevent externally used functions from being removed. 2018-10-17 14:12:10 +02:00
chriseth 2384947521 Merge pull request #5209 from ethereum/smt_ssa_refactor
[SMTChecker] Refactor SSAVariable such that it only uses Type and not Declaration
2018-10-15 16:49:47 +02:00
Leonardo Alt e4851cf59e [SMTChecker] Inline calls to internal functions 2018-10-15 15:11:21 +02:00
Leonardo Alt 4a4620ac95 Refactor SSAVariable such that it only uses Type and not Declaration 2018-10-15 14:20:54 +02:00
chriseth 0778fb2dfc Merge pull request #5208 from mestorlx/bug4156
[WIP] Bad identifier suggestion in certain cases
2018-10-15 13:03:49 +02:00
Christian Parpart 1304361b9c Renaming namespace dev::julia to dev::yul. 2018-10-15 11:58:51 +02:00
Christian Parpart 9a4bec7e47 Renaming libjulia to libyul 2018-10-15 11:52:35 +02:00
Christian Parpart 6d815a142f Fixes invalid function calls to literals inside tuple assignment's LHS. 2018-10-15 10:35:11 +02:00