8a8bb078a3
Fix fronted shared library builds by eliminating dependences of the parser on other component libraries, moving some code around that wasn't in the right library, and making some dependences explicit in the CMakeLists.txt files. The lowering library does not yet build as a shared library due to some undefined names. Reviewed By: tskeith Differential Revision: https://reviews.llvm.org/D83515
156 lines
2.8 KiB
CMake
156 lines
2.8 KiB
CMake
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
|
add_library(FortranEvaluateTesting
|
|
testing.cpp
|
|
fp-testing.cpp
|
|
)
|
|
|
|
target_link_libraries(FortranEvaluateTesting
|
|
LLVMSupport
|
|
)
|
|
|
|
add_executable(leading-zero-bit-count-test
|
|
leading-zero-bit-count.cpp
|
|
)
|
|
|
|
target_link_libraries(leading-zero-bit-count-test
|
|
FortranEvaluateTesting
|
|
LLVMSupport
|
|
)
|
|
|
|
add_executable(bit-population-count-test
|
|
bit-population-count.cpp
|
|
)
|
|
|
|
target_link_libraries(bit-population-count-test
|
|
FortranEvaluateTesting
|
|
LLVMSupport
|
|
)
|
|
|
|
add_executable(uint128-test
|
|
uint128.cpp
|
|
)
|
|
|
|
target_link_libraries(uint128-test
|
|
FortranEvaluateTesting
|
|
LLVMSupport
|
|
)
|
|
|
|
# These routines live in lib/Common but we test them here.
|
|
add_test(UINT128 uint128-test)
|
|
add_test(Leadz leading-zero-bit-count-test)
|
|
add_test(PopPar bit-population-count-test)
|
|
|
|
add_executable(expression-test
|
|
expression.cpp
|
|
)
|
|
|
|
target_link_libraries(expression-test
|
|
FortranCommon
|
|
FortranEvaluateTesting
|
|
FortranEvaluate
|
|
FortranSemantics
|
|
FortranParser
|
|
LLVMSupport
|
|
)
|
|
|
|
add_executable(integer-test
|
|
integer.cpp
|
|
)
|
|
|
|
target_link_libraries(integer-test
|
|
FortranEvaluateTesting
|
|
FortranEvaluate
|
|
FortranSemantics
|
|
LLVMSupport
|
|
)
|
|
|
|
add_executable(intrinsics-test
|
|
intrinsics.cpp
|
|
)
|
|
|
|
target_link_libraries(intrinsics-test
|
|
FortranCommon
|
|
FortranEvaluateTesting
|
|
FortranEvaluate
|
|
FortranDecimal
|
|
FortranSemantics
|
|
FortranParser
|
|
FortranRuntime
|
|
LLVMSupport
|
|
)
|
|
|
|
add_executable(logical-test
|
|
logical.cpp
|
|
)
|
|
|
|
target_link_libraries(logical-test
|
|
FortranEvaluateTesting
|
|
FortranEvaluate
|
|
FortranSemantics
|
|
LLVMSupport
|
|
)
|
|
|
|
# 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_executable(real-test
|
|
real.cpp
|
|
)
|
|
llvm_update_compile_flags(real-test)
|
|
|
|
target_link_libraries(real-test
|
|
FortranEvaluateTesting
|
|
FortranEvaluate
|
|
FortranDecimal
|
|
FortranSemantics
|
|
LLVMSupport
|
|
)
|
|
|
|
add_executable(reshape-test
|
|
reshape.cpp
|
|
)
|
|
|
|
target_link_libraries(reshape-test
|
|
FortranEvaluateTesting
|
|
FortranSemantics
|
|
FortranEvaluate
|
|
FortranRuntime
|
|
LLVMSupport
|
|
)
|
|
|
|
add_executable(ISO-Fortran-binding-test
|
|
ISO-Fortran-binding.cpp
|
|
)
|
|
|
|
target_link_libraries(ISO-Fortran-binding-test
|
|
FortranEvaluateTesting
|
|
FortranEvaluate
|
|
FortranSemantics
|
|
FortranRuntime
|
|
LLVMSupport
|
|
)
|
|
|
|
add_executable(folding-test
|
|
folding.cpp
|
|
)
|
|
|
|
target_link_libraries(folding-test
|
|
FortranCommon
|
|
FortranEvaluateTesting
|
|
FortranEvaluate
|
|
FortranSemantics
|
|
LLVMSupport
|
|
)
|
|
|
|
add_test(Expression expression-test)
|
|
add_test(Integer integer-test)
|
|
add_test(Intrinsics intrinsics-test)
|
|
add_test(Logical logical-test)
|
|
add_test(Real real-test)
|
|
add_test(RESHAPE reshape-test)
|
|
add_test(ISO-binding ISO-Fortran-binding-test)
|
|
add_test(folding folding-test)
|