Skip to content

Commit ac33154

Browse files
committed
Add a linking test before adding linking flags to disable compact unwinding
1 parent fef6cae commit ac33154

File tree

1 file changed

+15
-1
lines changed

1 file changed

+15
-1
lines changed

acsm_compiler_flags.m4

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -587,7 +587,21 @@ AC_DEFUN([ACSM_SET_CXX_FLAGS],
587587
[clang], [
588588
dnl On Darwin with clang + gfortran, we get very many warnings for compact unwinding issues
589589
dnl We deliberately keep relying on the less performant dwarf unwinding until the over-production of warnings is solved.
590-
ACSM_LDFLAGS="-Wl,-keep_dwarf_unwind -Wl,-no_compact_unwind"
590+
OLD_ACSM_LDFLAGS="$ACSM_LDFLAGS"
591+
ACSM_LDFLAGS+=" -Wl,-femit-dwarf-unwind=no_compact_unwind"
592+
AC_LINK_IFELSE([AC_LANG_SOURCE([[
593+
void main(int argc, char **argv)
594+
{
595+
std::cout << "Hello World!" << std::endl;
596+
}
597+
]])],
598+
[
599+
AC_MSG_RESULT(<<<Disabling compact unwinding, retaining dwarf unwinding for gfortran compatibility>>>)
600+
],[
601+
dnl Failed to link with new flags, remove them
602+
ACSM_LDFLAGS="$OLD_ACSM_LDFLAGS"
603+
])
604+
591605
592606
ACSM_CXXFLAGS_OPT="$ACSM_CXXFLAGS_OPT -O2 -felide-constructors -Qunused-arguments -Wunused-parameter -Wunused"
593607
dnl devel flags are added on two lines since there are so many

0 commit comments

Comments
 (0)