summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott McMillan <scott.andrew.mcmillan@gmail.com>2021-02-10 17:56:42 -0600
committerGitHub <noreply@github.com>2021-02-10 15:56:42 -0800
commit0007ed72c3a98ffaea7057dbb4f3ce87694e79a4 (patch)
tree794194c9f1ea05f374436403a0a32e78aa717007
parent2b6f896ca744081a38579573a52824bf334fb54b (diff)
downloadspack-0007ed72c3a98ffaea7057dbb4f3ce87694e79a4.tar.gz
spack-0007ed72c3a98ffaea7057dbb4f3ce87694e79a4.tar.bz2
spack-0007ed72c3a98ffaea7057dbb4f3ce87694e79a4.tar.xz
spack-0007ed72c3a98ffaea7057dbb4f3ce87694e79a4.zip
Fix: Add a space between -isystem and the directory (#21599)
Some compilers, such as the NV compilers, do not recognize -isystem dir when specified without a space. Works: -isystem ../include Does not work: -isystem../include This PR updates the compiler wrapper to include the space with -isystem.
-rwxr-xr-xlib/spack/env/cc6
-rw-r--r--lib/spack/spack/test/cc.py24
2 files changed, 15 insertions, 15 deletions
diff --git a/lib/spack/env/cc b/lib/spack/env/cc
index 4833cda3cf..99e164dbc7 100755
--- a/lib/spack/env/cc
+++ b/lib/spack/env/cc
@@ -497,19 +497,19 @@ args+=("${flags[@]}")
# Insert include directories just prior to any system include directories
for dir in "${includes[@]}"; do args+=("-I$dir"); done
-for dir in "${isystem_includes[@]}"; do args+=("-isystem$dir"); done
+for dir in "${isystem_includes[@]}"; do args+=("-isystem" "$dir"); done
IFS=':' read -ra spack_include_dirs <<< "$SPACK_INCLUDE_DIRS"
if [[ $mode == cpp || $mode == cc || $mode == as || $mode == ccld ]]; then
if [[ "$isystem_was_used" == "true" ]] ; then
- for dir in "${spack_include_dirs[@]}"; do args+=("-isystem$dir"); done
+ for dir in "${spack_include_dirs[@]}"; do args+=("-isystem" "$dir"); done
else
for dir in "${spack_include_dirs[@]}"; do args+=("-I$dir"); done
fi
fi
for dir in "${system_includes[@]}"; do args+=("-I$dir"); done
-for dir in "${isystem_system_includes[@]}"; do args+=("-isystem$dir"); done
+for dir in "${isystem_system_includes[@]}"; do args+=("-isystem" "$dir"); done
# Library search paths
for dir in "${libdirs[@]}"; do args+=("-L$dir"); done
diff --git a/lib/spack/spack/test/cc.py b/lib/spack/spack/test/cc.py
index 444810d7a8..59b2f8e4cb 100644
--- a/lib/spack/spack/test/cc.py
+++ b/lib/spack/spack/test/cc.py
@@ -350,15 +350,15 @@ def test_ccld_deps_isystem():
with set_env(SPACK_INCLUDE_DIRS='xinc:yinc:zinc',
SPACK_RPATH_DIRS='xlib:ylib:zlib',
SPACK_LINK_DIRS='xlib:ylib:zlib'):
- mytest_args = test_args + ['-isystemfooinc']
+ mytest_args = test_args + ['-isystem', 'fooinc']
check_args(
cc, mytest_args,
[real_cc] +
test_include_paths +
- ['-isystemfooinc',
- '-isystemxinc',
- '-isystemyinc',
- '-isystemzinc'] +
+ ['-isystem', 'fooinc',
+ '-isystem', 'xinc',
+ '-isystem', 'yinc',
+ '-isystem', 'zinc'] +
test_library_paths +
['-Lxlib',
'-Lylib',
@@ -432,20 +432,20 @@ def test_ccld_with_system_dirs_isystem():
SPACK_RPATH_DIRS='xlib:ylib:zlib',
SPACK_LINK_DIRS='xlib:ylib:zlib'):
- sys_path_args = ['-isystem/usr/include',
+ sys_path_args = ['-isystem', '/usr/include',
'-L/usr/local/lib',
'-Wl,-rpath,/usr/lib64',
- '-isystem/usr/local/include',
+ '-isystem', '/usr/local/include',
'-L/lib64/']
check_args(
cc, sys_path_args + test_args,
[real_cc] +
test_include_paths +
- ['-isystemxinc',
- '-isystemyinc',
- '-isystemzinc'] +
- ['-isystem/usr/include',
- '-isystem/usr/local/include'] +
+ ['-isystem', 'xinc',
+ '-isystem', 'yinc',
+ '-isystem', 'zinc'] +
+ ['-isystem', '/usr/include',
+ '-isystem', '/usr/local/include'] +
test_library_paths +
['-Lxlib',
'-Lylib',