Skip to content

Conversation

MichalStrehovsky
Copy link
Member

  • llcOptimizationPreference was renamed to OptimizationPreference and became supported in .NET 8 (or maybe .NET 7, it doesn't matter)
  • IlcGenerateStackTraceData is now StackTraceSupport and supported. (Also got renamed in .NET 8 or maybe in 7 already.)

I'm leaving the old names of properties for backcompat. We could also delete them. I don't know how much BDN cares about .NET versions that are out of support.

The last one, IlcGenerateCompleteTypeMetadata is unsupported, we don't test it, it's a mode for troubleshooting trimming issues for people who ignore trimming warnings. I don't think BDN should be setting this. You'll only find bugs (dotnet/runtime#106439). So deleting that. Not deleting the API because it looks to be a public API.

* `llcOptimizationPreference` was renamed to `OptimizationPreference` and became supported in .NET 8 (or maybe .NET 7, it doesn't matter)
* `IlcGenerateStackTraceData` is now `StackTraceSupport` and supported. (Also got renamed in .NET 8 or earlier.)

I'm leaving the old names of properties for backcompat. We could also delete them. I don't know how much BDN cares about .NET versions that are out of support.

IlcGenerateCompleteTypeMetadata is unsupported, we don't test it, it's a mode for troubleshooting trimming issues for people who ignore trimming warnings. I don't think BDN should be setting this. You'll only find bugs (dotnet/runtime#106439). So deleting that. Not deleting the API because it looks to be a public API.
@am11
Copy link
Member

am11 commented Aug 15, 2024

@MichalStrehovsky, there is another warning due to line 167:

/Users/am11/.nuget/packages/microsoft.net.illink.tasks/9.0.0-rc.1.24410.5/build/Microsoft.NET.ILLink.targets(220,5): warning : Property 'TrimmerDefaultAction' is deprecated in .NET 7 and higher and will be ignored. Use TrimMode instead.

This patch should fix it:

-                : "<TrimMode>link</TrimMode><TrimmerDefaultAction>link</TrimmerDefaultAction>";
+                : @"<TrimMode>link</TrimMode>
+    <TrimmerDefaultAction Condition=""$([MSBuild]::VersionLessThan('$(NETCoreSdkVersion)', '7.0'))"">link</TrimmerDefaultAction>";

@MichalStrehovsky
Copy link
Member Author

This patch should fix it:

We'd also need to condition TrimMode - valid values of TrimMode after .NET 7 are partial and full (with the latter as the default). I'd honestly just delete the "less than or equal to .NET 6" support for native AOT, those were all various experimental unsupported products the perf of which is not very interesting anymore.

These are however all orthogonal to what this PR is doing.

Copy link
Member

@adamsitnik adamsitnik left a comment

Choose a reason for hiding this comment

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

LGTM, thank you @MichalStrehovsky and @am11 !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants