a3d4
4ca7655b74
Correct the warning for homonymous, but not shadowing declarations
2020-09-15 02:39:21 +02:00
Alex Beregszaszi
83934254ea
[SMTChecker] Support type(I).interfaceId
2020-09-14 20:34:52 +01:00
chriseth
552a5f0913
Merge pull request #9314 from ethereum/inlineStartingFromLeaves
...
Handle "leaf functions" first in full inliner.
2020-09-14 20:22:48 +02:00
Leonardo
31b5102aa0
Merge pull request #9731 from ethereum/smt_import
...
[SMTChecker] Fix CHC encoding
2020-09-12 00:56:04 +02:00
Alex Beregszaszi
961a199cf5
[SMTChecker] Support type(T).min and type(T).max
2020-09-11 21:37:51 +01:00
Leonardo Alt
23ee011c56
[SMTChecker] Fix imports
2020-09-11 13:34:46 +02:00
chriseth
f102feaf09
Handle "leaf functions" first in full inliner.
2020-09-10 17:01:19 +02:00
chriseth
6101bdf7e2
Name simplifier.
2020-09-10 16:23:29 +02:00
Leonardo Alt
40197df104
[SMTChecker] Support shifts
2020-09-09 19:47:52 +02:00
Kamil Śliwak
5e9dd67a0a
FunctionType::canTakeArguments(): Use the correct index when comparing named parameter types
2020-09-09 14:45:58 +02:00
Kamil Śliwak
41bcb97e36
Don't consider contracts implicitly convertible to the type of super
...
- `super` for all intents and purposes behaves like a type and should be a TypeType rather than ContractType. We have an issue to fix it but it's a breaking change. Until then let's at least not treat other contracts as convertible to the ContractType that `super` represents.
2020-09-08 00:29:44 +02:00
Alexander Arlt
df8bbeeb22
ViewPureChecker::reportMutability: don't check visibility on constructors.
2020-09-07 11:35:33 -05:00
Harikrishnan Mulackal
acec8f271d
Type Checker: Disallow `virtual
` for modifiers in libraries.
2020-09-07 11:17:38 +02:00
Leonardo Alt
3093648c05
Changelog
2020-09-03 15:19:32 +02:00
Harikrishnan Mulackal
974e35d09c
Tests and changelog
2020-09-03 13:15:38 +02:00
chriseth
d58c5f48e4
Set version to 0.7.2.
2020-09-02 16:21:48 +02:00
chriseth
3a48be546d
Merge pull request #9602 from ethereum/structMemToStorageSol2Yul
...
[Sol->Yul] Implementing various copying of structs
2020-09-02 13:50:46 +02:00
chriseth
840791a470
Merge pull request #9717 from ethereum/prepare071
...
Prepare release of 0.7.1.
2020-09-02 12:58:13 +02:00
Djordje Mijovic
23f6369a46
Implementing struct copying from calldata to storage
2020-09-02 12:28:53 +02:00
chriseth
b52f334fff
Prepare release of 0.7.1.
2020-09-01 17:47:56 +02:00
Leonardo Alt
238b8a929e
[SMTChecker] Fix ICE on tuples of one element that actually have tuple type
2020-09-01 08:31:57 +02:00
Leonardo Alt
5cafbeebec
[SMTChecker] Fix ICE on tuple assignment
2020-09-01 08:29:01 +02:00
Leonardo Alt
50e0ada77d
[SMTChecker] Fix unary operator on lvalue tuple
2020-09-01 08:25:06 +02:00
chriseth
34543e5eab
Merge pull request #9692 from ethereum/smt_fix_pop
...
[SMTChecker] Fix soundness of array pop
2020-08-31 20:07:58 +02:00
Alex Beregszaszi
2426616859
Disallow language keywords to be used as identifiers by NameDispenser and VarNameCleaner
...
Also introduce isRestrictedIdentifier helper in OptimizerUtilities
2020-08-31 12:52:17 +01:00
Leonardo Alt
8c05db88c0
[SMTChecker] Fix soundness of array pop
2020-08-31 12:11:33 +02:00
chriseth
20efba6b55
Merge pull request #9568 from ethereum/fixImmutables
...
Fix reads checks for complex assignment and increment/decrement for immutable variables.
2020-08-28 16:14:18 +02:00
chriseth
8b564a7be7
Fix reads checks for immutable variables.
2020-08-28 15:24:40 +02:00
Harikrishnan Mulackal
7ff809dc78
Disallow assigning more than once to immutables during the vardecl
2020-08-28 13:42:54 +02:00
Alex Beregszaszi
e872b1b51e
Merge pull request #9689 from ethereum/using-for-interface
...
Disallow ``using for`` directive for interfaces.
2020-08-27 19:09:19 +01:00
chriseth
0798167f3d
Merge pull request #9612 from ethereum/yul-rightarrow
...
Introduce RightArrow (->) token
2020-08-27 16:21:18 +02:00
Harikrishnan Mulackal
c7dc42a794
Disallow `using for
` directive for interfaces.
2020-08-27 15:57:51 +02:00
Harikrishnan Mulackal
7826564226
Fix infinite loop for structs in library function parameter
2020-08-27 14:18:07 +02:00
Harikrishnan Mulackal
1c066b1059
Allow type(Contract).name
for abstract contracts and interfaces
2020-08-27 13:37:08 +02:00
Alex Beregszaszi
4e5b403c37
Introduce RightArrow (->) token in the scanner
2020-08-27 12:28:27 +01:00
Harikrishnan Mulackal
6f22899153
Disallow the exponent to be a signed integer literal
2020-08-27 12:08:45 +02:00
Leonardo
fdc4142b2c
Merge pull request #9661 from ethereum/smtBitwiseOr
...
[SMTChecker] Support bitwise or, xor and not operator
2020-08-26 18:20:15 +02:00
Djordje Mijovic
11a7763f49
[SMTChecker] Support bitwise or, xor and not.
2020-08-26 11:06:56 +02:00
chriseth
e72afcba47
Fix inlining order to correspond to source order.
2020-08-26 10:20:18 +02:00
chriseth
21489d8193
Merge pull request #9638 from ethereum/fixNullValuesAST
...
Remove null values from AST also in standard-json mode.
2020-08-24 15:57:33 +02:00
Đorđe Mijović
4dd25f7302
Merge pull request #9639 from ethereum/smtConditionalSupport
...
[SMTChecker] Supporting conditional operator
2020-08-21 14:25:47 +02:00
Djordje Mijovic
3f97a1012a
[SMTChecker] Supporting conditional operator
2020-08-20 21:39:35 +02:00
chriseth
4dc63875f9
Merge pull request #9113 from ethereum/smt_chc_overflow
...
[SMTChecker] Add underflow/overflow target to CHC
2020-08-20 13:17:00 +02:00
chriseth
b2b8e0e4c6
Merge pull request #9312 from ethereum/rewrite-loopInvariantCodeMotion
...
Rewrite loop invariant code motion
2020-08-19 14:27:04 +02:00
Harikrishnan Mulackal
bbf15c9af3
Tests and Changelog
2020-08-19 12:41:29 +02:00
chriseth
7b8cc0c49b
Remove null values from AST also in standard-json mode.
2020-08-19 11:06:14 +02:00
chriseth
cf5aa450bd
Documentation.
2020-08-18 11:46:59 +02:00
Leonardo Alt
1b720cf674
Changelog
2020-08-14 12:58:27 +02:00
Leonardo Alt
ec31d971e6
[SMTChecker] Fix tuple name for arrays
2020-08-07 12:28:10 +02:00
Daniel Kirchner
143b37af56
Only conditionally run old code generation in CompilerStack, StandardCompiler and semantic tests.
2020-08-06 15:05:17 +02:00
chriseth
3a409c39e4
Merge pull request #9518 from ethereum/smt_fix_bmc_function_inlining
...
[SMTChecker] Fix ICE in BMC function inlining
2020-08-06 00:50:04 +02:00
chriseth
98faf82d3f
Merge pull request #9563 from ethereum/constrInLib
...
Fix member lookup for constructor in library.
2020-08-05 19:07:28 +02:00
Alex Beregszaszi
3a617f9cf2
Validate expected literal kind for yul::Dialect builtins
...
Co-authored-by: Daniel Kirchner <daniel@ekpyron.org>
2020-08-05 11:37:04 +01:00
Leonardo Alt
8df8c6e14f
[SMTChecker] Fix ICE in BMC function inlining
2020-08-05 11:47:25 +02:00
chriseth
c96e997a3c
Fix member lookup for constructor in library.
2020-08-04 10:51:40 +02:00
Bhargava Shastry
5100effeec
yul: Set non movable flag to true in simplification rule for byte of right-shifted expression
2020-08-03 17:30:52 +02:00
Leonardo Alt
ad1798b000
[SMTChecker] Fix ICE on fixed bytes access
2020-07-28 17:59:42 +02:00
chriseth
8a136c96e9
Set version to 0.7.1
2020-07-28 17:16:57 +02:00
chriseth
ab0b2e1fe1
Prepare changelog for 0.7.0.
2020-07-28 12:44:08 +02:00
Alex Beregszaszi
6eb60bc8cd
Add check that regular and unicode string literals are well formatted
2020-07-27 18:21:17 +01:00
Alex Beregszaszi
8abc1a6863
Check for invalid ASCII in the scanner
2020-07-27 18:21:17 +01:00
Leonardo Alt
de4ae301c4
[SMTChecker] Fix ICE when tuples have extra effectless parens
2020-07-27 13:03:27 +02:00
Alex Beregszaszi
5ecc84e92e
Distinguish between stringLiteral and hexStringLiteral in the JSON AST
2020-07-27 10:19:24 +01:00
chriseth
436cf4cf12
Clean up changelog.
2020-07-23 16:51:49 +02:00
a3d4
5b54cfbed3
Report an error if immutables not assigned
2020-07-23 16:38:54 +02:00
chriseth
336fe94422
Merge pull request #9426 from ethereum/smt_fix_1_tuple
...
[SMTChecker] Fix ICE in 1-tuple chain
2020-07-23 15:38:17 +02:00
Djordje Mijovic
e7d5a7da10
[TypeChecker] Remove function input and return parameter names from mobileType
2020-07-23 14:39:49 +02:00
Leonardo Alt
9d2a0947e9
Fix 1-tuple chain
2020-07-23 13:46:41 +02:00
chriseth
6bb6783d39
Merge remote-tracking branch 'origin/develop' into breaking
2020-07-22 15:26:44 +02:00
chriseth
e02878329d
Prepare for 0.6.12 release.
2020-07-21 16:33:48 +02:00
chriseth
e19e4d9db1
Merge pull request #9451 from ethereum/smt_fix_push_push
...
[SMTChecker] Fix push().push()
2020-07-21 11:40:37 +02:00
chriseth
9be5ed1220
Merge remote-tracking branch 'origin/develop' into breaking
2020-07-21 11:35:28 +02:00
chriseth
10f93fbd8a
Merge pull request #9428 from ethereum/removeVar
...
Remove special treatment of ``var``.
2020-07-20 18:43:44 +02:00
Mathias Baumann
ba0a4de50d
NatSpec: Implement `@inheritdoc
`
2020-07-20 18:32:18 +02:00
chriseth
93c792c696
Remove special treatment of `var
`.
2020-07-20 17:22:04 +02:00
Leonardo Alt
2c93278719
Fix push().push()
2020-07-20 17:17:35 +02:00
chriseth
c8772a54c3
Constants are considered pure.
2020-07-20 15:18:23 +02:00
chriseth
d3647b13e4
Disallow public state variables overriding pure functions.
2020-07-20 15:18:23 +02:00
Mathias L. Baumann
69a596b0ff
Merge pull request #9418 from ethereum/stateMutForOverride
...
Issue state mutability restriction for overriding and not for virtual functions.
2020-07-20 15:01:25 +02:00
Leonardo Alt
2e1067a05a
Set type properly for event parameters
2020-07-17 11:17:27 +02:00
chriseth
ba21d26f88
Merge pull request #9344 from ethereum/issue-3412
...
Allow overrides to have a more strict mutability than super
2020-07-16 18:50:51 +02:00
Mathias Baumann
dfffecfe2c
Allow overrides to have a more strict mutability than super
2020-07-16 17:55:12 +02:00
Leonardo Alt
672633af0a
[SMTChecker] Fix ICE on compound assignment to array index
2020-07-16 17:44:10 +02:00
chriseth
aa3f51ab47
Issue state mutability restriction for overriding and not for virtual functions.
2020-07-16 17:19:35 +02:00
chriseth
f945163909
Merge pull request #9432 from ethereum/develop
...
Merge develop into breaking.
2020-07-16 17:14:45 +02:00
Mathias Baumann
d3af598c49
CodeGen: Avoid double cleanup when copying to memory
2020-07-16 13:53:48 +02:00
Leonardo Alt
46653b2d43
Fix ICE when bitwise operator on fixed bytes
2020-07-15 19:32:15 +02:00
Daniel Kirchner
c3e13b6733
Promote gwei to a proper keyword.
2020-07-13 18:07:11 +02:00
Daniel Kirchner
38c6ecbbe2
Remove finney and szabo denominations.
2020-07-13 18:07:10 +02:00
chriseth
cf189a3285
Merge pull request #9285 from ethereum/no_dot_in_asm
...
[BREAKING] Change _slot and _offset to use dot in inline assembly
2020-07-13 17:46:39 +02:00
Daniel Kirchner
def0ebbb3e
Free variables directly after visiting RHS of Variable Declarations during EVMCodeTransform.
2020-07-13 17:36:15 +02:00
chriseth
a783449195
Merge pull request #9362 from ethereum/swappedTagConjunctions
...
Remove unneccessary masking of tags.
2020-07-13 17:35:06 +02:00
chriseth
414e3bd6fe
Merge pull request #9387 from ethereum/swapDup
...
Remove swap after dup.
2020-07-13 17:27:43 +02:00
chriseth
12f390a60a
Merge pull request #9326 from ethereum/eventOverwriting
...
[BREAKING] Disallow multiple events with same name and types.
2020-07-13 15:44:35 +02:00
chriseth
080f33a72c
Remove swap after dup.
2020-07-13 15:05:01 +02:00
chriseth
9b5611dda6
Documentation.
2020-07-13 14:59:22 +02:00
chriseth
8eee3ed3a2
Merge pull request #9388 from ethereum/develop
...
Merge develop into breaking.
2020-07-13 14:55:21 +02:00
Alex Beregszaszi
87557896ed
Add ctz and popcnt to WasmDialect
2020-07-13 11:10:14 +01:00
chriseth
ab2f64f442
Disallow multiple events with same name and types.
2020-07-13 11:24:37 +02:00
Daniel Kirchner
0fd13b7a9e
Upgrade json-cpp to 1.9.3.
2020-07-10 21:40:15 +02:00
a3d4
efc5ee207d
Fix internal compiler error caused by oversized objects
2020-07-10 11:39:07 +02:00
Mathias Baumann
6b37f1c025
Remove visiblity of libraries in inherited contracts.
2020-07-09 16:38:29 +02:00
chriseth
9ef050af9a
Merge pull request #9373 from ethereum/develop
...
Merge develop into breaking.
2020-07-09 16:15:43 +02:00
chriseth
59f4989966
Optimize combination of byte and shl.
2020-07-08 20:26:46 +02:00
chriseth
d3abbd5610
Remove unneccessary masking of tags.
2020-07-08 20:16:39 +02:00
chriseth
8eb459c825
Disallow dot in inline assembly identifiers.
2020-07-08 19:29:58 +02:00
chriseth
d4ecd33247
Propagate function call argument types across function call options.
2020-07-08 17:59:02 +01:00
chriseth
0a0f578d7c
Evaluate keccak256 of string literals at compile-time.
2020-07-08 16:14:14 +02:00
chriseth
64b6524bdb
Merge remote-tracking branch 'origin/develop' into breaking
2020-07-08 09:37:14 +02:00
chriseth
41e1e34211
Merge pull request #9180 from ethereum/noVisibilityForConstructor
...
[BREAKING] No visibility for constructor
2020-07-07 16:26:41 +02:00
chriseth
38c479ffd4
Set version to 0.6.12.
2020-07-07 15:16:21 +02:00
Alex Beregszaszi
fc8947d3e8
Restrict dots in Yul identifiers
2020-07-07 13:13:58 +01:00
chriseth
1f0f5d2183
Prepare changelog for 0.6.11.
2020-07-07 13:49:22 +02:00
chriseth
ec8be81258
Merge pull request #9243 from ethereum/jumpTypesForYul
...
Jump types for yul functions.
2020-07-07 12:21:14 +02:00
chriseth
5959d442cb
Make visibility optional, but it has to be consistent.
2020-07-07 12:16:18 +02:00
chriseth
d72aae20aa
Merge pull request #9321 from ethereum/multiYulAssign
...
Disallow the same yul variable occurring multiple times on the LHS of an assignment.
2020-07-07 11:07:05 +02:00
Daniel Kirchner
70615a73a4
Disallow the same yul variable occurring multiple times on the LHS of an assignment.
2020-07-07 10:52:47 +02:00
chriseth
982a269b2b
Merge pull request #9325 from ethereum/develop
...
Merge develop into breaking.
2020-07-06 19:11:02 +02:00
chriseth
4d2b9cd38f
Jump types for yul functions.
2020-07-06 18:12:54 +02:00
chriseth
9009335b3f
Merge pull request #9319 from ethereum/noCalldataForConstructor
...
Constructors cannot have calldata parameters.
2020-07-06 17:58:23 +02:00
chriseth
f372ba6fea
Constructors cannot have calldata parameters.
2020-07-06 16:52:51 +02:00
Alex Beregszaszi
60d4b1e8cc
Rename drop to i64.drop in WasmDialect
...
Also properly implement support for both i32.drop and i64.drop in BinaryTransform, TextTransform, and YulInterpreter
2020-07-06 15:47:17 +01:00
chriseth
ab68406006
Merge remote-tracking branch 'origin/develop' into breaking
2020-07-06 15:25:25 +02:00
Kamil Śliwak
c18c6e9319
Add missing changelog entries for linkersymbol
and for long string literals in builtin parameters
2020-07-02 14:44:18 +02:00
Leonardo Alt
5517e817d5
Do not trust code of external functions
2020-07-01 18:20:46 +02:00
Leonardo Alt
5160f89c1b
[SMTChecker] Support to external calls to unknown code
2020-07-01 18:20:33 +02:00
chriseth
e0b1d8b9bd
Make DataFlowAnalyzer aware of storage / memory slot after sload / mload.
2020-07-01 13:45:25 +02:00
chriseth
3e3f9a472f
Merge remote-tracking branch 'origin/develop' into breaking
2020-06-30 18:56:51 +02:00
chriseth
76943023bd
Merge pull request #9267 from ethereum/issue-8911-split
...
NatSpec: Implement default inheritance.
2020-06-30 15:16:14 +02:00
Mathias Baumann
c50f0ae00e
NatSpec: Implement default inheritance.
2020-06-30 14:45:13 +02:00
Harikrishnan Mulackal
eeadb5a6b5
Tests, Docs and Changelog
2020-06-30 16:53:41 +05:30
chriseth
49e3217933
Merge pull request #9230 from ethereum/issue-8716
...
Add unit denomination ``gwei``
2020-06-30 12:36:10 +02:00
Harikrishnan Mulackal
4146ff9fcf
NatSpec for events
2020-06-26 15:06:43 +05:30
Mathias Baumann
02328f3bbb
Add unit denomination `gwei
`
2020-06-24 18:24:56 +02:00
chriseth
af0cd4ab98
Merge pull request #9252 from ethereum/develop
...
Merge develop into breaking.
2020-06-23 18:28:24 +02:00
Alexander Arlt
86be0fbc2f
[ewasm] Fix infinite loops.
2020-06-23 12:35:03 +02:00
chriseth
1441b97131
Merge remote-tracking branch 'origin/develop' into breaking
2020-06-22 18:40:20 +02:00
chriseth
98e5923e3a
Do now disallow assigning to external parameters.
2020-06-22 18:36:32 +02:00
chriseth
b00014c51d
Fix source location of yul multi-assignemnt.
2020-06-18 14:31:53 +02:00
chriseth
76468f19fe
Check if using for refers to a library earlier.
2020-06-17 17:45:40 +02:00
chriseth
71cb7551f4
Merge pull request #9208 from ethereum/develop
...
Merge develop into breaking.
2020-06-16 16:11:41 +02:00
a3d4
5d63fa09e9
Fix false ////- and /***-natspec
2020-06-16 11:15:04 +02:00
Kamil Śliwak
c5fb5f6d57
List command-line interface changes in the changelog
2020-06-15 17:13:17 +02:00
chriseth
8155ad2187
Merge remote-tracking branch 'origin/develop' into breaking
2020-06-15 17:11:41 +02:00
Mathias Baumann
d54e7f50ed
Natspec: Output "type" and "version" in documenation
2020-06-15 14:53:34 +02:00
chriseth
7c28953a61
Missing changelog entry.
2020-06-15 14:49:14 +02:00
chriseth
65937ab5c8
Set version to 0.6.11.
2020-06-11 20:24:01 +02:00
chriseth
3c43216a75
Set release date for 0.6.10.
2020-06-11 14:07:00 +02:00
chriseth
549c90612c
Fix using for with explicit reference types.
2020-06-11 13:04:41 +02:00
chriseth
baabe65a84
Fix bound functions with calldata parameters.
2020-06-10 17:37:59 +02:00