Commit Graph

18554 Commits

Author SHA1 Message Date
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
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
chriseth
e8843fe1d3
Merge pull request #10414 from ethereum/noEmptyStableRun
Abort early if the optimizer sequence is empty.
2020-11-26 17:16:21 +01:00
chriseth
ac9b31d623 Abort early if the optimizer sequence is empty. 2020-11-26 16:41:20 +01:00
chriseth
3e5396598b
Merge pull request #10410 from ethereum/ir-fixedbytes-bitnot
Support BitNot on FixedBytes in IR
2020-11-26 14:42:52 +01:00
Alex Beregszaszi
cbae5ca324 Support BitNot on FixedBytes in IR 2020-11-26 13:20:02 +00:00
chriseth
39adbfc0cc
Merge pull request #10391 from ethereum/activateNestedArrayCopyingCalldata2Memory
Support copying of nested calldata arrays to memory.
2020-11-26 12:41:53 +01:00
Djordje Mijovic
26d454d8a8 Using auto to avoid type name duplication. 2020-11-26 12:13:32 +01:00
Djordje Mijovic
565d0cd4eb Support copying of nested calldata arrays to memory. 2020-11-26 12:13:29 +01:00
chriseth
101260943a
Merge pull request #10407 from ethereum/calldataStructArrayMemberAccessSol2Yul
[Sol->Yul] Implementing member access to arrays in calldata structs.
2020-11-26 11:59:06 +01:00
Djordje Mijovic
bae32ac402 [Sol->Yul] Implementing member access to arrays in calldata structs. 2020-11-26 11:46:31 +01:00
Đorđe Mijović
5f732cb3ca
Merge pull request #10402 from ethereum/ir-fix-library-call
Properly terminate definitions using define() in IRGenerateForStatements
2020-11-26 10:07:27 +01:00
Alex Beregszaszi
8d9c332593 Properly terminate definitions using define() in IRGenerateForStatements
The lack of termination can result in unparseable output.
2020-11-25 16:41:39 +00:00
Đorđe Mijović
7eb5fc31f8
Merge pull request #10394 from ethereum/viayul-tests
Switch compileViaYul to also where appropriate
2020-11-25 16:46:30 +01:00
Alex Beregszaszi
b283a2f894
Merge pull request #10400 from ethereum/fixAbiCoderV2Pragmas
Fixing pragmas to abicoder v2.
2020-11-25 14:45:54 +00:00
Alex Beregszaszi
159f50e189 Turn on semantic tests for the old codegen where possible
These were marked IR-only, but they do pass on the old codegen too.

