From d5ea19405dc98a20940308623d738b482cd7ef6a Mon Sep 17 00:00:00 2001
From: Fabrice de Gans <fabrice@thebrowser.company>
Date: Fri, 21 Mar 2025 10:01:01 -0700
Subject: [PATCH] Put float and stddef back inside the ucrt module

These were split out in #79751. However, this split is not needed for
these. Furthermore, modulemaps have bugs when it comes to re-exporting
some modules, resulting in missing exports.
---
 stdlib/public/Platform/ucrt.modulemap | 25 ++++++++++---------------
 1 file changed, 10 insertions(+), 15 deletions(-)

diff --git a/stdlib/public/Platform/ucrt.modulemap b/stdlib/public/Platform/ucrt.modulemap
index 86bcdca2cd2c1..f57d9e62b3131 100644
--- a/stdlib/public/Platform/ucrt.modulemap
+++ b/stdlib/public/Platform/ucrt.modulemap
@@ -25,19 +25,6 @@ module _complex [system] [no_undeclared_includes] {
   export *
 }
 
-module _fenv [system] [no_undeclared_includes] {
-  use corecrt
-  use _float
-  header "fenv.h"
-  export *
-}
-
-module _float [system] [no_undeclared_includes] {
-  use corecrt
-  header "float.h"
-  export *
-}
-
 module _stddef [system] [no_undeclared_includes] {
   header "stddef.h"
   export *
@@ -54,8 +41,6 @@ module ucrt [system] {
 
   module C {
     export _complex
-    export _fenv
-    export _float
     export _stddef
     export _stdlib
 
@@ -69,6 +54,16 @@ module ucrt [system] {
       export *
     }
 
+    module fenv {
+      header "fenv.h"
+      export *
+    }
+
+    module float {
+      header "float.h"
+      export *
+    }
+
     module inttypes {
       header "inttypes.h"
       export *