Skip to content

Commit

Permalink
Merge pull request #85 from PRUNERS/bugfix/sa_flag
Browse files Browse the repository at this point in the history
wrapper script fixes
  • Loading branch information
simoatze authored Jul 23, 2018
2 parents 7044358 + 099810b commit 377a82f
Show file tree
Hide file tree
Showing 3 changed files with 20 additions and 13 deletions.
3 changes: 3 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,9 @@ if(POLICY CMP0057)
cmake_policy(SET CMP0057 NEW)
endif()

# String substitution for wrapper scripts to avoid illegal character errors
set(TRUNCATEDARGS "\"\${truncated_args\[\@\]}\"")

# Add cmake directory to search for custom cmake functions
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake ${CMAKE_MODULE_PATH})

Expand Down
16 changes: 9 additions & 7 deletions tools/clang-archer++.in
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@

static_analysis=false
linking=yes
truncated_args=()
for arg in "$@" ; do
case "$arg" in
--sa)
Expand All @@ -59,7 +60,7 @@ for arg in "$@" ; do
--help)
echo "Archer Options"
echo
echo " --nosa Enable static analysis."
echo " --sa Enable static analysis."
echo
shift
@LLVM_ROOT@/bin/clang++ --help
Expand All @@ -69,20 +70,21 @@ for arg in "$@" ; do
linking=no
;;
esac
[ "$arg" != '--sa' ] && truncated_args+=("$arg")
done

if [ $linking == yes ] ; then
if [ @LIBOMP_TSAN_SUPPORT@ == FALSE ] ; then
link_flags="-L@OMP_PREFIX@/lib -Wl,-rpath=@OMP_PREFIX@/lib -L@CMAKE_INSTALL_PREFIX@/lib -Wl,-rpath=@CMAKE_INSTALL_PREFIX@/lib -larcher"
link_flags="-L@OMP_PREFIX@/lib -Wl,-rpath=@OMP_PREFIX@/lib -L@CMAKE_INSTALL_PREFIX@/lib -Wl,-rpath=@CMAKE_INSTALL_PREFIX@/lib -larcher"
else
link_flags="-L@OMP_PREFIX@/lib -Wl,-rpath=@OMP_PREFIX@/lib"
link_flags="-L@OMP_PREFIX@/lib -Wl,-rpath=@OMP_PREFIX@/lib"
fi
else
link_flags=""
link_flags=""
fi

if [ "$static_analysis" == "true" ]; then
@LLVM_ROOT@/bin/clang++ -I@OMP_PREFIX@/include -Xclang -load -Xclang @CMAKE_INSTALL_PREFIX@/lib/LLVMArcher.so -fopenmp -fsanitize=thread $link_flags -g "$@"
if [ "$static_analysis" == "true" -a "$linking" == "yes" ]; then
@LLVM_ROOT@/bin/clang++ -I@OMP_PREFIX@/include -Xclang -load -Xclang @CMAKE_INSTALL_PREFIX@/lib/LLVMArcher.so -fopenmp -fsanitize=thread $link_flags -g @TRUNCATEDARGS@
else
@LLVM_ROOT@/bin/clang++ -I@OMP_PREFIX@/include -fopenmp -fsanitize=thread $link_flags -g "$@"
@LLVM_ROOT@/bin/clang++ -I@OMP_PREFIX@/include -fopenmp -fsanitize=thread $link_flags -g @TRUNCATEDARGS@
fi
14 changes: 8 additions & 6 deletions tools/clang-archer.in
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@

static_analysis=false
linking=yes
truncated_args=()
for arg in "$@" ; do
case "$arg" in
--sa)
Expand All @@ -69,20 +70,21 @@ for arg in "$@" ; do
linking=no
;;
esac
[ "$arg" != '--sa' ] && truncated_args+=("$arg")
done

if [ $linking == yes ] ; then
if [ @LIBOMP_TSAN_SUPPORT@ == FALSE ] ; then
link_flags="-L@OMP_PREFIX@/lib -Wl,-rpath=@OMP_PREFIX@/lib -L@CMAKE_INSTALL_PREFIX@/lib -Wl,-rpath=@CMAKE_INSTALL_PREFIX@/lib -larcher"
link_flags="-L@OMP_PREFIX@/lib -Wl,-rpath=@OMP_PREFIX@/lib -L@CMAKE_INSTALL_PREFIX@/lib -Wl,-rpath=@CMAKE_INSTALL_PREFIX@/lib -larcher"
else
link_flags="-L@OMP_PREFIX@/lib -Wl,-rpath=@OMP_PREFIX@/lib"
link_flags="-L@OMP_PREFIX@/lib -Wl,-rpath=@OMP_PREFIX@/lib"
fi
else
link_flags=""
link_flags=""
fi

if [ "$static_analysis" == "true" ]; then
@LLVM_ROOT@/bin/clang -I@OMP_PREFIX@/include -Xclang -load -Xclang @CMAKE_INSTALL_PREFIX@/lib/LLVMArcher.so -fopenmp -fsanitize=thread $link_flags -g "$@"
if [ "$static_analysis" == "true" -a "$linking" == "yes" ]; then
@LLVM_ROOT@/bin/clang -I@OMP_PREFIX@/include -Xclang -load -Xclang @CMAKE_INSTALL_PREFIX@/lib/LLVMArcher.so -fopenmp -fsanitize=thread $link_flags -g @TRUNCATEDARGS@
else
@LLVM_ROOT@/bin/clang -I@OMP_PREFIX@/include -fopenmp -fsanitize=thread $link_flags -g "$@"
@LLVM_ROOT@/bin/clang -I@OMP_PREFIX@/include -fopenmp -fsanitize=thread $link_flags -g @TRUNCATEDARGS@
fi

0 comments on commit 377a82f

Please sign in to comment.