Also add old codegen version of semantictests/revertStrings/function_entry_checks.
2020-11-25 14:33:39 +00:00
Djordje Mijovic
5077deb285 Fixing pragmas to abicoder v2. 2020-11-25 15:13:57 +01:00
chriseth
f02bc817af
Merge pull request #10388 from ethereum/forwardRevertOnCreate
[Sol->Yul] Forward failure for creation.
2020-11-25 10:39:54 +01:00
chriseth
ec49f4c905
Merge pull request #10393 from ethereum/getters
Add more tests for getters
2020-11-25 10:09:38 +01:00
chriseth
bdc571cfb6
Merge pull request #10385 from ethereum/activateStructCopyingOldCodegen
Support copying dynamically encoded structs from calldata to memory.
2020-11-25 10:07:13 +01:00
chriseth
acdefd3dba
Merge pull request #10395 from midinas/patch-1
Fix in documentation: abi-spec.rst
2020-11-25 09:53:36 +01:00
midinas
c6daf30b7d
Update docs abi-spec.rst
Fixed description of enum.
2020-11-24 16:44:35 -10:00
Alex Beregszaszi
53b635a21f Add more tests for getters 2020-11-24 22:37:42 +00:00
Đorđe Mijović
ae34fba49b
Merge pull request #10380 from ethereum/smtLogicErrorInt2Bv
[SMTChecker] Fix SMT logic error when doing compound assignment with string literals
2020-11-24 20:55:55 +01:00
Djordje Mijovic
200227ab75 Support copying dynamically encoded structs from calldata to memory. 2020-11-24 20:36:17 +01:00
chriseth
cedb56ed81 Forward failure for creation. 2020-11-24 19:54:18 +01:00
Djordje Mijovic
26c43cfc66 [SMTChecker] Fix SMT logic error when doing compound assignment with string literlas. 2020-11-24 19:14:15 +01:00
chriseth
2d235bf7b0
Merge pull request #10341 from ethereum/optimizeAllocation
Do not allocate memory objects if they will be assigned directly.
2020-11-24 16:05:46 +01:00
chriseth
3e5816097e
Merge pull request #10351 from ethereum/useNewPragma
Use new abi coder pragma
2020-11-24 15:44:03 +01:00
chriseth
79669ecd48 Use new abicoder pragma. 2020-11-24 14:57:45 +01:00
chriseth
36f9392154
Merge pull request #10361 from ethereum/bytecode-comparison-build-dir-outside-repo-root
Allow BUILD_DIR outside of REPO_ROOT in storebytecode.sh
2020-11-24 14:48:22 +01:00
chriseth
dbb24484e9
Update test/libsolidity/semanticTests/memoryManagement/assembly_access.sol
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2020-11-24 14:39:37 +01:00
chriseth
d2e2f3a994
Merge pull request #10353 from ethereum/copyStructCalldata2MemSol2Yul
[Sol->Yul] Implementing copying dynamically encoded structs from calldata to memory
2020-11-24 14:18:45 +01:00
chriseth
409e92580f Do not allocate memory objects if they will be assigned directly. 2020-11-24 14:11:01 +01:00
chriseth
f9f9f6251d
Merge pull request #10297 from ethereum/linker-fix-spurious-errors-on-underscores
[linker] Avoid spurious errors on stray underscores in --link input
2020-11-24 12:02:15 +01:00
chriseth
6f8435301e
Merge pull request #10352 from ethereum/solc-bin-docs
Document solc-bin
2020-11-24 11:01:17 +01:00
Djordje Mijovic
eea6513b5d [Sol->Yul] Implementing copying dynamically encoded structs from calldata to memory
Co-authored-by: Leonardo <leo@ethereum.org>
2020-11-23 23:22:34 +01:00
Kamil Śliwak
2a8cff626b CommandLineInterface::link(): Print invalid link references to stderr 2020-11-23 20:29:45 +01:00
Kamil Śliwak
f099d48b34 CommandLineInterface::link(): Report an error if a placeholder does not have exactly four underscores 2020-11-23 20:29:45 +01:00
Kamil Śliwak
bd1989bd0b CommandLineInterface::link(): Rename confusingly named "name" to "foundPlaceholder" 2020-11-23 20:29:45 +01:00
Kamil Śliwak
8044ea602c installing-solidity.rst: Capitalize headers and the project name 2020-11-23 20:29:30 +01:00
Kamil Śliwak
c58341022f installing-solidity.rst: Add a section about Static binaries and solc-bin 2020-11-23 20:29:30 +01:00
Kamil Śliwak
be5143bbec installing-solidity.rst: Add a link to ccache 2020-11-23 20:29:30 +01:00
Kamil Śliwak
5f0372c5b8 installing-solidity.rst: Put information about macOS packages in a separate section 2020-11-23 20:29:30 +01:00
Leonardo
61425e3541
Merge pull request #10378 from ethereum/smt_fix_spellcheck
Fix spelling in SMTChecker comment
2020-11-23 18:14:58 -01:00
chriseth
ee657f5361
Merge pull request #10214 from ethereum/fallbackReturn
Allow fallback function to return data.
2020-11-23 19:49:59 +01:00
Leonardo Alt
68cfa0a901 Fix spelling in SMTChecker comment 2020-11-23 19:40:29 +01:00
chriseth
91c88a5f6b
Merge pull request #10346 from ethereum/boundFunctions
[Sol->Yul] Bound functions.
2020-11-23 19:09:20 +01:00
chriseth
f87edb6efc Bound functions. 2020-11-23 18:58:23 +01:00