Commit Graph

11747 Commits

Author SHA1 Message Date
chriseth
faa7b61d76 Use map join algorithm for performance. 2018-11-12 23:00:37 +01:00
chriseth
4eaed37b96
Merge pull request #5070 from ethereum/2661-clarify-contract-example
Docs: Clarify creating a contract example code
2018-11-12 15:08:56 +01:00
Chris Ward
144909dfb8 Clarify creating a contract example as reported in #2661 2018-11-12 15:07:57 +01:00
chriseth
288582e38e
Merge pull request #4497 from ethereum/faq-reorg-control-structures
Move control structure related FAQ points
2018-11-12 14:37:34 +01:00
Chris Ward
6319a3fd06 Move control structure related FAQ points
Updates from reviews

clarify returning structs, and move returning arrays and strings from separate section

Further clarifications

Updates from review

Final updates
2018-11-12 14:34:09 +01:00
chriseth
d68dfd2c20
Merge pull request #4860 from ethereum/docs-2175-index-missing
Add mention of common subexpression elimination
2018-11-12 14:18:28 +01:00
Chris Ward
4370425823 Clarify term and tidy text
Use UK spelling in heading

Remove colon
2018-11-12 14:17:09 +01:00
chriseth
60b44b1101
Merge pull request #5364 from ethereum/chriseth-patch-5
Add note about changing the storage layout.
2018-11-12 13:00:16 +01:00
chriseth
0b94ac5b04 Add note about changing the storage layout. 2018-11-12 12:59:26 +01:00
chriseth
09f8ff27fc
Merge pull request #5395 from ethereum/fixStyle
Fix style
2018-11-12 09:55:32 +01:00
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
chriseth
405565db62
Merge pull request #5275 from svenski123/20181018-4894-refactoring-split-bool-typechecker-visit-functioncall-into-multiple-functions
Refactored bool TypeChecker::visit(FunctionCall const& _functionCall).
2018-11-11 18:15:17 +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
9709dfe046
Merge pull request #5128 from ethereum/breakUnbreak
[Yul] Test case that shows that break / unbreak are more or less inverse
2018-11-09 16:07:20 +01:00
chriseth
dffbeebf60
Merge pull request #5377 from ethereum/resetYulString
Reset yul string repository.
2018-11-09 16:06:51 +01: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
5ea514213a Test case that shows that break/unbreak are more or less inverse. 2018-11-09 15:36:52 +01:00
chriseth
cbd0116e98
Merge pull request #5326 from ethereum/removeSideEffectFreeStatements
[Yul] Remove side-effect-free statements.
2018-11-08 19:09:07 +01:00
chriseth
fa44d20721 Remove side-effect-free statements. 2018-11-08 18:14:36 +01:00
chriseth
20481055e3
Merge pull request #5371 from nud3l/develop
Fix cmake Z3 import issue for Fedora like distributions
2018-11-08 12:53:31 +01:00
chriseth
cd11f7cfac
Merge pull request #5325 from ethereum/fixDataFlow
[Yul] Fix data flow analyzer for function definitions.
2018-11-08 12:52:51 +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
chriseth
bf5b36a1ed
Merge pull request #5366 from ethereum/addVarDecl
[Yul] Add VarDeclPropagator to full suite and interactive optimizer.
2018-11-08 12:21:45 +01:00
Dominik Harz
2b053ceeff Fix cmake Z3 import issue for Fedora 2018-11-08 11:12:47 +00:00
Daniel Kirchner
fce1c3a9e7
Merge pull request #5370 from ethereum/fixWindows
Fix windows build.
2018-11-08 12:06:32 +01:00
chriseth
e906b36604
Merge pull request #5352 from ethereum/docContractConversions
[DOCS] Document disallowed explicit conversions between unrelated contract types.
2018-11-08 11:38:07 +01:00
chriseth
d3e111d493
Merge pull request #5353 from ethereum/docInteroperability
[DOCS] Document interoperability between 0.5.0 and pre-0.5.0 contracts.
2018-11-08 11:36:44 +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
37766ee8e4 Add VarDeclPropagator to full suite and interactive optimizer. 2018-11-07 23:19:42 +01:00
chriseth
845899e305 Use single counter for name dispenser for performance reasons. 2018-11-07 23:09:33 +01:00
chriseth
b2b11eaa00 Fix data flow analyzer for function definitions. 2018-11-07 20:32:55 +01:00
chriseth
bed0368ffa
Merge pull request #5327 from ethereum/rematerializerSmall
Add rematerializer to interactive optimizer.
2018-11-07 20:30:31 +01:00
chriseth
deed8e21f6
Merge pull request #5334 from ethereum/stringPerformance
[Yul] String performance
2018-11-07 20:26:33 +01:00
chriseth
674e17c2a8 Performance: Replace string by special single-copy YulString class. 2018-11-07 19:30:27 +01:00
Daniel Kirchner
c38591858d Document interoperability between 0.5.0 and pre-0.5.0 contracts. 2018-11-07 16:55:06 +01:00
Daniel Kirchner
8b2f8b1ea2 Document disallowed explicit conversions between unrelated contract types. 2018-11-07 16:44:35 +01:00
chriseth
0a96f091ab
Merge pull request #5346 from ethereum/chriseth-patch-4
[DOCS] Integers cannot be implicitly converted to address
2018-11-07 14:59:54 +01:00
chriseth
a459b8c81e
Merge pull request #5359 from ethereum/cpp17-forward-compat
Eliminate `byte`-typedef and use `uint8_t` in all their places instead.
2018-11-07 12:42:02 +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
chriseth
5df83346f3 Integers cannot be implicitly converted to address 2018-11-06 09:11:02 +01:00
Daniel Kirchner
88aee34c22
Merge pull request #5347 from ethereum/boostRationalNegativeDenominator
Remove uses of boost::rational with negative denominator in tests.
2018-11-05 21:59:15 +01:00
Daniel Kirchner
36903d7e27 Remove uses of boost::rational with negative denominator, which breaks with boost 1.68. 2018-11-05 21:36:52 +01:00
chriseth
e4da724fb8
Merge pull request #5343 from lshapton/patch-1
Fixes small typo in documentation
2018-11-04 18:44:09 +01:00