diff --git a/mozilla/configure.in b/mozilla/configure.in index e80979ea5ff..bd0a6376d09 100644 --- a/mozilla/configure.in +++ b/mozilla/configure.in @@ -2623,6 +2623,28 @@ EOF rm -f conftest.[cs] ]) if test "$ac_cv_visibility_pragma" = "yes"; then + AC_CACHE_CHECK(For gcc visibility bug with class-level attributes (GCC bug 26905), + ac_cv_have_visibility_class_bug, + [cat > conftest.c < conftest.c </dev/null 2>&1; then + if ! ${CC-cc} ${CFLAGS} ${DSO_PIC_CFLAGS} ${DSO_LDOPTS} -O2 -o conftest.so conftest.c >/dev/null 2>&1; then ac_cv_have_visibility_builtin_bug=yes fi rm -f conftest.{c,so} ]) - if test "$ac_cv_have_visibility_builtin_bug" = "no"; then + if test "$ac_cv_have_visibility_builtin_bug" = "no" -a \ + "$ac_cb_have_visibility_class_bug" = "no"; then VISIBILITY_FLAGS='-I$(DIST)/include/system_wrappers -include $(topsrcdir)/config/gcc_hidden.h' WRAP_SYSTEM_INCLUDES=1 else