set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
add_library(FortranEvaluateTesting
testing.cpp
fp-testing.cpp
)
set_target_properties(FortranEvaluateTesting PROPERTIES FOLDER "Flang/Tests")
if (LLVM_LINK_LLVM_DYLIB)
set(llvm_libs LLVM)
else()
llvm_map_components_to_libnames(llvm_libs Support)
endif()
target_link_libraries(FortranEvaluateTesting
${llvm_libs})
add_flang_nongtest_unittest(leading-zero-bit-count
FortranEvaluateTesting
)
add_flang_nongtest_unittest(bit-population-count
FortranEvaluateTesting
)
add_flang_nongtest_unittest(uint128
FortranEvaluateTesting
)
add_flang_nongtest_unittest(expression
FortranCommon
FortranEvaluateTesting
FortranEvaluate
FortranSemantics
FortranParser
)
add_flang_nongtest_unittest(integer
FortranEvaluateTesting
FortranEvaluate
FortranSemantics
)
add_flang_nongtest_unittest(intrinsics
FortranCommon
FortranEvaluateTesting
FortranEvaluate
FortranDecimal
FortranSemantics
FortranParser
FortranRuntime
)
add_flang_nongtest_unittest(logical
FortranEvaluateTesting
FortranEvaluate
FortranSemantics
)
# GCC -fno-exceptions breaks the fenv.h interfaces needed to capture
# IEEE exception flags (different use of the word "exception")
# in the actual hardware floating-point status register, so ensure that
# C++ exceptions are enabled for this test.
set(LLVM_REQUIRES_EH ON)
set(LLVM_REQUIRES_RTTI ON)
add_flang_nongtest_unittest(real
FortranEvaluateTesting
FortranEvaluate
FortranDecimal
FortranSemantics
)
llvm_update_compile_flags(real.test)
add_flang_nongtest_unittest(reshape
FortranEvaluateTesting
FortranSemantics
FortranEvaluate
FortranRuntime
)
add_flang_nongtest_unittest(ISO-Fortran-binding
FortranEvaluateTesting
FortranEvaluate
FortranSemantics
FortranRuntime
)
add_flang_nongtest_unittest(folding
FortranCommon
FortranEvaluateTesting
FortranEvaluate
FortranSemantics
)