Age | Commit message (Collapse) | Author |
|
|
|
Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk
From Version 7.0.0-beta.22379.10 -> To Version 7.0.0-beta.22558.4
|
|
Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk
From Version 7.0.0-beta.22379.10 -> To Version 7.0.0-beta.22513.4
|
|
Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk
From Version 7.0.0-beta.22379.10 -> To Version 7.0.0-beta.22464.4
|
|
Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk
From Version 7.0.0-beta.22379.10 -> To Version 7.0.0-beta.22458.5
|
|
Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk
From Version 7.0.0-beta.22379.10 -> To Version 7.0.0-beta.22418.4
|
|
Adds an ILVerifier to check that the IL produced by the linker is valid. Unsafe C# produced unverifiable code, so we skip verification when we pass that flag to the compiler. Also, there are a few warnings that are produced by valid C# with new features like static abstract interface methods and ref fields and ref returns.
In the future, it may be nice to add better error messages with the type, method name, and IL offset that produced the error, and perhaps an [ExpectedILVerifyError] attribute instead of filtering all of a type of error, but those are non-trivial to implement and don't occur in many tests (<10), so I haven't done that yet.
|
|
fe3a96424d28fb5b1eee4ca8c7e1713aa37247a4 and
d9aebf322b9dd6dcea16576d886bffbbe15e902f together broke the build
because we are referencing a version of the compiler package greater
than that used to compile the project. This uses the same version for
both.
|
|
Adds test to use ref fields in various ways to confirm that they don't cause the linker to crash.
|
|
dede5f58dc9b7296de884ed62688b35d5b154b78 didn't fix the dependency
flow, because the packages for some reason are still being produced
with a preview7 in the runtimeconfig. Lacking better workarounds, this
change builds with the preview5 SDK that was selected in #2884 before
we decided to update to preview7 (due to a dotnet-format bug). This
disables the lint job to prevent those failures. We should turn it
back on once we can use preview7 (once dotnet/runtime and dotnet/sdk
are on preview7).
|
|
(#2951)
[main] Update dependencies from dotnet/runtime
|
|
(#2935)
Microsoft.DotNet.ApiCompat , Microsoft.DotNet.Arcade.Sdk
From Version 7.0.0-beta.22372.1 -> To Version 7.0.0-beta.22379.10
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
|
|
(#2936)
Microsoft.NET.Sdk.IL
From Version 7.0.0-rc.1.22374.4 -> To Version 7.0.0-rc.1.22381.5
Co-authored-by: dotnet-maestro[bot] <dotnet-maestro[bot]@users.noreply.github.com>
|
|
methods (#2868)
Fixes #2865
Also addresses marking of all static interface methods encompassing the changes from #2859, and updates the way that all interface methods are marked. Whether or not we mark an interface method due to its base method is now separated from marking other virtual methods and the marking is postponed to ProcessMarkedTypesWithInterface. In ProcessMarkedTypesWithInterfaces, interface implementations are marked, and methods that implement a marked/implemented interface are marked. Tests for static interface methods have also been updated.
Co-authored-by: Sven Boemer <sbomer@gmail.com>
|
|
[main] Update dependencies from dotnet/arcade
- Bump to 7.0 preview6 sdk
Fixes the dotnet-format issue.
- Use TryGetValue instead of ContainsKey for Dictionary
Fixes "error CA1854: Prefer a 'TryGetValue' call over a Dictionary indexer access guarded by a 'ContainsKey' check to avoid double lookup"
- Seal classes to fix CA1852
- Add 7.0 P6 runtime
- Upgrade SDK to nightly Preview 7 to get a fix for dotnet test bug
|
|
(#2913)
[main] Update dependencies from dotnet/runtime
|
|
|
|
(#2897)
[main] Update dependencies from dotnet/runtime
|
|
(#2885)
[main] Update dependencies from dotnet/runtime
|
|
(#2878)
[main] Update dependencies from dotnet/runtime
|
|
(#2877)
[main] Update dependencies from dotnet/arcade
|
|
(#2866)
[main] Update dependencies from dotnet/arcade
|
|
(#2867)
[main] Update dependencies from dotnet/runtime
|
|
(#2850)
[main] Update dependencies from dotnet/arcade
|
|
(#2851)
[main] Update dependencies from dotnet/runtime
|
|
Adds support for `IImplicitIndexerReferenceOperation`, which
represents an implicit access to an indexer that uses
`System.Index`. Implicit means that there is no `System.Index`
accessor in IL, but the compiler supports `System.Index` access
via an existing indexer (for example one that takes int) for
types that satisfy certain criteria. See
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/proposals/csharp-8.0/ranges#implicit-index-support
for details.
This operation only showed up in the CFG with a more recent
version of the Roslyn APIs, so this includes an update to match
the one used in dotnet/runtime. This resulted in a few changes to
the generated code that required tweaking some of the test
validation:
- Delegate cache fields are emitted. This reuses an existing
attribute originally designed for mcs, but it has been updated to
check for these compiler-generated fields.
- `<PrivateImplementationDetails>.ThrowSwitchExpressionException`
is emitted for an implicit unhandled case in switch
expressions. This change includes a new attribute to check that
this is kept in a few of the tests.
|
|
(#2835)
[main] Update dependencies from dotnet/runtime
|
|
(#2834)
[main] Update dependencies from dotnet/arcade
|
|
(#2822)
[main] Update dependencies from dotnet/runtime
|
|
(#2821)
[main] Update dependencies from dotnet/arcade
|
|
* Don't warn on enum switch if named values are exhaustive
* Remove Using
* Add StaticCs to suppress warnings for Closed enums
* Stop copying attribute assembly to output
Co-authored-by: Andy Gocke <angocke@microsoft.com>
|
|
(#2811)
[main] Update dependencies from dotnet/arcade
|
|
(#2812)
[main] Update dependencies from dotnet/runtime
|
|
(#2803)
[main] Update dependencies from dotnet/runtime
|
|
(#2802)
[main] Update dependencies from dotnet/arcade
|
|
(#2798)
[main] Update dependencies from dotnet/runtime
|
|
(#2797)
[main] Update dependencies from dotnet/arcade
|
|
[main] Update dependencies from dotnet/arcade
- Update the linker repo to .NET 7
Some small refactoring of the build files to avoid having to update multiple places with the new TFM.
Note that not all can be updated as they are used verbatim in the NuGet package, so can't rely on repo-only properties.
Also currently I left the source code to repeat these. Eventually we might investigate generating `.cs` files in the msbuild to "inject" the TFM and other constants from the MSBuild to the compiled code.
For the Roslyn tests, I hardcoded a new 7.0.0-preview.2 ref package reference, but this feels really weird - note that so far we've been testing against 6.0.0-preview.5 version. Ideally there would be some way to deduce the ref package version from the currently used SDK, and use that in the tests.
The formatting changes are induced by running `lint`. I assume this is because of the SDK version change as well, but I don't know for sure.
- Merge branch 'darc-main-3a65fa7f-262c-4578-97fd-670249162fc8' of https://github.com/dotnet/linker into darc-main-3a65fa7f-262c-4578-97fd-670249162fc8
- Merge remote-tracking branch 'mono/main' into darc-main-3a65fa7f-262c-4578-97fd-670249162fc8
- Update to preview 3 SDK
- Update to .NET 7 Preview 4 which should have the necessary changes.
- Formatting
|
|
(#2787)
[main] Update dependencies from dotnet/runtime
|
|
(#2775)
[main] Update dependencies from dotnet/runtime
|
|
(#2760)
[main] Update dependencies from dotnet/runtime
|
|
(#2745)
[main] Update dependencies from dotnet/runtime
|
|
(#2734)
[main] Update dependencies from dotnet/runtime
|
|
(#2720)
[main] Update dependencies from dotnet/runtime
|
|
(#2710)
[main] Update dependencies from dotnet/runtime
|
|
(#2709)
[main] Update dependencies from dotnet/arcade
|
|
(#2698)
[main] Update dependencies from dotnet/runtime
|
|
(#2697)
[main] Update dependencies from dotnet/arcade
|
|
(#2685)
[main] Update dependencies from dotnet/runtime
|
|
(#2684)
[main] Update dependencies from dotnet/arcade
|