Skip to content

Conversation

@frobtech
Copy link
Contributor

This removes the custom template for fenv.h by declaring all the
standard-specified macros using macro_header.

This removes the custom template for fenv.h by declaring all the
standard-specified macros using macro_header.
@frobtech frobtech requested review from Caslyn and lntue February 16, 2025 01:39
@frobtech frobtech marked this pull request as ready for review February 16, 2025 01:39
@llvmbot llvmbot added the libc label Feb 16, 2025
@llvmbot
Copy link
Member

llvmbot commented Feb 16, 2025

@llvm/pr-subscribers-libc

Author: Roland McGrath (frobtech)

Changes

This removes the custom template for fenv.h by declaring all the
standard-specified macros using macro_header.


Full diff: https://github.com/llvm/llvm-project/pull/127363.diff

2 Files Affected:

  • (removed) libc/include/fenv.h.def (-17)
  • (modified) libc/include/fenv.yaml (+26-7)
diff --git a/libc/include/fenv.h.def b/libc/include/fenv.h.def
deleted file mode 100644
index c677b2a5930dc..0000000000000
--- a/libc/include/fenv.h.def
+++ /dev/null
@@ -1,17 +0,0 @@
-//===-- C standard library header fenv.h ----------------------------------===//
-//
-// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
-// See https://llvm.org/LICENSE.txt for license information.
-// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_LIBC_FENV_H
-#define LLVM_LIBC_FENV_H
-
-#include "__llvm-libc-common.h"
-#include "llvm-libc-macros/fenv-macros.h"
-
-%%public_api()
-
-#endif // LLVM_LIBC_FENV_H
diff --git a/libc/include/fenv.yaml b/libc/include/fenv.yaml
index 1ecaf63085504..8d0bf27d34162 100644
--- a/libc/include/fenv.yaml
+++ b/libc/include/fenv.yaml
@@ -1,11 +1,30 @@
 header: fenv.h
-header_template: fenv.h.def
-macros: []
+standards:
+  - stdc
+macros:
+  - macro_name: FE_ALL_EXCEPT
+    macro_header: fenv-macros.h
+  - macro_name: FE_DIVBYZERO
+    macro_header: fenv-macros.h
+  - macro_name: FE_INEXACT
+    macro_header: fenv-macros.h
+  - macro_name: FE_INVALID
+    macro_header: fenv-macros.h
+  - macro_name: FE_OVERFLOW
+    macro_header: fenv-macros.h
+  - macro_name: FE_UNDERFLOW
+    macro_header: fenv-macros.h
+  - macro_name: FE_DOWNWARD
+    macro_header: fenv-macros.h
+  - macro_name: FE_DOWNWARD
+    macro_header: fenv-macros.h
+  - macro_name: FE_UPWARD
+    macro_header: fenv-macros.h
+  - macro_name: FE_DFL_ENV
+    macro_header: fenv-macros.h
 types:
   - type_name: fenv_t
   - type_name: fexcept_t
-enums: []
-objects: []
 functions:
   - name: feclearexcept
     standards:
@@ -15,14 +34,14 @@ functions:
       - type: int
   - name: fedisableexcept
     standards:
-      - GNUExtensions
+      - gnu
     return_type: int
     arguments:
       - type: int
     guard: null
   - name: feenableexcept
     standards:
-      - GNUExtensions
+      - gnu
     return_type: int
     arguments:
       - type: int
@@ -35,7 +54,7 @@ functions:
       - type: fenv_t *
   - name: fegetexcept
     standards:
-      - GNUExtensions
+      - gnu
     return_type: int
     arguments: []
   - name: fegetexceptflag

@frobtech frobtech merged commit 8fe290e into llvm:main Feb 18, 2025
11 of 13 checks passed
@frobtech frobtech deleted the p/libc-fenv-header branch February 18, 2025 01:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants