Skip to content

Commit b4a0318

Browse files
committed
Add a linking test before adding linking flags to disable compact unwinding
1 parent 8bea6ad commit b4a0318

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
@@ -548,7 +548,21 @@ AC_DEFUN([ACSM_SET_CXX_FLAGS],
548548
[clang], [
549549
dnl On Darwin with clang + gfortran, we get very many warnings for compact unwinding issues
550550
dnl We deliberately keep relying on the less performant dwarf unwinding until the over-production of warnings is solved.
551-
ACSM_LDFLAGS="-Wl,-keep_dwarf_unwind -Wl,-no_compact_unwind"
551+
OLD_ACSMLDFLAGS="$ACSM_LDFLAGS"
552+
ACSM_LDFLAGS+=" -Wl,-keep_dwarf_unwind -Wl,-no_compact_unwind"
553+
AC_LINK_IFELSE([AC_LANG_SOURCE([[
554+
void main(int argc, char **argv)
555+
{
556+
std::cout << "Hello World!" << std::endl;
557+
}
558+
]])],
559+
[
560+
AC_MSG_RESULT(<<<Disabling compact unwinding, retaining dwarf unwinding for gfortran compatibility>>>)
561+
],[
562+
dnl Failed to link with new flags, remove them
563+
ACSM_LDFLAGS="$OLD_ACSMLDFLAGS"
564+
])
565+
552566
553567
ACSM_CXXFLAGS_OPT="$ACSM_CXXFLAGS_OPT -O2 -felide-constructors -Qunused-arguments -Wunused-parameter -Wunused"
554568
dnl devel flags are added on two lines since there are so many

0 commit comments

Comments
 (0)