From 94f155fa25a784eb9ce5008ba867e4fb0c1702c5 Mon Sep 17 00:00:00 2001
From: vsadov <8218165+VSadov@users.noreply.github.com>
Date: Sun, 30 Mar 2025 10:02:01 -0700
Subject: [PATCH 1/4] No-op comment change
---
src/coreclr/vm/array.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/coreclr/vm/array.h b/src/coreclr/vm/array.h
index 1f687f140eef3b..3f9df733dcc904 100644
--- a/src/coreclr/vm/array.h
+++ b/src/coreclr/vm/array.h
@@ -8,7 +8,7 @@
// A 32 dimension array with at least 2 elements in each dimension requires
// 4gb of memory. Limit the maximum number of dimensions to a value that
// requires 4gb of memory.
-// If you make this bigger, you need to make MAX_CLASSNAME_LENGTH bigger too.
+// If you make this bigger, you need to make MAX_CLASSNAME_LENGTH bigger too..
#define MAX_RANK 32
class MethodTable;
From 435083e68a49bf081aa778d2f417772d3db8c100 Mon Sep 17 00:00:00 2001
From: vsadov <8218165+VSadov@users.noreply.github.com>
Date: Sun, 6 Apr 2025 08:04:49 -0700
Subject: [PATCH 2/4] another change to trigger NativeAOT tests
---
src/coreclr/nativeaot/Runtime/Crst.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/coreclr/nativeaot/Runtime/Crst.h b/src/coreclr/nativeaot/Runtime/Crst.h
index 13e2177afb77bd..28491ab7ef1f30 100644
--- a/src/coreclr/nativeaot/Runtime/Crst.h
+++ b/src/coreclr/nativeaot/Runtime/Crst.h
@@ -5,7 +5,7 @@
// -----------------------------------------------------------------------------------------------------------
//
// Minimal Crst implementation. Doesn't support much except for the basic locking
-// functionality (in particular there is no rank violation checking).
+// functionality (in particular there is no rank violation checking)...
//
#ifndef __Crst_h__
From 1cee820f31cfe0d06127233e1e57958058c4a7b1 Mon Sep 17 00:00:00 2001
From: vsadov <8218165+VSadov@users.noreply.github.com>
Date: Sun, 6 Apr 2025 08:09:35 -0700
Subject: [PATCH 3/4] one more change
---
.../System.Private.CoreLib/src/System/Threading/Tasks/Task.cs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs b/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs
index 1f3020782e754b..c0e896bb5c0e9f 100644
--- a/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs
+++ b/src/libraries/System.Private.CoreLib/src/System/Threading/Tasks/Task.cs
@@ -134,7 +134,7 @@ public class Task : IAsyncResult, IDisposable
[Flags]
internal enum TaskStateFlags
{
- // State constants for m_stateFlags;
+ // State constants for m_stateFlags:
// The bits of m_stateFlags are allocated as follows:
// 0x7FFF0000 - Task state flags
// 0x0000FF00 - internal TaskCreationOptions flags
From d166d3cdee552f58a5970b979de9dfe0a949f301 Mon Sep 17 00:00:00 2001
From: vsadov <8218165+VSadov@users.noreply.github.com>
Date: Fri, 5 Sep 2025 18:14:34 -0700
Subject: [PATCH 4/4] Enable async feature/tests
---
src/coreclr/inc/clrconfigvalues.h | 2 +-
src/tests/async/Directory.Build.props | 2 +-
src/tests/async/Directory.Build.targets | 5 -----
src/tests/async/struct/struct.cs | 4 ++++
4 files changed, 6 insertions(+), 7 deletions(-)
diff --git a/src/coreclr/inc/clrconfigvalues.h b/src/coreclr/inc/clrconfigvalues.h
index 542510f79b4a74..3c2a9c3dab3dd8 100644
--- a/src/coreclr/inc/clrconfigvalues.h
+++ b/src/coreclr/inc/clrconfigvalues.h
@@ -720,7 +720,7 @@ RETAIL_CONFIG_DWORD_INFO(EXTERNAL_EnableRiscV64Zbb, W("EnableRiscV64
#endif
// Runtime-async
-RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_RuntimeAsync, W("RuntimeAsync"), 0, "Enables runtime async method support")
+RETAIL_CONFIG_DWORD_INFO(UNSUPPORTED_RuntimeAsync, W("RuntimeAsync"), 1, "Enables runtime async method support")
///
/// Uncategorized
diff --git a/src/tests/async/Directory.Build.props b/src/tests/async/Directory.Build.props
index a1f7d48cf60a7d..f505092384b1b1 100644
--- a/src/tests/async/Directory.Build.props
+++ b/src/tests/async/Directory.Build.props
@@ -5,7 +5,7 @@
true
- $(NoWarn);xUnit1013;CS1998
+ $(NoWarn);xUnit1013;CS1998;SYSLIB5007
false
$(Features);runtime-async=on
diff --git a/src/tests/async/Directory.Build.targets b/src/tests/async/Directory.Build.targets
index 5a4d413a9e1f62..61a1b2822ed114 100644
--- a/src/tests/async/Directory.Build.targets
+++ b/src/tests/async/Directory.Build.targets
@@ -4,10 +4,5 @@
true
-
-
- true
-
-
diff --git a/src/tests/async/struct/struct.cs b/src/tests/async/struct/struct.cs
index 7c5062d499cb42..32116fe3cec777 100644
--- a/src/tests/async/struct/struct.cs
+++ b/src/tests/async/struct/struct.cs
@@ -45,6 +45,8 @@ private struct S
public S(int value) => Value = value;
+ // Roslyn NYI - async in structs. Remove opt-out once supported.
+ [System.Runtime.CompilerServices.RuntimeAsyncMethodGeneration(false)]
public async Task Test()
{
// TODO: C# compiler is expected to do this, but not in the prototype.
@@ -59,6 +61,8 @@ public async Task Test()
AssertEqual(102, @this.Value);
}
+ // Roslyn NYI - async in structs. Remove opt-out once supported.
+ [System.Runtime.CompilerServices.RuntimeAsyncMethodGeneration(false)]
private async Task InstanceCall()
{
// TODO: C# compiler is expected to do this, but not in the prototype.