summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/ParseImplicitIncludeInfo/ParseImplicitIncludeInfo.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/RunCMake/ParseImplicitIncludeInfo/ParseImplicitIncludeInfo.cmake')
-rw-r--r--Tests/RunCMake/ParseImplicitIncludeInfo/ParseImplicitIncludeInfo.cmake38
1 files changed, 18 insertions, 20 deletions
diff --git a/Tests/RunCMake/ParseImplicitIncludeInfo/ParseImplicitIncludeInfo.cmake b/Tests/RunCMake/ParseImplicitIncludeInfo/ParseImplicitIncludeInfo.cmake
index 6027f03..c5bb5d7 100644
--- a/Tests/RunCMake/ParseImplicitIncludeInfo/ParseImplicitIncludeInfo.cmake
+++ b/Tests/RunCMake/ParseImplicitIncludeInfo/ParseImplicitIncludeInfo.cmake
@@ -8,6 +8,7 @@
set(targets
aix-C-XL-13.1.3 aix-CXX-XL-13.1.3
aix-C-XLClang-16.1.0.1 aix-CXX-XLClang-16.1.0.1
+ aix-C-IBMClang-17.1.1.2 aix-CXX-IBMClang-17.1.1.2
craype-C-Cray-8.7 craype-CXX-Cray-8.7 craype-Fortran-Cray-8.7
craype-C-Cray-9.0-hlist-ad craype-CXX-Cray-9.0-hlist-ad craype-Fortran-Cray-9.0-hlist-ad
craype-C-GNU-7.3.0 craype-CXX-GNU-7.3.0 craype-Fortran-GNU-7.3.0
@@ -23,7 +24,10 @@ set(targets
linux-C-GNU-10.2.1-static-libgcc
linux-CXX-GNU-10.2.1-static-libstdc++
linux-Fortran-GNU-10.2.1-static-libgfortran
+ linux-C-GNU-12.2.0 linux-CXX-GNU-12.2.0 linux-Fortran-GNU-12.2.0
linux-C-Intel-18.0.0.20170811 linux-CXX-Intel-18.0.0.20170811
+ linux-C-Intel-2021.10.0.20230609 linux-CXX-Intel-2021.10.0.20230609 linux-Fortran-Intel-2021.10.0.20230609
+ linux-C-IntelLLVM-2023.2.0 linux-CXX-IntelLLVM-2023.2.0 linux-Fortran-IntelLLVM-2023.2.0
linux-C-PGI-18.10.1 linux-CXX-PGI-18.10.1
linux-Fortran-PGI-18.10.1 linux_pgf77-Fortran-PGI-18.10.1
linux_nostdinc-C-PGI-18.10.1 linux_nostdinc-CXX-PGI-18.10.1
@@ -41,6 +45,8 @@ set(targets
netbsd_nostdinc-C-GNU-4.8.5 netbsd_nostdinc-CXX-GNU-4.8.5
openbsd-C-Clang-5.0.1 openbsd-CXX-Clang-5.0.1
sunos-C-SunPro-5.13.0 sunos-CXX-SunPro-5.13.0 sunos-Fortran-SunPro-8.8.0
+ sunos5.10_sparc32-C-GNU-5.5.0 sunos5.10_sparc32-CXX-GNU-5.5.0 sunos5.10_sparc32-Fortran-GNU-5.5.0
+ sunos5.11_i386-C-GNU-5.5.0 sunos5.11_i386-CXX-GNU-5.5.0 sunos5.11_i386-Fortran-GNU-5.5.0
)
if(CMAKE_HOST_WIN32)
@@ -88,15 +94,6 @@ function(load_compiler_info infile lang_var outcmvars_var outstr_var)
endfunction()
#
-# unload_compiler_info: clear out any CMAKE_* vars load previously set
-#
-function(unload_compiler_info cmvars)
- foreach(var IN LISTS cmvars)
- unset("${var}" PARENT_SCOPE)
- endforeach()
-endfunction()
-
-#
# main test loop
#
foreach(t ${targets})
@@ -113,17 +110,18 @@ foreach(t ${targets})
continue()
endif()
- load_compiler_info(${infile} lang cmvars input)
- file(READ ${outfile} output)
- string(STRIP "${output}" output)
- cmake_parse_implicit_include_info("${input}" "${lang}" idirs log state)
+ block()
+ load_compiler_info(${infile} lang cmvars input)
+ file(READ ${outfile} output)
+ string(STRIP "${output}" output)
+ cmake_parse_implicit_include_info("${input}" "${lang}" idirs log state)
- if(t MATCHES "-empty$") # empty isn't supposed to parse
- if("${state}" STREQUAL "done")
- message("empty parse failed: ${idirs}, log=${log}")
+ if(t MATCHES "-empty$") # empty isn't supposed to parse
+ if("${state}" STREQUAL "done")
+ message("empty parse failed: ${idirs}, log=${log}")
+ endif()
+ elseif(NOT "${state}" STREQUAL "done" OR NOT "${idirs}" MATCHES "^${output}$")
+ message("${t} parse failed: state=${state}, '${idirs}' does not match '^${output}$', log=${log}")
endif()
- elseif(NOT "${state}" STREQUAL "done" OR NOT "${idirs}" MATCHES "^${output}$")
- message("${t} parse failed: state=${state}, '${idirs}' does not match '^${output}$', log=${log}")
- endif()
- unload_compiler_info("${cmvars}")
+ endblock()
endforeach(t)