Commit Graph

13090 Commits

Author SHA1 Message Date
chriseth
8b20ecb558 Refactor StandardCompiler to split into input parsing/validating and compilation steps. 2019-03-07 17:49:55 +01:00
chriseth
0eb799424d
Merge pull request #6183 from ethereum/soltest-alignment
[soltest] Introduce explicit alignment
2019-03-07 17:43:59 +01:00
chriseth
e0d1b2f5b3 Peephole optimizer for "iszero iszero <tag> jumpi". 2019-03-07 15:52:02 +01:00
chriseth
c753b6bce5
Merge pull request #6198 from ethereum/smt_enum
[SMTChecker] Support enums without typecast
2019-03-07 15:36:05 +01:00
Leonardo Alt
02d0e609b9 [SMTChecker] Support enums 2019-03-07 15:15:12 +01:00
chriseth
7241aa755c
Merge pull request #6186 from ethereum/runExternalTestsWithOptimizer
Run external tests with and without optimizer.
2019-03-07 12:57:03 +01:00
chriseth
8d9be8bb6d
Merge pull request #6211 from ethereum/fixFormatting
Fix formatting and compilation error.
2019-03-06 22:55:02 +01:00
chriseth
f0a3a56ebc
Merge pull request #6208 from ethereum/simplifyConstantSwitchFirst
Simplify constant switch first
2019-03-06 22:02:55 +01:00
chriseth
553f578d03 Fix compilation error. 2019-03-06 22:01:19 +01:00
chriseth
791fde953d First simplify switch with known constant expression. 2019-03-06 21:32:55 +01:00
chriseth
aa062221bb Tabs, not spaces! 2019-03-06 21:32:10 +01:00
chriseth
0f336f30ca
Merge pull request #6207 from ethereum/fixStructuralVisitationOrder
Fix visitation order bug for structural simplifier.
2019-03-06 21:29:17 +01:00
chriseth
0f7b1b31a1
Merge pull request #5996 from ethereum/calldataArrays
Allow calldata arrays with dynamically encoded base type.
2019-03-06 19:55:57 +01:00
chriseth
21115f8050 Fix visitation order bug for structural simplifier. 2019-03-06 19:34:07 +01:00
chriseth
281c04cb10
Merge pull request #6206 from ethereum/switchSimplifierFix
Undo switch simplifier force-push trouble
2019-03-06 19:25:24 +01:00
Mathias Baumann
21322dae29 YulOpt: Remove empty cases 2019-03-06 19:02:23 +01:00
Mathias Baumann
be52aa3181 YulOpt: Move if-branches into functions 2019-03-06 19:01:05 +01:00
chriseth
08146c76c9
Merge pull request #6197 from ethereum/yul-opt-switch-rem-6189
YulOpt: Remove empty cases
2019-03-06 18:40:04 +01:00
Mathias Baumann
3ce7069766 YulOpt: Remove empty cases 2019-03-06 18:39:44 +01:00
Mathias Baumann
433175b19e YulOpt: Add comment about optimization 2019-03-06 18:39:44 +01:00
Mathias Baumann
db3bea7b56 Use reference for so we have to type less 2019-03-06 18:39:44 +01:00
Erik Kundt
a40fbf0fc4 Right-aligns hex numbers and introduces alignment built-ins. 2019-03-06 18:24:13 +01:00
chriseth
3ccf73b3eb
Merge pull request #6204 from ethereum/soltest-signature-arrays
[soltest] Add support for arrays in function signatures
2019-03-06 18:12:39 +01:00
Daniel Kirchner
e3148b5c45 Tests for arrays with dynamically encoded base types. 2019-03-06 18:04:24 +01:00
Daniel Kirchner
f9dc30c3d1 Add generalized dynamic array encoding to ExecutionFramework. 2019-03-06 18:04:12 +01:00
Daniel Kirchner
f7c6eda2c3 Allow calldata arrays with dynamically encoded base type. 2019-03-06 18:04:12 +01:00
chriseth
cdf29277f7
Merge pull request #6055 from ethereum/smt_arrays
[SMTChecker] Add support to arrays
2019-03-06 18:00:23 +01:00
Erik Kundt
ab31c28ed9 Adds support for arrays in function signatures. 2019-03-06 16:47:00 +01:00
chriseth
9193fcb99f
Merge pull request #6130 from ethereum/docs-pragma
[DOCS] Updates to Pragma docs
2019-03-06 12:07:17 +01:00
Chris Ward
6dcc368183 Small polish to prgama docs
Fix issues

Reset non-typo
2019-03-06 12:01:50 +01:00
chriseth
dc69152238
Merge pull request #6143 from ethereum/fix-unimplemented-assert-5659
Check base contracts for abi encoder compatibility
2019-03-06 11:59:49 +01:00
chriseth
3059734ae6
Merge pull request #6199 from ethereum/ossfuzzsolcreduceinputsize
Reduce input file size for solc and constant optimizer fuzzers.
2019-03-06 11:58:51 +01:00
chriseth
449141db2c
Merge pull request #6190 from ethereum/allowEncodeDecodeWithZeroParameters
Allow encoding and decoding functions with empty type list.
2019-03-06 11:57:21 +01:00
chriseth
831353c590
Merge pull request #6172 from ethereum/runYulOptAsLongAsHelpful
[Yul] Run yul optimizer until it has no effect anymore.
2019-03-06 11:41:22 +01:00
Bhargava Shastry
54d0d153fa Reduce input file size for solc and constant optimizer fuzzers. 2019-03-06 11:35:22 +01:00
Leonardo Alt
29b2ab6f66 Handle aliasing 2019-03-06 11:29:54 +01:00
Leonardo Alt
297703bc44 Changelog entry 2019-03-06 11:29:54 +01:00
Leonardo Alt
467c34999f Do not throw on string literals 2019-03-06 11:29:26 +01:00
Leonardo Alt
cb6c2b33f8 Add tests 2019-03-06 11:29:26 +01:00
Leonardo Alt
e74f58130e Add SMT type support to Solidity arrays 2019-03-06 11:29:26 +01:00
Mathias Baumann
a2fe19cac5 Fix wrong formatting in ErrorReporter 2019-03-06 11:16:54 +01:00
Mathias Baumann
9919670ddd Check base contracts for abi encoder compatibility 2019-03-06 11:16:54 +01:00
chriseth
ee4beafd48
Merge pull request #6153 from ethereum/docs-imports
[DOCS] Improve imports documentation
2019-03-06 11:14:43 +01:00
Mathias Baumann
9052a8f050 Move FunctionType::returnParameters() to CallableDeclaration
all the other functions of that type are also found there.
2019-03-06 11:13:01 +01:00
Mathias Baumann
8d747ad47b Add ErrorReporter::fatalTypeError() with secondary location 2019-03-06 11:13:01 +01:00
Mathias Baumann
b2262d67f0 Remove unused variable Contractdefinition::m_linearizedBaseContracts 2019-03-06 11:13:01 +01:00
Chris Ward
3f5b5fdb8e Begin polish to import docs
Continue import polish
2019-03-06 11:06:46 +01:00
chriseth
d515d77bfe Extract utility functions from ABI encoder. 2019-03-05 22:13:55 +01:00
chriseth
f35694f655 Run yul optimizer until it has no effect anymore. 2019-03-05 20:30:13 +01:00
chriseth
4740dc62df
Merge pull request #6193 from ethereum/yul-opt-different-types-6181
YulOpt: Extend StructuralSimplifier to work with all types
2019-03-05 19:11:13 +01:00