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

Ensure Endfilter basic block is preserved even if technically unreachable. #69922

Merged
merged 2 commits into from
Sep 14, 2023

Conversation

AlekseyTs
Copy link
Contributor

Fixes #67494.

@AlekseyTs AlekseyTs requested a review from a team as a code owner September 12, 2023 22:08
@dotnet-issue-labeler dotnet-issue-labeler bot added the untriaged Issues and PRs which have not yet been triaged by a lead label Sep 12, 2023
@jaredpar jaredpar added this to the 17.8 milestone Sep 12, 2023
@AlekseyTs
Copy link
Contributor Author

@dotnet/roslyn-compiler Please review

1 similar comment
@AlekseyTs
Copy link
Contributor Author

@dotnet/roslyn-compiler Please review

@RikkiGibson RikkiGibson self-assigned this Sep 13, 2023

static void M3()
{
System.Console.Write("M2");
Copy link
Contributor

@RikkiGibson RikkiGibson Sep 13, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: The method name in this call doesn't match the containing method. Consider removing the call if it is not used by the test. #Resolved

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
System.Console.Write("M2");
System.Console.Write("M3");


static void M3()
{
System.Console.Write("M2");
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
System.Console.Write("M2");
System.Console.Write("M3");

var verifier = CompileAndVerify(source, options: TestOptions.ReleaseExe, expectedOutput: "M1M4M1M2Catch",
// False PEVerify failure:
// PEVerify failed for assembly
// [ : C::M][mdToken=0x6000004][offset 0x0000000E] Stack not empty when leaving an exception filter.
Copy link
Member

@jjonescz jjonescz Sep 14, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the PEVerify failures can be verified programmatically by something like Verification.FailsPEVerify with { PEVerifyMessage = "..." }. #Resolved

@AlekseyTs AlekseyTs enabled auto-merge (squash) September 14, 2023 16:16
@AlekseyTs AlekseyTs merged commit 8ee1f03 into dotnet:main Sep 14, 2023
25 checks passed
@ghost ghost modified the milestones: 17.8, Next Sep 14, 2023
@Cosifne Cosifne modified the milestones: Next, 17.8 P3 Sep 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Compilers untriaged Issues and PRs which have not yet been triaged by a lead
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Invalid IL produced for an always-throwing filter expression
5 participants