зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1191884 - remove now-unnecessary check for GCC PR49911; r=glandium
This PR was fixed in the GCC 4.7 development cycle. Since we require GCC 4.7 now, we no longer have to check for this bug.
This commit is contained in:
Родитель
1af4366a28
Коммит
0a5095ccbf
|
@ -19,7 +19,6 @@ builtin(include, build/autoconf/mozprog.m4)dnl
|
|||
builtin(include, build/autoconf/mozheader.m4)dnl
|
||||
builtin(include, build/autoconf/mozcommonheader.m4)dnl
|
||||
builtin(include, build/autoconf/lto.m4)dnl
|
||||
builtin(include, build/autoconf/gcc-pr49911.m4)dnl
|
||||
builtin(include, build/autoconf/llvm-pr8927.m4)dnl
|
||||
builtin(include, build/autoconf/frameptr.m4)dnl
|
||||
builtin(include, build/autoconf/compiler-opts.m4)dnl
|
||||
|
|
|
@ -1,71 +0,0 @@
|
|||
dnl This Source Code Form is subject to the terms of the Mozilla Public
|
||||
dnl License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
dnl file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
dnl Check if the compiler is gcc and has PR49911. If so
|
||||
dnl disable vrp.
|
||||
|
||||
AC_DEFUN([MOZ_GCC_PR49911],
|
||||
[
|
||||
if test "$GNU_CC"; then
|
||||
|
||||
AC_MSG_CHECKING(for gcc PR49911)
|
||||
ac_have_gcc_pr49911="no"
|
||||
AC_LANG_SAVE
|
||||
AC_LANG_CPLUSPLUS
|
||||
|
||||
_SAVE_CXXFLAGS=$CXXFLAGS
|
||||
CXXFLAGS="-O2"
|
||||
AC_TRY_RUN([
|
||||
extern "C" void abort(void);
|
||||
typedef enum {
|
||||
eax, ecx, edx, ebx, esp, ebp,
|
||||
esi, edi }
|
||||
RegisterID;
|
||||
union StateRemat {
|
||||
RegisterID reg_;
|
||||
int offset_;
|
||||
};
|
||||
static StateRemat FromRegister(RegisterID reg) {
|
||||
StateRemat sr;
|
||||
sr.reg_ = reg;
|
||||
return sr;
|
||||
}
|
||||
static StateRemat FromAddress3(int address) {
|
||||
StateRemat sr;
|
||||
sr.offset_ = address;
|
||||
if (address < 46 && address >= 0) {
|
||||
abort();
|
||||
}
|
||||
return sr;
|
||||
}
|
||||
struct FrameState {
|
||||
StateRemat dataRematInfo2(bool y, int z) {
|
||||
if (y) return FromRegister(RegisterID(1));
|
||||
return FromAddress3(z);
|
||||
}
|
||||
};
|
||||
FrameState frame;
|
||||
StateRemat x;
|
||||
__attribute__((noinline)) void jsop_setelem(bool y, int z) {
|
||||
x = frame.dataRematInfo2(y, z);
|
||||
}
|
||||
int main(void) {
|
||||
jsop_setelem(0, 47);
|
||||
}
|
||||
], true,
|
||||
ac_have_gcc_pr49911="yes",
|
||||
true)
|
||||
CXXFLAGS="$_SAVE_CXXFLAGS"
|
||||
|
||||
AC_LANG_RESTORE
|
||||
|
||||
if test "$ac_have_gcc_pr49911" = "yes"; then
|
||||
AC_MSG_RESULT(yes)
|
||||
CFLAGS="$CFLAGS -fno-tree-vrp"
|
||||
CXXFLAGS="$CXXFLAGS -fno-tree-vrp"
|
||||
else
|
||||
AC_MSG_RESULT(no)
|
||||
fi
|
||||
fi
|
||||
])
|
|
@ -2643,7 +2643,6 @@ esac
|
|||
AC_SUBST(WRAP_SYSTEM_INCLUDES)
|
||||
AC_SUBST(VISIBILITY_FLAGS)
|
||||
|
||||
MOZ_GCC_PR49911
|
||||
MOZ_LLVM_PR8927
|
||||
|
||||
dnl Check for __force_align_arg_pointer__ for SSE2 on gcc
|
||||
|
|
|
@ -18,7 +18,6 @@ builtin(include, ../../build/autoconf/mozprog.m4)dnl
|
|||
builtin(include, ../../build/autoconf/mozheader.m4)dnl
|
||||
builtin(include, ../../build/autoconf/mozcommonheader.m4)dnl
|
||||
builtin(include, ../../build/autoconf/lto.m4)dnl
|
||||
builtin(include, ../../build/autoconf/gcc-pr49911.m4)dnl
|
||||
builtin(include, ../../build/autoconf/llvm-pr8927.m4)dnl
|
||||
builtin(include, ../../build/autoconf/frameptr.m4)dnl
|
||||
builtin(include, ../../build/autoconf/compiler-opts.m4)dnl
|
||||
|
|
|
@ -2158,7 +2158,6 @@ esac
|
|||
AC_SUBST(WRAP_SYSTEM_INCLUDES)
|
||||
AC_SUBST(VISIBILITY_FLAGS)
|
||||
|
||||
MOZ_GCC_PR49911
|
||||
MOZ_LLVM_PR8927
|
||||
|
||||
dnl Checks for header files.
|
||||
|
|
Загрузка…
Ссылка в новой задаче