diff --git a/libcxx/include/CMakeLists.txt b/libcxx/include/CMakeLists.txt index df4909e3ee00..e27fb7602430 100644 --- a/libcxx/include/CMakeLists.txt +++ b/libcxx/include/CMakeLists.txt @@ -1035,7 +1035,6 @@ set(files ext/__hash ext/hash_map ext/hash_set - fenv.h filesystem flat_map flat_set diff --git a/libcxx/include/__cxx03/cfenv b/libcxx/include/__cxx03/cfenv index d3a5839221a8..141338811329 100644 --- a/libcxx/include/__cxx03/cfenv +++ b/libcxx/include/__cxx03/cfenv @@ -54,14 +54,11 @@ int feupdateenv(const fenv_t* envp); #include <__cxx03/__config> -#include - -#ifndef _LIBCPP_FENV_H -# error tried including but didn't find libc++'s header. \ - This usually means that your header search paths are not configured properly. \ - The header search paths should contain the C++ Standard Library headers before \ - any C Standard Library, and you are probably using compiler flags that make that \ - not be the case. +#if __has_include() +# include +# ifdef _LIBCPP_FENV_H +# error "If libc++ starts defining , the __has_include check should move to libc++'s " +# endif #endif #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/cfenv b/libcxx/include/cfenv index d7ea77029753..af73ce777c44 100644 --- a/libcxx/include/cfenv +++ b/libcxx/include/cfenv @@ -57,14 +57,11 @@ int feupdateenv(const fenv_t* envp); #else # include <__config> -# include - -# ifndef _LIBCPP_FENV_H -# error tried including but didn't find libc++'s header. \ - This usually means that your header search paths are not configured properly. \ - The header search paths should contain the C++ Standard Library headers before \ - any C Standard Library, and you are probably using compiler flags that make that \ - not be the case. +# if __has_include() +# include +# ifdef _LIBCPP_FENV_H +# error "If libc++ starts defining , the __has_include check should move to libc++'s " +# endif # endif # if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) diff --git a/libcxx/include/fenv.h b/libcxx/include/fenv.h deleted file mode 100644 index a767269b5c98..000000000000 --- a/libcxx/include/fenv.h +++ /dev/null @@ -1,118 +0,0 @@ -// -*- C++ -*- -//===----------------------------------------------------------------------===// -// -// 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 _LIBCPP_FENV_H -#define _LIBCPP_FENV_H - -/* - fenv.h synopsis - -This entire header is C99 / C++0X - -Macros: - - FE_DIVBYZERO - FE_INEXACT - FE_INVALID - FE_OVERFLOW - FE_UNDERFLOW - FE_ALL_EXCEPT - FE_DOWNWARD - FE_TONEAREST - FE_TOWARDZERO - FE_UPWARD - FE_DFL_ENV - -Types: - - fenv_t - fexcept_t - -int feclearexcept(int excepts); -int fegetexceptflag(fexcept_t* flagp, int excepts); -int feraiseexcept(int excepts); -int fesetexceptflag(const fexcept_t* flagp, int excepts); -int fetestexcept(int excepts); -int fegetround(); -int fesetround(int round); -int fegetenv(fenv_t* envp); -int feholdexcept(fenv_t* envp); -int fesetenv(const fenv_t* envp); -int feupdateenv(const fenv_t* envp); - - -*/ - -#if defined(__cplusplus) && __cplusplus < 201103L && defined(_LIBCPP_USE_FROZEN_CXX03_HEADERS) -# include <__cxx03/__config> -#else -# include <__config> -#endif - -#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER) -# pragma GCC system_header -#endif - -#if __has_include_next() -# include_next -#endif - -#ifdef __cplusplus - -extern "C++" { - -# ifdef feclearexcept -# undef feclearexcept -# endif - -# ifdef fegetexceptflag -# undef fegetexceptflag -# endif - -# ifdef feraiseexcept -# undef feraiseexcept -# endif - -# ifdef fesetexceptflag -# undef fesetexceptflag -# endif - -# ifdef fetestexcept -# undef fetestexcept -# endif - -# ifdef fegetround -# undef fegetround -# endif - -# ifdef fesetround -# undef fesetround -# endif - -# ifdef fegetenv -# undef fegetenv -# endif - -# ifdef feholdexcept -# undef feholdexcept -# endif - -# ifdef fesetenv -# undef fesetenv -# endif - -# ifdef feupdateenv -# undef feupdateenv -# endif - -} // extern "C++" - -#endif // defined(__cplusplus) - -#endif // _LIBCPP_FENV_H diff --git a/libcxx/include/module.modulemap.in b/libcxx/include/module.modulemap.in index ae2c95db7d0e..44d8e21b2fba 100644 --- a/libcxx/include/module.modulemap.in +++ b/libcxx/include/module.modulemap.in @@ -2449,10 +2449,6 @@ module std_errno_h [system] { header "errno.h" export * } -module std_fenv_h [system] { - header "fenv.h" - export * -} module std_math_h [system] { header "math.h" export *