add_custom_target(libc_fenv_unittests)

add_libc_unittest(
  rounding_mode_test
  SUITE
    libc_fenv_unittests
  SRCS
    rounding_mode_test.cpp
  DEPENDS
    libc.src.fenv.fegetround
    libc.src.fenv.fesetround
)

add_libc_unittest(
  exception_status_test
  SUITE
    libc_fenv_unittests
  SRCS
    exception_status_test.cpp
  DEPENDS
    libc.src.fenv.feclearexcept
    libc.src.fenv.feraiseexcept
    libc.src.fenv.fetestexcept
    libc.src.__support.FPUtil.fenv_impl
)

add_libc_unittest(
  getenv_and_setenv_test
  SUITE
    libc_fenv_unittests
  SRCS
    getenv_and_setenv_test.cpp
  DEPENDS
    libc.src.fenv.fegetenv
    libc.src.fenv.fegetround
    libc.src.fenv.fesetenv
    libc.src.fenv.fesetround
    libc.src.__support.FPUtil.fenv_impl
)

add_libc_unittest(
  exception_flags_test
  SUITE
    libc_fenv_unittests
  SRCS
    exception_flags_test.cpp
  DEPENDS
    libc.src.fenv.fegetexceptflag
    libc.src.fenv.fesetexceptflag
    libc.src.__support.FPUtil.fenv_impl
)

add_libc_unittest(
  feupdateenv_test
  SUITE
    libc_fenv_unittests
  SRCS
    feupdateenv_test.cpp
  DEPENDS
    libc.include.signal
    libc.src.fenv.feupdateenv
    libc.src.__support.FPUtil.fenv_impl
)

add_libc_unittest(
  feclearexcept_test
  SUITE
    libc_fenv_unittests
  SRCS
    feclearexcept_test.cpp
  DEPENDS
    libc.src.fenv.feclearexcept
    libc.src.__support.FPUtil.fenv_impl
)

add_libc_unittest(
  feenableexcept_test
  SUITE
    libc_fenv_unittests
  SRCS
    feenableexcept_test.cpp
  DEPENDS
    libc.src.fenv.fedisableexcept
    libc.src.fenv.feenableexcept
    libc.src.fenv.fegetexcept
)

if (NOT (LLVM_USE_SANITIZER OR (${LIBC_TARGET_OS} STREQUAL "windows")
         OR (${LIBC_TARGET_OS} STREQUAL "darwin")))
  # Sanitizers don't like SIGFPE. So, we will run the 
  # tests which raise SIGFPE only in non-sanitizer builds.
  # The tests are also disabled for Windows and MacOS as they fail currently.
  # TODO: Investigate and fix the windows failures and enable them for Windows
  # and MacOS.
  add_fp_unittest(
    enabled_exceptions_test
    SUITE
      libc_fenv_unittests
    SRCS
      enabled_exceptions_test.cpp
    DEPENDS
      libc.include.signal
      libc.src.fenv.feclearexcept
      libc.src.fenv.feraiseexcept
      libc.src.fenv.fetestexcept
      libc.src.__support.FPUtil.fenv_impl
    LINK_LIBRARIES
      LibcFPExceptionHelpers
    UNIT_TEST_ONLY
  )

  add_fp_unittest(
    feholdexcept_test
    SUITE
      libc_fenv_unittests
    SRCS
      feholdexcept_test.cpp
    DEPENDS
      libc.include.fenv
      libc.src.fenv.feholdexcept
      libc.src.__support.FPUtil.fenv_impl
    LINK_LIBRARIES
      LibcFPExceptionHelpers
    UNIT_TEST_ONLY
  )
endif()
