hrkrshnn
e107d51f46
Disallow certain implicit conversions between integer types.
...
Disallow implicit conversion from ``uintN`` and ``intM`` when ``M > N``, and by extension, explicit
conversion between the same types are also disallowed.
2021-01-12 08:23:47 +01:00
Harikrishnan Mulackal
5241b7b761
Merge pull request #10684 from ethereum/fixIRWrappingExp
...
Use wrapping arithmetic for exp in unchecked blocks.
2021-01-06 18:53:54 +01:00
Harikrishnan Mulackal
591f04e41c
Merge pull request #10718 from ethereum/gitignoreClion
...
Extend .gitignore to all CLion build directories and allow "build" to be a symlink.
2021-01-06 12:45:30 +01:00
Harikrishnan Mulackal
3cb48b8c60
Merge pull request #10683 from ethereum/optSubEq
...
Optimize iszero(sub(x, y)) to eq(x, y).
2021-01-06 12:22:54 +01:00
Harikrishnan Mulackal
e06af46f3d
Merge pull request #10697 from GKStretton/patch-1
...
Fix typo
2020-12-28 13:10:24 +01:00
Harikrishnan Mulackal
8194cbb497
Merge pull request #10640 from ethereum/error-cleanup
...
Improve the Error class with a constructor for secondaryLocation
2020-12-17 17:58:28 +01:00
hrkrshnn
571f9dafca
Documentation for the PR about making address conversions nonpayable
2020-12-15 15:04:45 +01:00
hrkrshnn
fdaede9b3e
Tests after disallowing some explicit payable conversions
2020-12-15 15:01:40 +01:00
hrkrshnn
2fb191175b
Disallow some explicit conversions to address payable
...
The following explicit conversions are disallowed:
1. uint160 -> address payable
2. bytes20 -> address payable
3. literals -> address payable (payable(0) is an exception)
2020-12-15 15:01:40 +01:00
Harikrishnan Mulackal
90a0bbefa3
Merge pull request #10593 from ethereum/someMoreTests
...
Some more tests for overflow.
2020-12-14 19:41:10 +01:00
hrkrshnn
7438c4dc16
Tests after making all explicit address conversions as non-payable
2020-12-14 18:46:01 +01:00
hrkrshnn
f30c7cbac8
All explicit address conversions return a non-payable address
2020-12-14 18:41:27 +01:00
hrkrshnn
88c99a7538
Tests/Docs: changing type of msg.sender and tx.origin into address
...
And also making the type of address(literal) as non-payable address.
2020-12-14 16:55:48 +01:00
hrkrshnn
e1a95cfd42
Disallow conversions from literals to payable address
...
To get a payable address, one has to go through address. For example, `payable(address(0))`.
2020-12-14 16:55:48 +01:00
hrkrshnn
9bd778d728
Make msg.sender and tx.origin have type address
...
Previously both of them had type address payable. The idea is that anything that is not know to be
payable should be non-payable.
2020-12-14 16:55:48 +01:00
Harikrishnan Mulackal
2139f93410
Merge pull request #10556 from ethereum/external-test-readme
...
README describing the workflow around external tests and their repositories
2020-12-11 17:37:38 +01:00
Harikrishnan Mulackal
cca484eaa5
Merge pull request #10551 from ethereum/restore-original-external-test-branches-on-breaking
...
[BREAKING] Restore original external test branches on breaking
2020-12-09 18:25:17 +01:00
hrkrshnn
06d719e4f1
Move filter to CommonData.h
2020-12-09 11:13:27 +01:00
hrkrshnn
7ea96c5583
Move the implementation of createLinkingFunction into a cpp file
2020-12-09 11:13:27 +01:00
hrkrshnn
9e5d7b9910
Test updates after disallowing Integer -> Contract conversion
2020-12-03 17:53:00 +01:00
hrkrshnn
40244c5469
Tests/Docs after stricter explicit conversion.
2020-12-03 16:51:05 +01:00
hrkrshnn
92ab32e532
Stricter explicit conversion between types.
...
A type can be converted to another if the conversion requires at most one of the following: sign,
width, kind (int, address, bytesXX, etc.) For example, the conversion `uint16(int8)` is now disallowed.
2020-12-03 16:49:53 +01:00
Harikrishnan Mulackal
61363d8e21
Merge pull request #10471 from ethereum/yul-interpreter-finetune-execution-steps
...
Yul interpreter: Smaller execution timeout for tests and additional testcases
2020-12-03 11:38:33 +01:00
hrkrshnn
3efac3eef0
NameSimplifier is removed from steps available to users.
2020-12-02 13:48:01 +01:00
hrkrshnn
5a15a4a6bd
Fix a bug in NameSimplifier.
...
A new name created by NameSimplifier could also be created by NameDispenser, since the knowledge of
the new name was not stored in NameSimplifier.
2020-12-02 13:48:01 +01:00
Harikrishnan Mulackal
6513b1f2ae
Merge pull request #10468 from ethereum/force-latest-truffle-for-ens
...
Force ENS external test to use latest Truffle
2020-12-02 11:24:51 +01:00
Harikrishnan Mulackal
91e67472bf
Merge pull request #10383 from ethereum/add-ens-external-tests
...
External tests: Add ENS contracts
2020-11-30 18:15:15 +01:00
hrkrshnn
cf6fe5a777
NameDispenser: Added three public functions.
...
The private function `illegalName` was converted into a public function.
A new public getter function `usedNames()` returns a reference to `m_usedNames`.
A public function reset that would change all `m_usedNames` to *only* the names that are used in the
AST. Also resets the counter. This will be used before the final NameSimplifier step in the
optimization phase.
The first two functions were added so that `NameSimplifier` could use it instead of traversing the AST
using `NameCollector` to find used names.
2020-11-30 14:02:57 +01:00
hrkrshnn
a834476de6
Tests/Docs after disallowing super, this and _ as declaration names
2020-11-25 11:14:13 +01:00
hrkrshnn
1a6f0fe52f
Disallow declarations to have names "this", "super" and "_".
...
There will be a declaration error 3726 if these names are used in the contract. Note that there is
an existing warning about shadowing a built-in for "this" and "super".
2020-11-25 11:14:13 +01:00
Harikrishnan Mulackal
fb2d071b70
Merge pull request #10387 from ethereum/fixBreakingMerge
...
Fix merge conflicts
2020-11-25 09:20:23 +01:00
hrkrshnn
52c8fcc67b
Removed "compileToEwasm: also" option from 4 tests cases
2020-11-25 08:13:46 +01:00
Harikrishnan Mulackal
1dd0cd1245
Merge pull request #10366 from ethereum/wasm-string-literal
...
[wasm] Document what StringLiteral is
2020-11-23 10:20:46 +01:00
hrkrshnn
2348b721bb
Tests after changing type of super to TypeType
2020-11-10 15:38:21 +01:00
hrkrshnn
9eafa1fa1a
Change type of super to TypeType
2020-11-10 15:38:21 +01:00
hrkrshnn
03f58c6b52
Strict explicit conversion between literals and enums
...
Explicit conversions between literals and enums are only allowed if the literal can represent a
value in the enum.
2020-11-06 19:15:02 +01:00
Harikrishnan Mulackal
170cfeb1f0
Merge pull request #10205 from ethereum/smt_remove_cli_timeout_tests
...
Adjust SMTChecker timeout tests
2020-11-06 15:29:57 +01:00
Harikrishnan Mulackal
be74479517
Merge pull request #10197 from cakesoft-khushi/new_branch
...
Update yul.rst
2020-11-04 12:37:39 +01:00
Harikrishnan Mulackal
24cce56215
Merge pull request #10189 from ethereum/underscore-tests
...
Add syntax and semantic tests for underscore
2020-11-03 17:06:31 +01:00
hrkrshnn
29e23efc93
Tests/Docs after "stricter explicit conversion from Literals to Integers"
2020-11-03 14:31:44 +01:00
hrkrshnn
a555556559
Stricter explicit conversions from Literals to Integers.
...
Explicit conversions from Literals to Integers will now be as strict as implicit conversions between
the same.
2020-11-03 14:31:44 +01:00
hrkrshnn
adcf9eba8d
Fix incorrectly set annotation.requiredLookup
2020-10-30 15:40:06 +01:00
Harikrishnan Mulackal
71d815f565
Merge pull request #10114 from ethereum/restructureBreaking
...
Re-structure list of breaking changes.
2020-10-26 18:49:38 +01:00
hrkrshnn
0e30fbbae1
Fix failing SMTChecker test on breaking
2020-10-26 14:01:40 +01:00
Harikrishnan Mulackal
07e3f60ffc
Merge pull request #10095 from ethereum/smt_fix_conditional
...
[SMTChecker] Fix ICE on conditional with tuples of rationals
2020-10-26 10:15:26 +01:00
hrkrshnn
13e7012e1e
Parser: Exponentiation is right associative
2020-10-13 16:38:37 +02:00
Harikrishnan Mulackal
dbd5326d0c
Commandline test for exp with literal base
2020-10-12 18:54:58 +02:00
Harikrishnan Mulackal
418aa01c5b
Optimization for exponentiation when the base is a literal
2020-10-12 18:54:58 +02:00
Harikrishnan Mulackal
b0acf5dc86
Merge pull request #10005 from ethereum/bugs-fix-tabs
...
Docs: convert tabs to spaces
2020-10-12 10:03:13 +02:00
Harikrishnan Mulackal
8f2cd82fd9
Merge pull request #9968 from ethereum/docs_fixes
...
[Docs] Updates Index/Home Page of Sol Docs / Adds "Getting Started"
2020-10-12 08:54:31 +02:00
hrkrshnn
30652394e5
Docs: convert tabs to spaces
2020-10-12 08:01:20 +02:00
Harikrishnan Mulackal
a309669f75
Disallow explicit conversions from negative literals to `address`
2020-10-07 16:06:02 +02:00
Harikrishnan Mulackal
24ba5aa3aa
Updating docs on DynamicArrayCleanup bug
2020-10-06 16:06:02 +02:00
Harikrishnan Mulackal
1bdbc10110
Properly cleanup after copying dynamic-array to storage for packed types
2020-10-06 16:06:02 +02:00
Harikrishnan Mulackal
756e21a888
Merge pull request #9946 from ethereum/viewpure-tests
...
Add more tests to ViewPureChecker
2020-10-02 14:36:28 +02:00
Harikrishnan Mulackal
7773bb3bd0
Fix typo: storage
2020-10-02 11:44:10 +02:00
Harikrishnan Mulackal
fd02ccc68c
Implemented events with indexed function as parameter in Yul
2020-09-30 12:11:39 +02:00
Harikrishnan Mulackal
3970412422
Implemented events with function type as one of its indexed parameters
2020-09-30 12:11:38 +02:00
Harikrishnan Mulackal
2b9f040c48
Optimize exp when base is -1
2020-09-29 17:44:09 +02:00
Harikrishnan Mulackal
d23aff4cbb
Merge pull request #9918 from ethereum/isStateScopeCheck
...
Make isStateVariable regular scope check.
2020-09-29 09:33:03 +02:00
Harikrishnan Mulackal
f1deb41033
Merge pull request #9911 from ethereum/docs-change-pragma
...
[DOCS] Change >=0.7.0 to ^0.7.0
2020-09-28 13:50:46 +02:00
Harikrishnan Mulackal
8339765509
[DOCS] Change >=0.7.0 to ^0.7.0
2020-09-28 13:02:31 +02:00
Harikrishnan Mulackal
710231e2b1
Docs: change >0.6.99 <0.8.0 to >=0.7.0
2020-09-28 11:14:45 +02:00
Harikrishnan Mulackal
ec25e960f9
Merge pull request #9863 from ethereum/signed-exp-tests
...
Signed exp tests
2020-09-24 15:59:01 +02:00
Harikrishnan Mulackal
c314ca3cf2
Tests for signed exponentiation
2020-09-23 16:27:33 +02:00
Harikrishnan Mulackal
64ddf2c699
Verify simplification rule exp(2, X) to shl(X, 1)
2020-09-16 17:36:39 +02:00
Harikrishnan Mulackal
b7944477a1
Update UnusedFunctionParameterPruner tests to avoid getting inlined
2020-09-14 17:59:50 +02:00
Harikrishnan Mulackal
3817515015
Merge pull request #9787 from cakesoft-omkar/develop
...
Update control-structures.rst
2020-09-12 10:25:18 +02:00
Harikrishnan Mulackal
d166c2540a
Fix typo block
2020-09-07 17:24:03 +02:00
Harikrishnan Mulackal
acec8f271d
Type Checker: Disallow `virtual` for modifiers in libraries.
2020-09-07 11:17:38 +02:00
Harikrishnan Mulackal
974e35d09c
Tests and changelog
2020-09-03 13:15:38 +02:00
Harikrishnan Mulackal
e2fd41f097
Implemented UnusedFunctionArgumentPruner
2020-09-03 13:15:38 +02:00
Harikrishnan Mulackal
7ff809dc78
Disallow assigning more than once to immutables during the vardecl
2020-08-28 13:42:54 +02:00
Harikrishnan Mulackal
672f391660
Changed canonicalName() to toString() because of internal functions
2020-08-27 21:09:35 +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
Harikrishnan Mulackal
6f22899153
Disallow the exponent to be a signed integer literal
2020-08-27 12:08:45 +02:00
Harikrishnan Mulackal
79b2e41252
Fix inheritdoc tags trying to resolve 'empty' elements
2020-08-26 21:28:00 +02:00
Harikrishnan Mulackal
04a599049f
Merge pull request #9642 from ethereum/fixTypoTry
...
Fix typo.
2020-08-19 12:49:18 +02:00
Harikrishnan Mulackal
bbf15c9af3
Tests and Changelog
2020-08-19 12:41:29 +02:00
Harikrishnan Mulackal
5c6e7f03b4
Extended LoopInvariantCodeMotion for storage and state
2020-08-19 12:41:29 +02:00
Harikrishnan Mulackal
3cbe65e4f3
Refactor SideEffects struct
2020-08-18 14:53:59 +02:00
Harikrishnan Mulackal
58bfe0b0d2
Tests for refactor-SideEffects
2020-08-14 17:44:19 +02:00
Harikrishnan Mulackal
bde0728b9b
Force upgrade package-lock
2020-07-23 20:05:14 +05:30
Harikrishnan Mulackal
f73b25bb78
Removed specialized errors related to constant state mutability
2020-07-14 12:42:47 +05:30
Harikrishnan Mulackal
bb2faf5e49
Updated docs
2020-07-13 19:54:22 +05:30
Harikrishnan Mulackal
6b435b2192
solidity-upgrade: added module to remove visibility of constructors
2020-07-08 18:57:20 +05:30
Harikrishnan Mulackal
849bae2aa7
Natspec: change events() to interfaceEvents()
2020-07-07 17:22:09 +05:30
Harikrishnan Mulackal
40322fa703
Added jumpdest to yul doc.
2020-07-02 16:49:10 +05:30
Harikrishnan Mulackal
eeadb5a6b5
Tests, Docs and Changelog
2020-06-30 16:53:41 +05:30
Harikrishnan Mulackal
d41eaeba56
Added containsNestedMapping()
2020-06-30 16:15:03 +05:30
Harikrishnan Mulackal
4146ff9fcf
NatSpec for events
2020-06-26 15:06:43 +05:30
Harikrishnan Mulackal
231952e01d
Merge pull request #9238 from ethereum/docs-yul-fix-immutable-typos
...
[docs] Fix a few typos in setimmutable/loadimmutable docs
2020-06-22 13:10:41 +05:30
Harikrishnan Mulackal
d8263d331e
Ignore warnings for yulOptimizer tests
2020-06-09 13:03:57 +02:00
Harikrishnan Mulackal
73e634924e
Warn on YUL switch statement with only default statement
2020-06-09 12:32:53 +02:00
Harikrishnan Mulackal
0bc9f772e7
Added an assert for FixedPointType in InlineAssembly
2020-06-02 13:31:10 +05:30
Harikrishnan Mulackal
21e34d7ca9
Fixed seed for randomness, fixed conflicts in errorids
2020-05-26 18:21:47 +05:30
hrkrshnn
37257548d0
Fixed bug when two empty NatSpec comments led to scanning past EOL
2020-05-20 20:26:02 +05:30
hrkrshnn
4a001d568e
Removed null members from JSON output
2020-05-20 16:56:33 +05:30