[libc-commits] [libc] 8fe290e - [libc] Canonicalize generated fenv.h (#127363)

via libc-commits libc-commits at lists.llvm.org
Mon Feb 17 17:07:02 PST 2025


Author: Roland McGrath
Date: 2025-02-17T17:06:59-08:00
New Revision: 8fe290efa634c449937d0576e391555d0ebb6efb

URL: https://github.com/llvm/llvm-project/commit/8fe290efa634c449937d0576e391555d0ebb6efb
DIFF: https://github.com/llvm/llvm-project/commit/8fe290efa634c449937d0576e391555d0ebb6efb.diff

LOG: [libc] Canonicalize generated fenv.h (#127363)

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

Added: 
    

Modified: 
    libc/include/fenv.yaml

Removed: 
    libc/include/fenv.h.def


################################################################################
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..c7cc7e87df37f 100644
--- a/libc/include/fenv.yaml
+++ b/libc/include/fenv.yaml
@@ -1,11 +1,32 @@
 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_TONEAREST
+    macro_header: fenv-macros.h
+  - macro_name: FE_TOWARDZERO
+    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 +36,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 +56,7 @@ functions:
       - type: fenv_t *
   - name: fegetexcept
     standards:
-      - GNUExtensions
+      - gnu
     return_type: int
     arguments: []
   - name: fegetexceptflag


        


More information about the libc-commits mailing list