Skip to content

Commit def1271

Browse files
authored
Merge pull request Reference-LAPACK#623 from weslleyspereira/try-test-fotrancompiler_abs_div_operations
Test the Fortran intrinsic ABS and complex divisions and report fails during build
2 parents 8256503 + 1dd9548 commit def1271

9 files changed

+983
-3
lines changed

BLAS/SRC/CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,3 +116,7 @@ set_target_properties(
116116
SOVERSION ${LAPACK_MAJOR_VERSION}
117117
)
118118
lapack_install_library(${BLASLIB})
119+
120+
if( TEST_FORTRAN_COMPILER )
121+
add_dependencies( ${BLASLIB} run_test_zcomplexabs run_test_zcomplexdiv run_test_zcomplexmult run_test_zminMax )
122+
endif()

CMakeLists.txt

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,40 @@ if(_is_coverage_build)
4141
find_package(codecov)
4242
endif()
4343

44+
# By default test Fortran compiler complex abs and complex division
45+
option(TEST_FORTRAN_COMPILER "Test Fortran compiler complex abs and complex division" ON)
46+
if( TEST_FORTRAN_COMPILER )
47+
48+
add_executable( test_zcomplexabs ${LAPACK_SOURCE_DIR}/INSTALL/test_zcomplexabs.f )
49+
add_custom_target( run_test_zcomplexabs
50+
COMMAND test_zcomplexabs 2> test_zcomplexabs.err
51+
WORKING_DIRECTORY ${LAPACK_BINARY_DIR}/INSTALL
52+
COMMENT "Running test_zcomplexabs in ${LAPACK_BINARY_DIR}/INSTALL with stderr: test_zcomplexabs.err"
53+
SOURCES ${LAPACK_SOURCE_DIR}/INSTALL/test_zcomplexabs.f )
54+
55+
add_executable( test_zcomplexdiv ${LAPACK_SOURCE_DIR}/INSTALL/test_zcomplexdiv.f )
56+
add_custom_target( run_test_zcomplexdiv
57+
COMMAND test_zcomplexdiv 2> test_zcomplexdiv.err
58+
WORKING_DIRECTORY ${LAPACK_BINARY_DIR}/INSTALL
59+
COMMENT "Running test_zcomplexdiv in ${LAPACK_BINARY_DIR}/INSTALL with stderr: test_zcomplexdiv.err"
60+
SOURCES ${LAPACK_SOURCE_DIR}/INSTALL/test_zcomplexdiv.f )
61+
62+
add_executable( test_zcomplexmult ${LAPACK_SOURCE_DIR}/INSTALL/test_zcomplexmult.f )
63+
add_custom_target( run_test_zcomplexmult
64+
COMMAND test_zcomplexmult 2> test_zcomplexmult.err
65+
WORKING_DIRECTORY ${LAPACK_BINARY_DIR}/INSTALL
66+
COMMENT "Running test_zcomplexmult in ${LAPACK_BINARY_DIR}/INSTALL with stderr: test_zcomplexmult.err"
67+
SOURCES ${LAPACK_SOURCE_DIR}/INSTALL/test_zcomplexmult.f )
68+
69+
add_executable( test_zminMax ${LAPACK_SOURCE_DIR}/INSTALL/test_zminMax.f )
70+
add_custom_target( run_test_zminMax
71+
COMMAND test_zminMax 2> test_zminMax.err
72+
WORKING_DIRECTORY ${LAPACK_BINARY_DIR}/INSTALL
73+
COMMENT "Running test_zminMax in ${LAPACK_BINARY_DIR}/INSTALL with stderr: test_zminMax.err"
74+
SOURCES ${LAPACK_SOURCE_DIR}/INSTALL/test_zminMax.f )
75+
76+
endif()
77+
4478
# By default static library
4579
option(BUILD_SHARED_LIBS "Build shared libraries" OFF)
4680

INSTALL/CMakeLists.txt

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,16 @@ add_executable(secondtst_INT_ETIME second_INT_ETIME.f secondtst.f)
77
add_executable(secondtst_INT_CPU_TIME second_INT_CPU_TIME.f secondtst.f)
88
add_executable(testieee tstiee.f)
99
add_executable(testversion ilaver.f LAPACK_version.f)
10+
11+
if( NOT TARGET test_zcomplexabs )
12+
add_executable( test_zcomplexabs test_zcomplexabs.f )
13+
endif()
14+
if( NOT TARGET test_zcomplexdiv )
15+
add_executable( test_zcomplexdiv test_zcomplexdiv.f )
16+
endif()
17+
if( NOT TARGET test_zcomplexmult )
18+
add_executable( test_zcomplexmult test_zcomplexmult.f )
19+
endif()
20+
if( NOT TARGET test_zminMax )
21+
add_executable( test_zminMax test_zminMax.f )
22+
endif()

INSTALL/Makefile

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
TOPSRCDIR = ..
22
include $(TOPSRCDIR)/make.inc
33

4-
.PHONY: all testlsame testslamch testdlamch testsecond testdsecnd testieee testversion
5-
all: testlsame testslamch testdlamch testsecond testdsecnd testieee testversion
4+
.PHONY: all testlsame testslamch testdlamch testsecond testdsecnd testieee testversion test_zcomplexabs test_zcomplexdiv test_zcomplexmult test_zminMax
5+
all: testlsame testslamch testdlamch testsecond testdsecnd testieee testversion test_zcomplexabs test_zcomplexdiv test_zcomplexmult test_zminMax
66

77
testlsame: lsame.o lsametst.o
88
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $^
@@ -27,6 +27,18 @@ testieee: tstiee.o $(TOPSRCDIR)/SRC/ieeeck.o $(TOPSRCDIR)/SRC/ilaenv.o $(TOPSRCD
2727
testversion: ilaver.o LAPACK_version.o
2828
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $^
2929

30+
test_zcomplexabs: test_zcomplexabs.o
31+
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $^
32+
33+
test_zcomplexdiv: test_zcomplexdiv.o
34+
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $^
35+
36+
test_zcomplexmult: test_zcomplexmult.o
37+
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $^
38+
39+
test_zminMax: test_zminMax.o
40+
$(FC) $(FFLAGS) $(LDFLAGS) -o $@ $^
41+
3042
.PHONY: run
3143
run: all
3244
./testlsame
@@ -36,13 +48,17 @@ run: all
3648
./testdsecnd
3749
./testieee
3850
./testversion
51+
./test_zcomplexabs 2> test_zcomplexabs.err
52+
./test_zcomplexdiv 2> test_zcomplexdiv.err
53+
./test_zcomplexmult 2> test_zcomplexmult.err
54+
./test_zminMax 2> test_zminMax.err
3955

4056
.PHONY: clean cleanobj cleanexe cleantest
4157
clean: cleanobj cleanexe cleantest
4258
cleanobj:
4359
rm -f *.o
4460
cleanexe:
45-
rm -f test*
61+
rm -f testlsame testslamch testdlamch testsecond testdsecnd testieee testversion test_zcomplexabs test_zcomplexdiv test_zcomplexmult test_zminMax
4662
cleantest:
4763
rm -f core
4864

0 commit comments

Comments
 (0)