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

Fix a case in MethodImpl overriding which wasn't handled as expected in ilc.exe for native aot #106716

Merged
merged 6 commits into from
Sep 5, 2024

Conversation

davidwrighton
Copy link
Member

@davidwrighton davidwrighton commented Aug 20, 2024

  • This was causing real C# applications to fail to behave correctly on NativeAOT builds
  • Enable testing for covariant byref returns on nativeaot (split testing up so that the tests do not expect TypeLoadException, which NativeAOT doesn't reliably generate)
  • Put copy of attributetesting.il test into the managed type system unit test suite
  • Add regression test of issue noted in [NativeAOT] Method overrides with covariant return type don't work in all cases #96175 into managed type system unit test suite
  • Update workflow documentation to include a better path to finding details on how to run CoreCLR and Libraries tests for Native AOT

Fixes #96175
Fixes dotnet/runtimelab#205

…in ilc.exe for native aot

- This was causing real C# applications to fail to behave correctly on NativeAOT builds
- Enable testing for covariant byref returns on nativeaot (split testing up so that the tests do not expect TypeLoadException, which NativeAOT doesn't reliably generate)
- Fix implementation of SynthesizedPgoIncompatible project file flag for test script generation
- Put copy of attributetesting.il test into the managed type system unit test suite
- Add regression test of issue noted in dotnet#96175 into managed type system unit test suite
- Update workflow documentation to include a better path to finding details on how to run CoreCLR and Libraries tests for Native AOT

Fixes dotnet#96175
@agocke
Copy link
Member

agocke commented Aug 20, 2024

/azp run runtime-nativeaot-outerloop

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@davidwrighton
Copy link
Member Author

/azp run runtime-nativeaot-outerloop

Copy link

Azure Pipelines successfully started running 1 pipeline(s).

Copy link
Member

@MichalStrehovsky MichalStrehovsky left a comment

Choose a reason for hiding this comment

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

Thank you!

@@ -127,7 +127,7 @@ IF NOT "%RunningIlasmRoundTrip%"=="" (

<BatchCLRTestEnvironmentCompatibilityCheck Condition="'$(SynthesizedPgoIncompatible)' == 'true'"><![CDATA[
$(BatchCLRTestEnvironmentCompatibilityCheck)
IF NOT "%CrossGen2SynthesizePgo"=="" (
IF NOT "%CrossGen2SynthesizePgo%"=="" (
Copy link
Member

Choose a reason for hiding this comment

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

Should this go in a different PR?

@@ -1164,18 +1164,15 @@

<!-- Covariant returns -->
<!-- https://github.com/dotnet/runtimelab/issues/205 -->
Copy link
Member

Choose a reason for hiding this comment

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

With this PR we can close dotnet/runtimelab#205. Thanks!

Suggested change
<!-- https://github.com/dotnet/runtimelab/issues/205 -->
<!-- Tests that expect TypeLoadException -->

@davidwrighton davidwrighton merged commit 4a17f04 into dotnet:main Sep 5, 2024
95 checks passed
@davidwrighton
Copy link
Member Author

/backport to release/9.0

Copy link
Contributor

github-actions bot commented Sep 5, 2024

Started backporting to release/9.0: https://github.com/dotnet/runtime/actions/runs/10724300520

jtschuster pushed a commit to jtschuster/runtime that referenced this pull request Sep 17, 2024
…in ilc.exe for native aot (dotnet#106716)

* Fix a case in MethodImpl overriding which wasn't handled as expected in ilc.exe for native aot
- This was causing real C# applications to fail to behave correctly on NativeAOT builds
- Enable testing for covariant byref returns on nativeaot (split testing up so that the tests do not expect TypeLoadException, which NativeAOT doesn't reliably generate)
- Put copy of attributetesting.il test into the managed type system unit test suite
- Add regression test of issue noted in dotnet#96175 into managed type system unit test suite
- Update workflow documentation to include a better path to finding details on how to run CoreCLR and Libraries tests for Native AOT

Fixes dotnet#96175
sirntar pushed a commit to sirntar/runtime that referenced this pull request Sep 30, 2024
…in ilc.exe for native aot (dotnet#106716)

* Fix a case in MethodImpl overriding which wasn't handled as expected in ilc.exe for native aot
- This was causing real C# applications to fail to behave correctly on NativeAOT builds
- Enable testing for covariant byref returns on nativeaot (split testing up so that the tests do not expect TypeLoadException, which NativeAOT doesn't reliably generate)
- Put copy of attributetesting.il test into the managed type system unit test suite
- Add regression test of issue noted in dotnet#96175 into managed type system unit test suite
- Update workflow documentation to include a better path to finding details on how to run CoreCLR and Libraries tests for Native AOT

Fixes dotnet#96175
@github-actions github-actions bot locked and limited conversation to collaborators Oct 6, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
3 participants