Commit Graph
18553 Commits
Author SHA1 Message Date
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
chrisethandKamil Śliwak 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 MijovicandLeonardo 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
chriseth aa6e96ce88 Merge pull request #10375 from ethereum/spelling
Add Ether as an exception to codespell
2020-11-23 18:21:31 +01:00