Sitelet https://web.archive.org/web/20201113050413/https://github.com/ethereum/solidity/pull/8913
Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mark EVM instruction `pc()` as deprecated when used in inline assembly. #8913

Merged
merged 1 commit into from May 27, 2020

Conversation

@christianparpart
Copy link
Member

@christianparpart christianparpart commented May 12, 2020

References #7965.

It only marks pc() as deprecated.

@christianparpart christianparpart requested review from Marenz and chriseth May 12, 2020
@christianparpart christianparpart force-pushed the yul-remove-pc-instr branch from 70e3343 to 364176a May 12, 2020
@christianparpart christianparpart force-pushed the yul-remove-pc-instr branch from 364176a to 26be91e May 13, 2020
@christianparpart christianparpart requested a review from chriseth May 13, 2020
libyul/AsmAnalysis.cpp Outdated Show resolved Hide resolved
libyul/optimiser/Semantics.h Outdated Show resolved Hide resolved
libyul/AsmAnalysis.cpp Outdated Show resolved Hide resolved
Copy link
Contributor

@chriseth chriseth left a comment

Please remove PCFinder.

@elenadimitrova elenadimitrova added this to In progress in Solidity via automation May 14, 2020
@elenadimitrova elenadimitrova moved this from In progress to Review in progress in Solidity May 14, 2020
@christianparpart christianparpart force-pushed the yul-remove-pc-instr branch from 26be91e to 1f8cf2c May 15, 2020
@christianparpart christianparpart requested review from chriseth and hrkrshnn May 15, 2020
Changelog.md Outdated Show resolved Hide resolved
@christianparpart christianparpart force-pushed the yul-remove-pc-instr branch from 1f8cf2c to 77ef699 May 15, 2020
libyul/AsmAnalysis.cpp Outdated Show resolved Hide resolved
@christianparpart christianparpart force-pushed the yul-remove-pc-instr branch from 77ef699 to 72e5d13 May 18, 2020
libyul/Dialect.h Outdated Show resolved Hide resolved
@christianparpart christianparpart force-pushed the yul-remove-pc-instr branch from 72e5d13 to c09f181 May 20, 2020
Copy link
Contributor

@Marenz Marenz left a comment

And of course the failing tests.

libyul/AsmAnalysis.cpp Outdated Show resolved Hide resolved
@christianparpart christianparpart force-pushed the yul-remove-pc-instr branch 3 times, most recently from ae75ad8 to 7c4c574 May 22, 2020
@christianparpart christianparpart force-pushed the yul-remove-pc-instr branch from 7c4c574 to 369a99c May 27, 2020
@christianparpart christianparpart force-pushed the yul-remove-pc-instr branch from 369a99c to 59ed62d May 27, 2020
@christianparpart christianparpart requested review from chriseth and hrkrshnn May 27, 2020
@@ -29,6 +29,7 @@ Important Bugfixes:

Language Features:
* Implemented ``type(T).min`` and ``type(T).max`` for every integer type ``T`` that returns the smallest and largest value representable by the type.
* Yul: EVM instruction `pc()` is marked deprecated and will be removed in the next breaking release.

This comment has been minimized.

@chriseth

chriseth May 27, 2020
Contributor

This is in the wrong release.

This comment has been minimized.

Copy link
Contributor

@chriseth chriseth left a comment

Update changelog.

@christianparpart christianparpart force-pushed the yul-remove-pc-instr branch from 59ed62d to b7fa5d5 May 27, 2020
@chriseth chriseth merged commit afa873f into develop May 27, 2020
7 of 21 checks passed
7 of 21 checks passed
ci/circleci: b_archlinux CircleCI is running your tests
Details
ci/circleci: b_ems CircleCI is running your tests
Details
ci/circleci: b_osx CircleCI is running your tests
Details
ci/circleci: b_ubu CircleCI is running your tests
Details
ci/circleci: b_ubu18 CircleCI is running your tests
Details
ci/circleci: b_ubu_asan CircleCI is running your tests
Details
ci/circleci: b_ubu_asan_clang CircleCI is running your tests
Details
ci/circleci: b_ubu_clang CircleCI is running your tests
Details
ci/circleci: b_ubu_cxx20 CircleCI is running your tests
Details
ci/circleci: b_ubu_ossfuzz CircleCI is running your tests
Details
ci/circleci: b_ubu_release CircleCI is running your tests
Details
ci/circleci: chk_antlr_grammar CircleCI is running your tests
Details
continuous-integration/appveyor/pr Waiting for AppVeyor build to complete
Details
continuous-integration/travis-ci/pr The Travis CI build is in progress
Details
ci/circleci: b_docs Your tests passed on CircleCI!
Details
ci/circleci: chk_buglist Your tests passed on CircleCI!
Details
ci/circleci: chk_coding_style Your tests passed on CircleCI!
Details
ci/circleci: chk_docs_pragma_min_version Your tests passed on CircleCI!
Details
ci/circleci: chk_proofs Your tests passed on CircleCI!
Details
ci/circleci: chk_pylint Your tests passed on CircleCI!
Details
ci/circleci: chk_spelling Your tests passed on CircleCI!
Details
Solidity automation moved this from Review in progress to Done May 27, 2020
@chriseth chriseth deleted the yul-remove-pc-instr branch May 27, 2020
@@ -6,7 +6,6 @@
pop(extcodehash(0))
pop(returndatasize())
pop(sload(0))
pop(pc())

This comment has been minimized.

@axic

axic May 27, 2020
Member

Why was this and the test above removed? It is deprecated but still has to produce proper code.

This comment has been minimized.

@christianparpart

christianparpart May 27, 2020
Author Member

It's a warning now but going to be removed in the next breaking release, which is about to be soon(?).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Solidity
  
Done
Linked issues

Successfully merging this pull request may close these issues.

None yet

5 participants
You can’t perform that action at this time.