gcc: simplify version_regex, change string to filter out Apple clang (#45852)
This commit is contained in:
parent
d3cdb2a344
commit
33464a7038
@ -82,8 +82,7 @@ paths:
|
|||||||
if [ "$1" = "-dumpversion" ] ; then
|
if [ "$1" = "-dumpversion" ] ; then
|
||||||
echo "9.3-win32"
|
echo "9.3-win32"
|
||||||
elif [ "$1" = "-dumpfullversion" ] ; then
|
elif [ "$1" = "-dumpfullversion" ] ; then
|
||||||
echo "9.3-win32" >&2
|
echo "9.3-win32"
|
||||||
exit 1
|
|
||||||
elif [ "$1" = "--version" ] ; then
|
elif [ "$1" = "--version" ] ; then
|
||||||
echo "i686-w64-mingw32-gcc (GCC) 9.3-win32 20200320"
|
echo "i686-w64-mingw32-gcc (GCC) 9.3-win32 20200320"
|
||||||
echo "Copyright (C) 2019 Free Software Foundation, Inc."
|
echo "Copyright (C) 2019 Free Software Foundation, Inc."
|
||||||
@ -95,3 +94,28 @@ paths:
|
|||||||
fi
|
fi
|
||||||
platforms: [linux]
|
platforms: [linux]
|
||||||
results: []
|
results: []
|
||||||
|
|
||||||
|
# Homebrew GCC should be detected
|
||||||
|
- layout:
|
||||||
|
- executables:
|
||||||
|
- "bin/gcc-14"
|
||||||
|
script: |
|
||||||
|
if [ "$1" = "-dumpversion" ] ; then
|
||||||
|
echo "14"
|
||||||
|
elif [ "$1" = "-dumpfullversion" ] ; then
|
||||||
|
echo "14.1.0"
|
||||||
|
elif [ "$1" = "--version" ] ; then
|
||||||
|
echo "gcc-14 (Homebrew GCC 14.1.0_2) 14.1.0"
|
||||||
|
echo "Copyright (C) 2024 Free Software Foundation, Inc."
|
||||||
|
echo "This is free software; see the source for copying conditions. There is NO"
|
||||||
|
echo "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
|
||||||
|
else
|
||||||
|
echo "mock executable got an unexpected flag: $1"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
platforms: [darwin]
|
||||||
|
results:
|
||||||
|
- spec: "gcc@14.1.0 languages=c"
|
||||||
|
extra_attributes:
|
||||||
|
compilers:
|
||||||
|
c: ".*/bin/gcc-14$"
|
||||||
|
@ -536,7 +536,7 @@ def supported_languages(self):
|
|||||||
d_names = ["gdc"]
|
d_names = ["gdc"]
|
||||||
go_names = ["gccgo"]
|
go_names = ["gccgo"]
|
||||||
compiler_suffixes = [r"-mp-\d+(?:\.\d+)?", r"-\d+(?:\.\d+)?", r"\d\d"]
|
compiler_suffixes = [r"-mp-\d+(?:\.\d+)?", r"-\d+(?:\.\d+)?", r"\d\d"]
|
||||||
compiler_version_regex = r"(?<!clang version)\s?([0-9.]+)"
|
compiler_version_regex = r"([0-9.]+)"
|
||||||
compiler_version_argument = ("-dumpfullversion", "-dumpversion")
|
compiler_version_argument = ("-dumpfullversion", "-dumpversion")
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@ -549,7 +549,7 @@ def filter_detected_exes(cls, prefix, exes_in_prefix):
|
|||||||
output = spack.compiler.get_compiler_version_output(exe, "--version")
|
output = spack.compiler.get_compiler_version_output(exe, "--version")
|
||||||
except Exception:
|
except Exception:
|
||||||
output = ""
|
output = ""
|
||||||
if "Apple" in output:
|
if "clang version" in output:
|
||||||
continue
|
continue
|
||||||
not_apple_clang.append(exe)
|
not_apple_clang.append(exe)
|
||||||
return not_apple_clang
|
return not_apple_clang
|
||||||
|
Loading…
Reference in New Issue
Block a user