[Libreoffice-commits] core.git: configure.ac

Stephan Bergmann sbergman at redhat.com
Thu Dec 10 04:35:43 PST 2015


 configure.ac |   18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

New commits:
commit d52a2c5b3c62c3d73891fbb5b86b6e02d68b2c18
Author: Stephan Bergmann <sbergman at redhat.com>
Date:   Thu Dec 10 13:35:10 2015 +0100

    Fix detection of HAVE_CXX14_SIZED_DEALLOCATION under Clang -fsanitize=address
    
    Change-Id: Ib6219a90f36ad391d49a29e7fd12adae604ec8d1

diff --git a/configure.ac b/configure.ac
index b97442f..3e1c51a 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6339,6 +6339,23 @@ if test "$CROSS_COMPILING" = TRUE; then
     cxx14_sized_deallocation=no
     AC_MSG_RESULT([$cxx14_sized_deallocation (assumed; cross compiling)])
 else
+    dnl At least Clang -fsanitize=address causes "multiple definition of
+    dnl `operator delete(void*, unsigned long)'" also defined in
+    dnl projects/compiler-rt/lib/asan/asan_new_delete.cc:
+    save_CXX=$CXX
+    if test "$COM_IS_CLANG" = TRUE; then
+        my_CXX=
+        for i in $CXX; do
+            case $i in
+            -fsanitize=address)
+                ;;
+            *)
+                my_CXX="$my_CXX $i"
+                ;;
+            esac
+        done
+        CXX=$my_CXX
+    fi
     save_CXXFLAGS=$CXXFLAGS
     CXXFLAGS="$CXXFLAGS $CXXFLAGS_CXX11"
     AC_LANG_PUSH([C++])
@@ -6353,6 +6370,7 @@ else
         return 1;
         ]])], [cxx14_sized_deallocation=yes], [cxx14_sized_deallocation=no])
     AC_LANG_POP([C++])
+    CXX=$save_CXX
     CXXFLAGS=$save_CXXFLAGS
     AC_MSG_RESULT([$cxx14_sized_deallocation])
 fi


More information about the Libreoffice-commits mailing list