diff options
author | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-25 22:56:20 +0000 |
---|---|---|
committer | thakis@chromium.org <thakis@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-03-25 22:56:20 +0000 |
commit | c19dac192c0d3f98d5f91cddfbfa2d2c7fc5d4b1 (patch) | |
tree | eaaa3e42d783fc0c458f6fb6ed88a754a7886323 | |
parent | f4009be83d39141213e67db11c185b6b4ea79890 (diff) | |
download | chromium_src-c19dac192c0d3f98d5f91cddfbfa2d2c7fc5d4b1.zip chromium_src-c19dac192c0d3f98d5f91cddfbfa2d2c7fc5d4b1.tar.gz chromium_src-c19dac192c0d3f98d5f91cddfbfa2d2c7fc5d4b1.tar.bz2 |
Revert 259371 "clang roll 198389:202554 reloaded"
Even though the libc++ dependency is gone, clang still depends on
/usr/lib/libedit.3.dylib suddently, which doesn't exist on 10.6. Backing out
while I investigate...
> clang roll 198389:202554 reloaded
>
> The first try is at https://codereview.chromium.org/195623002/ . Patch set 1
> is identical to that CL, patch set 2 has what changed.
>
> The big change is that clang/mac is built in gnu++98 mode and doesn't link
> to libc++, to buy us time until the next roll for upgrading our bots to 10.7.
> This includes blink plugin changes up to r256229 (inclusive).
>
> BUG=351479, 287029, 341352, 333968, 335325
> R=hans@chromium.org
> TBR=hans@chromium.org
>
> Review URL: https://codereview.chromium.org/211213004
TBR=thakis@chromium.org
Review URL: https://codereview.chromium.org/211493005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@259378 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r-- | build/common.gypi | 8 | ||||
-rw-r--r-- | build/config/compiler/BUILD.gn | 1 | ||||
-rw-r--r-- | third_party/libxml/libxml.gyp | 3 | ||||
-rw-r--r-- | tools/clang/blink_gc_plugin/Makefile | 2 | ||||
-rw-r--r-- | tools/clang/plugins/ChromeClassTester.cpp | 8 | ||||
-rwxr-xr-x | tools/clang/scripts/package.sh | 2 | ||||
-rwxr-xr-x | tools/clang/scripts/plugin_flags.sh | 4 | ||||
-rwxr-xr-x | tools/clang/scripts/update.sh | 706 |
8 files changed, 21 insertions, 713 deletions
diff --git a/build/common.gypi b/build/common.gypi index 4f64932..246124f 100644 --- a/build/common.gypi +++ b/build/common.gypi @@ -3522,9 +3522,6 @@ # code generated by flex (used in angle) contains that keyword. # http://crbug.com/255186 '-Wno-deprecated-register', - - # TODO(thakis): Remove, http://crbug.com/341352 - '-Wno-absolute-value', ], 'cflags!': [ # Clang doesn't seem to know know this flag. @@ -3977,6 +3974,7 @@ ['target_arch=="arm"', { 'cflags': [ '-target arm-linux-androideabi', + '-mllvm -arm-enable-ehabi', ], 'ldflags': [ '-target arm-linux-androideabi', @@ -4265,9 +4263,6 @@ # e.g. code generated by flex (used in angle) contains that # keyword. http://crbug.com/255186 '-Wno-deprecated-register', - - # TODO(thakis): Remove, http://crbug.com/341352 - '-Wno-absolute-value', ], 'conditions': [ @@ -4907,7 +4902,6 @@ '-Wno-missing-braces', '-Wno-missing-declarations', '-Wno-msvc-include', - '-Wno-absolute-value', '-Wno-null-dereference', '-Wno-overloaded-virtual', '-Wno-parentheses', diff --git a/build/config/compiler/BUILD.gn b/build/config/compiler/BUILD.gn index 89498b0..cdc7f6b 100644 --- a/build/config/compiler/BUILD.gn +++ b/build/config/compiler/BUILD.gn @@ -238,6 +238,7 @@ config("compiler") { if (cpu_arch == "arm") { cflags += [ "-target arm-linux-androideabi", + "-mllvm -arm-enable-ehabi", ] ldflags += [ "-target arm-linux-androideabi" ] } else if (cpu_arch == "x86") { diff --git a/third_party/libxml/libxml.gyp b/third_party/libxml/libxml.gyp index c005f6a..a9343fd 100644 --- a/third_party/libxml/libxml.gyp +++ b/third_party/libxml/libxml.gyp @@ -243,14 +243,11 @@ # move the `'` to its own line, but until that's landed # suppress the warning: '-Wno-empty-body', - # debugXML.c compares array 'arg' to NULL. - '-Wno-tautological-pointer-compare', ], }, 'cflags': [ '-Wno-pointer-sign', '-Wno-empty-body', - '-Wno-tautological-pointer-compare', # See http://crbug.com/138571#c8 '-Wno-ignored-attributes', diff --git a/tools/clang/blink_gc_plugin/Makefile b/tools/clang/blink_gc_plugin/Makefile index d6e7da9..85e422b 100644 --- a/tools/clang/blink_gc_plugin/Makefile +++ b/tools/clang/blink_gc_plugin/Makefile @@ -9,7 +9,7 @@ CLANG_LEVEL := ../.. # This line is read by update.sh and other scripts in tools/clang/scripts -LIBRARYNAME = BlinkGCPlugin_3 +LIBRARYNAME = BlinkGCPlugin_2 LINK_LIBS_IN_SHARED = 0 SHARED_LIBRARY = 1 diff --git a/tools/clang/plugins/ChromeClassTester.cpp b/tools/clang/plugins/ChromeClassTester.cpp index 5ce04e5..1fbd42a 100644 --- a/tools/clang/plugins/ChromeClassTester.cpp +++ b/tools/clang/plugins/ChromeClassTester.cpp @@ -110,11 +110,11 @@ void ChromeClassTester::emitWarning(SourceLocation loc, std::string err; err = "[chromium-style] "; err += raw_error; - DiagnosticIDs::Level level = + DiagnosticsEngine::Level level = diagnostic().getWarningsAsErrors() ? - DiagnosticIDs::Error : - DiagnosticIDs::Warning; - unsigned id = diagnostic().getDiagnosticIDs()->getCustomDiagID(level, err); + DiagnosticsEngine::Error : + DiagnosticsEngine::Warning; + unsigned id = diagnostic().getCustomDiagID(level, err); DiagnosticBuilder builder = diagnostic().Report(full, id); } diff --git a/tools/clang/scripts/package.sh b/tools/clang/scripts/package.sh index ba9d744..504ec2b 100755 --- a/tools/clang/scripts/package.sh +++ b/tools/clang/scripts/package.sh @@ -48,7 +48,6 @@ done THIS_DIR="$(dirname "${0}")" LLVM_DIR="${THIS_DIR}/../../../third_party/llvm" LLVM_BOOTSTRAP_DIR="${THIS_DIR}/../../../third_party/llvm-bootstrap" -LLVM_BOOTSTRAP_INSTALL_DIR="${LLVM_DIR}/../llvm-bootstrap-install" LLVM_BUILD_DIR="${THIS_DIR}/../../../third_party/llvm-build" LLVM_BIN_DIR="${LLVM_BUILD_DIR}/Release+Asserts/bin" LLVM_LIB_DIR="${LLVM_BUILD_DIR}/Release+Asserts/lib" @@ -69,7 +68,6 @@ set -exu # Do a clobber build. rm -rf "${LLVM_BOOTSTRAP_DIR}" -rm -rf "${LLVM_BOOTSTRAP_INSTALL_DIR}" rm -rf "${LLVM_BUILD_DIR}" extra_flags= if [[ -n "${gcc_toolchain}" ]]; then diff --git a/tools/clang/scripts/plugin_flags.sh b/tools/clang/scripts/plugin_flags.sh index ac941d7..320fd16 100755 --- a/tools/clang/scripts/plugin_flags.sh +++ b/tools/clang/scripts/plugin_flags.sh @@ -17,4 +17,6 @@ else fi echo -Xclang -load -Xclang $CLANG_LIB_PATH/libFindBadConstructs.$LIBSUFFIX \ - -Xclang -add-plugin -Xclang find-bad-constructs + -Xclang -add-plugin -Xclang find-bad-constructs \ + -Xclang -plugin-arg-find-bad-constructs \ + -Xclang check-url-directory diff --git a/tools/clang/scripts/update.sh b/tools/clang/scripts/update.sh index f8d2656..3a70e74 100755 --- a/tools/clang/scripts/update.sh +++ b/tools/clang/scripts/update.sh @@ -8,17 +8,15 @@ # Do NOT CHANGE this if you don't know what you're doing -- see # https://code.google.com/p/chromium/wiki/UpdatingClang # Reverting problematic clang rolls is safe, though. -CLANG_REVISION=202554 +CLANG_REVISION=198389 THIS_DIR="$(dirname "${0}")" LLVM_DIR="${THIS_DIR}/../../../third_party/llvm" LLVM_BUILD_DIR="${LLVM_DIR}/../llvm-build" LLVM_BOOTSTRAP_DIR="${LLVM_DIR}/../llvm-bootstrap" -LLVM_BOOTSTRAP_INSTALL_DIR="${LLVM_DIR}/../llvm-bootstrap-install" CLANG_DIR="${LLVM_DIR}/tools/clang" CLANG_TOOLS_EXTRA_DIR="${CLANG_DIR}/tools/extra" COMPILER_RT_DIR="${LLVM_DIR}/projects/compiler-rt" -LIBCXX_DIR="${LLVM_DIR}/projects/libcxx" ANDROID_NDK_DIR="${LLVM_DIR}/../android_tools/ndk" STAMP_FILE="${LLVM_BUILD_DIR}/cr_build_revision" @@ -261,673 +259,6 @@ echo Getting compiler-rt r"${CLANG_REVISION}" in "${COMPILER_RT_DIR}" svn co --force "${LLVM_REPO_URL}/compiler-rt/trunk@${CLANG_REVISION}" \ "${COMPILER_RT_DIR}" -# clang needs a libc++ checkout, else -stdlib=libc++ won't find includes -# (i.e. this is needed for bootstrap builds). -if [ "${OS}" = "Darwin" ]; then - echo Getting libc++ r"${CLANG_REVISION}" in "${LIBCXX_DIR}" - svn co --force "${LLVM_REPO_URL}/libcxx/trunk@${CLANG_REVISION}" \ - "${LIBCXX_DIR}" -fi - -# Apply patch for test failing with --disable-pthreads (llvm.org/PR11974) -cd "${CLANG_DIR}" -svn revert test/Index/crash-recovery-modules.m -cat << 'EOF' | ---- third_party/llvm/tools/clang/test/Index/crash-recovery-modules.m (revision 202554) -+++ third_party/llvm/tools/clang/test/Index/crash-recovery-modules.m (working copy) -@@ -12,6 +12,8 @@ - - // REQUIRES: crash-recovery - // REQUIRES: shell -+// XFAIL: * -+// (PR11974) - - @import Crash; -EOF -patch -p4 -cd - - -# Temporary patches to make build on android work. -# Merge LLVM r202793, r203601 -cd "${COMPILER_RT_DIR}" -svn revert lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc -svn revert make/platform/clang_linux.mk -cat << 'EOF' | -Index: compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc -=================================================================== ---- compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc (original) -+++ compiler-rt/trunk/lib/sanitizer_common/sanitizer_symbolizer_posix_libcdep.cc Tue Mar 11 15:23:59 2014 -@@ -32,18 +32,10 @@ - // C++ demangling function, as required by Itanium C++ ABI. This is weak, - // because we do not require a C++ ABI library to be linked to a program - // using sanitizers; if it's not present, we'll just use the mangled name. --// --// On Android, this is not weak, because we are using shared runtime library --// AND static libstdc++, and there is no good way to conditionally export --// __cxa_demangle. By making this a non-weak symbol, we statically link --// __cxa_demangle into ASan runtime library. - namespace __cxxabiv1 { -- extern "C" --#if !SANITIZER_ANDROID -- SANITIZER_WEAK_ATTRIBUTE --#endif -- char *__cxa_demangle(const char *mangled, char *buffer, size_t *length, -- int *status); -+ extern "C" SANITIZER_WEAK_ATTRIBUTE -+ char *__cxa_demangle(const char *mangled, char *buffer, -+ size_t *length, int *status); - } - - namespace __sanitizer { -@@ -55,7 +47,7 @@ static const char *DemangleCXXABI(const - // own demangler (libc++abi's implementation could be adapted so that - // it does not allocate). For now, we just call it anyway, and we leak - // the returned value. -- if (SANITIZER_ANDROID || &__cxxabiv1::__cxa_demangle) -+ if (__cxxabiv1::__cxa_demangle) - if (const char *demangled_name = - __cxxabiv1::__cxa_demangle(name, 0, 0, 0)) - return demangled_name; - -Index: compiler-rt/trunk/make/platform/clang_linux.mk -=================================================================== ---- compiler-rt/trunk/make/platform/clang_linux.mk (original) -+++ compiler-rt/trunk/make/platform/clang_linux.mk Tue Mar 4 01:17:38 2014 -@@ -110,9 +110,10 @@ ANDROID_COMMON_FLAGS := -target arm-linu - --sysroot=$(LLVM_ANDROID_TOOLCHAIN_DIR)/sysroot \ - -B$(LLVM_ANDROID_TOOLCHAIN_DIR) - CFLAGS.asan-arm-android := $(CFLAGS) -fPIC -fno-builtin \ -- $(ANDROID_COMMON_FLAGS) -fno-rtti -+ $(ANDROID_COMMON_FLAGS) -fno-rtti \ -+ -I$(ProjSrcRoot)/third_party/android/include - LDFLAGS.asan-arm-android := $(LDFLAGS) $(ANDROID_COMMON_FLAGS) -ldl -lm -llog \ -- -Wl,-soname=libclang_rt.asan-arm-android.so -Wl,-z,defs -+ -lstdc++ -Wl,-soname=libclang_rt.asan-arm-android.so -Wl,-z,defs - - # Use our stub SDK as the sysroot to support more portable building. For now we - # just do this for the core module, because the stub SDK doesn't have -EOF -patch -p2 -cd - - -# Merge LLVM r203635 -cd "${LLVM_DIR}" -svn revert lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp -svn revert test/CodeGen/ARM/debug-frame-large-stack.ll -svn revert test/CodeGen/ARM/debug-frame-vararg.ll -svn revert test/CodeGen/ARM/debug-frame.ll -cat << 'EOF' | -Index: lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp -=================================================================== ---- lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp -+++ lib/Target/ARM/MCTargetDesc/ARMMCAsmInfo.cpp -@@ -54,4 +54,7 @@ - UseParensForSymbolVariant = true; - - UseIntegratedAssembler = true; -+ -+ // gas doesn't handle VFP register names in cfi directives. -+ DwarfRegNumForCFI = true; - } -Index: test/CodeGen/ARM/debug-frame-large-stack.ll -=================================================================== ---- test/CodeGen/ARM/debug-frame-large-stack.ll -+++ test/CodeGen/ARM/debug-frame-large-stack.ll -@@ -42,8 +42,8 @@ - ; CHECK-ARM: .cfi_startproc - ; CHECK-ARM: push {r4, r5} - ; CHECK-ARM: .cfi_def_cfa_offset 8 --; CHECK-ARM: .cfi_offset r5, -4 --; CHECK-ARM: .cfi_offset r4, -8 -+; CHECK-ARM: .cfi_offset 5, -4 -+; CHECK-ARM: .cfi_offset 4, -8 - ; CHECK-ARM: sub sp, sp, #72 - ; CHECK-ARM: sub sp, sp, #4096 - ; CHECK-ARM: .cfi_def_cfa_offset 4176 -@@ -54,7 +54,7 @@ - ; CHECK-ARM-FP_ELIM: push {r4, r5} - ; CHECK-ARM-FP_ELIM: .cfi_def_cfa_offset 8 - ; CHECK-ARM-FP_ELIM: .cfi_offset 54, -4 --; CHECK-ARM-FP_ELIM: .cfi_offset r4, -8 -+; CHECK-ARM-FP_ELIM: .cfi_offset 4, -8 - ; CHECK-ARM-FP_ELIM: sub sp, sp, #72 - ; CHECK-ARM-FP_ELIM: sub sp, sp, #4096 - ; CHECK-ARM-FP_ELIM: .cfi_def_cfa_offset 4176 -@@ -73,11 +73,11 @@ - ; CHECK-ARM: .cfi_startproc - ; CHECK-ARM: push {r4, r5, r11} - ; CHECK-ARM: .cfi_def_cfa_offset 12 --; CHECK-ARM: .cfi_offset r11, -4 --; CHECK-ARM: .cfi_offset r5, -8 --; CHECK-ARM: .cfi_offset r4, -12 -+; CHECK-ARM: .cfi_offset 11, -4 -+; CHECK-ARM: .cfi_offset 5, -8 -+; CHECK-ARM: .cfi_offset 4, -12 - ; CHECK-ARM: add r11, sp, #8 --; CHECK-ARM: .cfi_def_cfa r11, 4 -+; CHECK-ARM: .cfi_def_cfa 11, 4 - ; CHECK-ARM: sub sp, sp, #20 - ; CHECK-ARM: sub sp, sp, #805306368 - ; CHECK-ARM: bic sp, sp, #15 -@@ -87,11 +87,11 @@ - ; CHECK-ARM-FP-ELIM: .cfi_startproc - ; CHECK-ARM-FP-ELIM: push {r4, r5, r11} - ; CHECK-ARM-FP-ELIM: .cfi_def_cfa_offset 12 --; CHECK-ARM-FP-ELIM: .cfi_offset r11, -4 --; CHECK-ARM-FP-ELIM: .cfi_offset r5, -8 --; CHECK-ARM-FP-ELIM: .cfi_offset r4, -12 -+; CHECK-ARM-FP-ELIM: .cfi_offset 11, -4 -+; CHECK-ARM-FP-ELIM: .cfi_offset 5, -8 -+; CHECK-ARM-FP-ELIM: .cfi_offset 4, -12 - ; CHECK-ARM-FP-ELIM: add r11, sp, #8 --; CHECK-ARM-FP-ELIM: .cfi_def_cfa r11, 4 -+; CHECK-ARM-FP-ELIM: .cfi_def_cfa 11, 4 - ; CHECK-ARM-FP-ELIM: sub sp, sp, #20 - ; CHECK-ARM-FP-ELIM: sub sp, sp, #805306368 - ; CHECK-ARM-FP-ELIM: bic sp, sp, #15 -Index: test/CodeGen/ARM/debug-frame-vararg.ll -=================================================================== ---- test/CodeGen/ARM/debug-frame-vararg.ll -+++ test/CodeGen/ARM/debug-frame-vararg.ll -@@ -66,8 +66,8 @@ - ; CHECK-FP: .cfi_def_cfa_offset 16 - ; CHECK-FP: push {r4, lr} - ; CHECK-FP: .cfi_def_cfa_offset 24 --; CHECK-FP: .cfi_offset lr, -20 --; CHECK-FP: .cfi_offset r4, -24 -+; CHECK-FP: .cfi_offset 14, -20 -+; CHECK-FP: .cfi_offset 4, -24 - ; CHECK-FP: sub sp, sp, #8 - ; CHECK-FP: .cfi_def_cfa_offset 32 - -@@ -77,22 +77,22 @@ - ; CHECK-FP-ELIM: .cfi_def_cfa_offset 16 - ; CHECK-FP-ELIM: push {r4, r11, lr} - ; CHECK-FP-ELIM: .cfi_def_cfa_offset 28 --; CHECK-FP-ELIM: .cfi_offset lr, -20 --; CHECK-FP-ELIM: .cfi_offset r11, -24 --; CHECK-FP-ELIM: .cfi_offset r4, -28 -+; CHECK-FP-ELIM: .cfi_offset 14, -20 -+; CHECK-FP-ELIM: .cfi_offset 11, -24 -+; CHECK-FP-ELIM: .cfi_offset 4, -28 - ; CHECK-FP-ELIM: add r11, sp, #4 --; CHECK-FP-ELIM: .cfi_def_cfa r11, 24 -+; CHECK-FP-ELIM: .cfi_def_cfa 11, 24 - - ; CHECK-THUMB-FP-LABEL: sum - ; CHECK-THUMB-FP: .cfi_startproc - ; CHECK-THUMB-FP: sub sp, #16 - ; CHECK-THUMB-FP: .cfi_def_cfa_offset 16 - ; CHECK-THUMB-FP: push {r4, r5, r7, lr} - ; CHECK-THUMB-FP: .cfi_def_cfa_offset 32 --; CHECK-THUMB-FP: .cfi_offset lr, -20 --; CHECK-THUMB-FP: .cfi_offset r7, -24 --; CHECK-THUMB-FP: .cfi_offset r5, -28 --; CHECK-THUMB-FP: .cfi_offset r4, -32 -+; CHECK-THUMB-FP: .cfi_offset 14, -20 -+; CHECK-THUMB-FP: .cfi_offset 7, -24 -+; CHECK-THUMB-FP: .cfi_offset 5, -28 -+; CHECK-THUMB-FP: .cfi_offset 4, -32 - ; CHECK-THUMB-FP: sub sp, #8 - ; CHECK-THUMB-FP: .cfi_def_cfa_offset 40 - -@@ -102,12 +102,12 @@ - ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 16 - ; CHECK-THUMB-FP-ELIM: push {r4, r5, r7, lr} - ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 32 --; CHECK-THUMB-FP-ELIM: .cfi_offset lr, -20 --; CHECK-THUMB-FP-ELIM: .cfi_offset r7, -24 --; CHECK-THUMB-FP-ELIM: .cfi_offset r5, -28 --; CHECK-THUMB-FP-ELIM: .cfi_offset r4, -32 -+; CHECK-THUMB-FP-ELIM: .cfi_offset 14, -20 -+; CHECK-THUMB-FP-ELIM: .cfi_offset 7, -24 -+; CHECK-THUMB-FP-ELIM: .cfi_offset 5, -28 -+; CHECK-THUMB-FP-ELIM: .cfi_offset 4, -32 - ; CHECK-THUMB-FP-ELIM: add r7, sp, #8 --; CHECK-THUMB-FP-ELIM: .cfi_def_cfa r7, 24 -+; CHECK-THUMB-FP-ELIM: .cfi_def_cfa 7, 24 - - define i32 @sum(i32 %count, ...) { - entry: -Index: test/CodeGen/ARM/debug-frame.ll -=================================================================== ---- test/CodeGen/ARM/debug-frame.ll -+++ test/CodeGen/ARM/debug-frame.ll -@@ -163,131 +163,131 @@ - ; CHECK-FP: .cfi_startproc - ; CHECK-FP: push {r4, r5, r6, r7, r8, r9, r10, r11, lr} - ; CHECK-FP: .cfi_def_cfa_offset 36 --; CHECK-FP: .cfi_offset lr, -4 --; CHECK-FP: .cfi_offset r11, -8 --; CHECK-FP: .cfi_offset r10, -12 --; CHECK-FP: .cfi_offset r9, -16 --; CHECK-FP: .cfi_offset r8, -20 --; CHECK-FP: .cfi_offset r7, -24 --; CHECK-FP: .cfi_offset r6, -28 --; CHECK-FP: .cfi_offset r5, -32 --; CHECK-FP: .cfi_offset r4, -36 -+; CHECK-FP: .cfi_offset 14, -4 -+; CHECK-FP: .cfi_offset 11, -8 -+; CHECK-FP: .cfi_offset 10, -12 -+; CHECK-FP: .cfi_offset 9, -16 -+; CHECK-FP: .cfi_offset 8, -20 -+; CHECK-FP: .cfi_offset 7, -24 -+; CHECK-FP: .cfi_offset 6, -28 -+; CHECK-FP: .cfi_offset 5, -32 -+; CHECK-FP: .cfi_offset 4, -36 - ; CHECK-FP: add r11, sp, #28 --; CHECK-FP: .cfi_def_cfa r11, 8 -+; CHECK-FP: .cfi_def_cfa 11, 8 - ; CHECK-FP: sub sp, sp, #28 - ; CHECK-FP: .cfi_endproc - - ; CHECK-FP-ELIM-LABEL: _Z4testiiiiiddddd: - ; CHECK-FP-ELIM: .cfi_startproc - ; CHECK-FP-ELIM: push {r4, r5, r6, r7, r8, r9, r10, r11, lr} - ; CHECK-FP-ELIM: .cfi_def_cfa_offset 36 --; CHECK-FP-ELIM: .cfi_offset lr, -4 --; CHECK-FP-ELIM: .cfi_offset r11, -8 --; CHECK-FP-ELIM: .cfi_offset r10, -12 --; CHECK-FP-ELIM: .cfi_offset r9, -16 --; CHECK-FP-ELIM: .cfi_offset r8, -20 --; CHECK-FP-ELIM: .cfi_offset r7, -24 --; CHECK-FP-ELIM: .cfi_offset r6, -28 --; CHECK-FP-ELIM: .cfi_offset r5, -32 --; CHECK-FP-ELIM: .cfi_offset r4, -36 -+; CHECK-FP-ELIM: .cfi_offset 14, -4 -+; CHECK-FP-ELIM: .cfi_offset 11, -8 -+; CHECK-FP-ELIM: .cfi_offset 10, -12 -+; CHECK-FP-ELIM: .cfi_offset 9, -16 -+; CHECK-FP-ELIM: .cfi_offset 8, -20 -+; CHECK-FP-ELIM: .cfi_offset 7, -24 -+; CHECK-FP-ELIM: .cfi_offset 6, -28 -+; CHECK-FP-ELIM: .cfi_offset 5, -32 -+; CHECK-FP-ELIM: .cfi_offset 4, -36 - ; CHECK-FP-ELIM: sub sp, sp, #28 - ; CHECK-FP-ELIM: .cfi_def_cfa_offset 64 - ; CHECK-FP-ELIM: .cfi_endproc - - ; CHECK-V7-FP-LABEL: _Z4testiiiiiddddd: - ; CHECK-V7-FP: .cfi_startproc - ; CHECK-V7-FP: push {r4, r11, lr} - ; CHECK-V7-FP: .cfi_def_cfa_offset 12 --; CHECK-V7-FP: .cfi_offset lr, -4 --; CHECK-V7-FP: .cfi_offset r11, -8 --; CHECK-V7-FP: .cfi_offset r4, -12 -+; CHECK-V7-FP: .cfi_offset 14, -4 -+; CHECK-V7-FP: .cfi_offset 11, -8 -+; CHECK-V7-FP: .cfi_offset 4, -12 - ; CHECK-V7-FP: add r11, sp, #4 --; CHECK-V7-FP: .cfi_def_cfa r11, 8 -+; CHECK-V7-FP: .cfi_def_cfa 11, 8 - ; CHECK-V7-FP: vpush {d8, d9, d10, d11, d12} --; CHECK-V7-FP: .cfi_offset d12, -24 --; CHECK-V7-FP: .cfi_offset d11, -32 --; CHECK-V7-FP: .cfi_offset d10, -40 --; CHECK-V7-FP: .cfi_offset d9, -48 --; CHECK-V7-FP: .cfi_offset d8, -56 -+; CHECK-V7-FP: .cfi_offset 268, -24 -+; CHECK-V7-FP: .cfi_offset 267, -32 -+; CHECK-V7-FP: .cfi_offset 266, -40 -+; CHECK-V7-FP: .cfi_offset 265, -48 -+; CHECK-V7-FP: .cfi_offset 264, -56 - ; CHECK-V7-FP: sub sp, sp, #28 - ; CHECK-V7-FP: .cfi_endproc - - ; CHECK-V7-FP-ELIM-LABEL: _Z4testiiiiiddddd: - ; CHECK-V7-FP-ELIM: .cfi_startproc - ; CHECK-V7-FP-ELIM: push {r4, lr} - ; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 8 --; CHECK-V7-FP-ELIM: .cfi_offset lr, -4 --; CHECK-V7-FP-ELIM: .cfi_offset r4, -8 -+; CHECK-V7-FP-ELIM: .cfi_offset 14, -4 -+; CHECK-V7-FP-ELIM: .cfi_offset 4, -8 - ; CHECK-V7-FP-ELIM: vpush {d8, d9, d10, d11, d12} - ; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 48 --; CHECK-V7-FP-ELIM: .cfi_offset d12, -16 --; CHECK-V7-FP-ELIM: .cfi_offset d11, -24 --; CHECK-V7-FP-ELIM: .cfi_offset d10, -32 --; CHECK-V7-FP-ELIM: .cfi_offset d9, -40 --; CHECK-V7-FP-ELIM: .cfi_offset d8, -48 -+; CHECK-V7-FP-ELIM: .cfi_offset 268, -16 -+; CHECK-V7-FP-ELIM: .cfi_offset 267, -24 -+; CHECK-V7-FP-ELIM: .cfi_offset 266, -32 -+; CHECK-V7-FP-ELIM: .cfi_offset 265, -40 -+; CHECK-V7-FP-ELIM: .cfi_offset 264, -48 - ; CHECK-V7-FP-ELIM: sub sp, sp, #24 - ; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 72 - ; CHECK-V7-FP-ELIM: .cfi_endproc - - ; CHECK-THUMB-FP-LABEL: _Z4testiiiiiddddd: - ; CHECK-THUMB-FP: .cfi_startproc - ; CHECK-THUMB-FP: push {r4, r5, r6, r7, lr} - ; CHECK-THUMB-FP: .cfi_def_cfa_offset 20 --; CHECK-THUMB-FP: .cfi_offset lr, -4 --; CHECK-THUMB-FP: .cfi_offset r7, -8 --; CHECK-THUMB-FP: .cfi_offset r6, -12 --; CHECK-THUMB-FP: .cfi_offset r5, -16 --; CHECK-THUMB-FP: .cfi_offset r4, -20 -+; CHECK-THUMB-FP: .cfi_offset 14, -4 -+; CHECK-THUMB-FP: .cfi_offset 7, -8 -+; CHECK-THUMB-FP: .cfi_offset 6, -12 -+; CHECK-THUMB-FP: .cfi_offset 5, -16 -+; CHECK-THUMB-FP: .cfi_offset 4, -20 - ; CHECK-THUMB-FP: add r7, sp, #12 --; CHECK-THUMB-FP: .cfi_def_cfa r7, 8 -+; CHECK-THUMB-FP: .cfi_def_cfa 7, 8 - ; CHECK-THUMB-FP: sub sp, #60 - ; CHECK-THUMB-FP: .cfi_endproc - - ; CHECK-THUMB-FP-ELIM-LABEL: _Z4testiiiiiddddd: - ; CHECK-THUMB-FP-ELIM: .cfi_startproc - ; CHECK-THUMB-FP-ELIM: push {r4, r5, r6, r7, lr} - ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 20 --; CHECK-THUMB-FP-ELIM: .cfi_offset lr, -4 --; CHECK-THUMB-FP-ELIM: .cfi_offset r7, -8 --; CHECK-THUMB-FP-ELIM: .cfi_offset r6, -12 --; CHECK-THUMB-FP-ELIM: .cfi_offset r5, -16 --; CHECK-THUMB-FP-ELIM: .cfi_offset r4, -20 -+; CHECK-THUMB-FP-ELIM: .cfi_offset 14, -4 -+; CHECK-THUMB-FP-ELIM: .cfi_offset 7, -8 -+; CHECK-THUMB-FP-ELIM: .cfi_offset 6, -12 -+; CHECK-THUMB-FP-ELIM: .cfi_offset 5, -16 -+; CHECK-THUMB-FP-ELIM: .cfi_offset 4, -20 - ; CHECK-THUMB-FP-ELIM: sub sp, #60 - ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 80 - ; CHECK-THUMB-FP-ELIM: .cfi_endproc - - ; CHECK-THUMB-V7-FP-LABEL: _Z4testiiiiiddddd: - ; CHECK-THUMB-V7-FP: .cfi_startproc - ; CHECK-THUMB-V7-FP: push.w {r4, r7, r11, lr} - ; CHECK-THUMB-V7-FP: .cfi_def_cfa_offset 16 --; CHECK-THUMB-V7-FP: .cfi_offset lr, -4 --; CHECK-THUMB-V7-FP: .cfi_offset r11, -8 --; CHECK-THUMB-V7-FP: .cfi_offset r7, -12 --; CHECK-THUMB-V7-FP: .cfi_offset r4, -16 -+; CHECK-THUMB-V7-FP: .cfi_offset 14, -4 -+; CHECK-THUMB-V7-FP: .cfi_offset 11, -8 -+; CHECK-THUMB-V7-FP: .cfi_offset 7, -12 -+; CHECK-THUMB-V7-FP: .cfi_offset 4, -16 - ; CHECK-THUMB-V7-FP: add r7, sp, #4 --; CHECK-THUMB-V7-FP: .cfi_def_cfa r7, 12 -+; CHECK-THUMB-V7-FP: .cfi_def_cfa 7, 12 - ; CHECK-THUMB-V7-FP: vpush {d8, d9, d10, d11, d12} --; CHECK-THUMB-V7-FP: .cfi_offset d12, -24 --; CHECK-THUMB-V7-FP: .cfi_offset d11, -32 --; CHECK-THUMB-V7-FP: .cfi_offset d10, -40 --; CHECK-THUMB-V7-FP: .cfi_offset d9, -48 --; CHECK-THUMB-V7-FP: .cfi_offset d8, -56 -+; CHECK-THUMB-V7-FP: .cfi_offset 268, -24 -+; CHECK-THUMB-V7-FP: .cfi_offset 267, -32 -+; CHECK-THUMB-V7-FP: .cfi_offset 266, -40 -+; CHECK-THUMB-V7-FP: .cfi_offset 265, -48 -+; CHECK-THUMB-V7-FP: .cfi_offset 264, -56 - ; CHECK-THUMB-V7-FP: sub sp, #24 - ; CHECK-THUMB-V7-FP: .cfi_endproc - - ; CHECK-THUMB-V7-FP-ELIM-LABEL: _Z4testiiiiiddddd: - ; CHECK-THUMB-V7-FP-ELIM: .cfi_startproc - ; CHECK-THUMB-V7-FP-ELIM: push {r4, lr} - ; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 8 --; CHECK-THUMB-V7-FP-ELIM: .cfi_offset lr, -4 --; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r4, -8 -+; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 14, -4 -+; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 4, -8 - ; CHECK-THUMB-V7-FP-ELIM: vpush {d8, d9, d10, d11, d12} - ; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 48 --; CHECK-THUMB-V7-FP-ELIM: .cfi_offset d12, -16 --; CHECK-THUMB-V7-FP-ELIM: .cfi_offset d11, -24 --; CHECK-THUMB-V7-FP-ELIM: .cfi_offset d10, -32 --; CHECK-THUMB-V7-FP-ELIM: .cfi_offset d9, -40 --; CHECK-THUMB-V7-FP-ELIM: .cfi_offset d8, -48 -+; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 268, -16 -+; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 267, -24 -+; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 266, -32 -+; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 265, -40 -+; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 264, -48 - ; CHECK-THUMB-V7-FP-ELIM: sub sp, #24 - ; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 72 - ; CHECK-THUMB-V7-FP-ELIM: .cfi_endproc -@@ -309,81 +309,81 @@ - ; CHECK-FP: .cfi_startproc - ; CHECK-FP: push {r11, lr} - ; CHECK-FP: .cfi_def_cfa_offset 8 --; CHECK-FP: .cfi_offset lr, -4 --; CHECK-FP: .cfi_offset r11, -8 -+; CHECK-FP: .cfi_offset 14, -4 -+; CHECK-FP: .cfi_offset 11, -8 - ; CHECK-FP: mov r11, sp --; CHECK-FP: .cfi_def_cfa_register r11 -+; CHECK-FP: .cfi_def_cfa_register 11 - ; CHECK-FP: pop {r11, lr} - ; CHECK-FP: mov pc, lr - ; CHECK-FP: .cfi_endproc - - ; CHECK-FP-ELIM-LABEL: test2: - ; CHECK-FP-ELIM: .cfi_startproc - ; CHECK-FP-ELIM: push {r11, lr} - ; CHECK-FP-ELIM: .cfi_def_cfa_offset 8 --; CHECK-FP-ELIM: .cfi_offset lr, -4 --; CHECK-FP-ELIM: .cfi_offset r11, -8 -+; CHECK-FP-ELIM: .cfi_offset 14, -4 -+; CHECK-FP-ELIM: .cfi_offset 11, -8 - ; CHECK-FP-ELIM: pop {r11, lr} - ; CHECK-FP-ELIM: mov pc, lr - ; CHECK-FP-ELIM: .cfi_endproc - - ; CHECK-V7-FP-LABEL: test2: - ; CHECK-V7-FP: .cfi_startproc - ; CHECK-V7-FP: push {r11, lr} - ; CHECK-V7-FP: .cfi_def_cfa_offset 8 --; CHECK-V7-FP: .cfi_offset lr, -4 --; CHECK-V7-FP: .cfi_offset r11, -8 -+; CHECK-V7-FP: .cfi_offset 14, -4 -+; CHECK-V7-FP: .cfi_offset 11, -8 - ; CHECK-V7-FP: mov r11, sp --; CHECK-V7-FP: .cfi_def_cfa_register r11 -+; CHECK-V7-FP: .cfi_def_cfa_register 11 - ; CHECK-V7-FP: pop {r11, pc} - ; CHECK-V7-FP: .cfi_endproc - - ; CHECK-V7-FP-ELIM-LABEL: test2: - ; CHECK-V7-FP-ELIM: .cfi_startproc - ; CHECK-V7-FP-ELIM: push {r11, lr} - ; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 8 --; CHECK-V7-FP-ELIM: .cfi_offset lr, -4 --; CHECK-V7-FP-ELIM: .cfi_offset r11, -8 -+; CHECK-V7-FP-ELIM: .cfi_offset 14, -4 -+; CHECK-V7-FP-ELIM: .cfi_offset 11, -8 - ; CHECK-V7-FP-ELIM: pop {r11, pc} - ; CHECK-V7-FP-ELIM: .cfi_endproc - - ; CHECK-THUMB-FP-LABEL: test2: - ; CHECK-THUMB-FP: .cfi_startproc - ; CHECK-THUMB-FP: push {r7, lr} - ; CHECK-THUMB-FP: .cfi_def_cfa_offset 8 --; CHECK-THUMB-FP: .cfi_offset lr, -4 --; CHECK-THUMB-FP: .cfi_offset r7, -8 -+; CHECK-THUMB-FP: .cfi_offset 14, -4 -+; CHECK-THUMB-FP: .cfi_offset 7, -8 - ; CHECK-THUMB-FP: add r7, sp, #0 --; CHECK-THUMB-FP: .cfi_def_cfa_register r7 -+; CHECK-THUMB-FP: .cfi_def_cfa_register 7 - ; CHECK-THUMB-FP: pop {r7, pc} - ; CHECK-THUMB-FP: .cfi_endproc - - ; CHECK-THUMB-FP-ELIM-LABEL: test2: - ; CHECK-THUMB-FP-ELIM: .cfi_startproc - ; CHECK-THUMB-FP-ELIM: push {r7, lr} - ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 8 --; CHECK-THUMB-FP-ELIM: .cfi_offset lr, -4 --; CHECK-THUMB-FP-ELIM: .cfi_offset r7, -8 -+; CHECK-THUMB-FP-ELIM: .cfi_offset 14, -4 -+; CHECK-THUMB-FP-ELIM: .cfi_offset 7, -8 - ; CHECK-THUMB-FP-ELIM: pop {r7, pc} - ; CHECK-THUMB-FP-ELIM: .cfi_endproc - - ; CHECK-THUMB-V7-FP-LABEL: test2: - ; CHECK-THUMB-V7-FP: .cfi_startproc - ; CHECK-THUMB-V7-FP: push {r7, lr} - ; CHECK-THUMB-V7-FP: .cfi_def_cfa_offset 8 --; CHECK-THUMB-V7-FP: .cfi_offset lr, -4 --; CHECK-THUMB-V7-FP: .cfi_offset r7, -8 -+; CHECK-THUMB-V7-FP: .cfi_offset 14, -4 -+; CHECK-THUMB-V7-FP: .cfi_offset 7, -8 - ; CHECK-THUMB-V7-FP: mov r7, sp --; CHECK-THUMB-V7-FP: .cfi_def_cfa_register r7 -+; CHECK-THUMB-V7-FP: .cfi_def_cfa_register 7 - ; CHECK-THUMB-V7-FP: pop {r7, pc} - ; CHECK-THUMB-V7-FP: .cfi_endproc - - ; CHECK-THUMB-V7-FP-ELIM-LABEL: test2: - ; CHECK-THUMB-V7-FP-ELIM: .cfi_startproc - ; CHECK-THUMB-V7-FP-ELIM: push.w {r11, lr} - ; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 8 --; CHECK-THUMB-V7-FP-ELIM: .cfi_offset lr, -4 --; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r11, -8 -+; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 14, -4 -+; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 11, -8 - ; CHECK-THUMB-V7-FP-ELIM: pop.w {r11, pc} - ; CHECK-THUMB-V7-FP-ELIM: .cfi_endproc - -@@ -413,97 +413,97 @@ - ; CHECK-FP: .cfi_startproc - ; CHECK-FP: push {r4, r5, r11, lr} - ; CHECK-FP: .cfi_def_cfa_offset 16 --; CHECK-FP: .cfi_offset lr, -4 --; CHECK-FP: .cfi_offset r11, -8 --; CHECK-FP: .cfi_offset r5, -12 --; CHECK-FP: .cfi_offset r4, -16 -+; CHECK-FP: .cfi_offset 14, -4 -+; CHECK-FP: .cfi_offset 11, -8 -+; CHECK-FP: .cfi_offset 5, -12 -+; CHECK-FP: .cfi_offset 4, -16 - ; CHECK-FP: add r11, sp, #8 --; CHECK-FP: .cfi_def_cfa r11, 8 -+; CHECK-FP: .cfi_def_cfa 11, 8 - ; CHECK-FP: pop {r4, r5, r11, lr} - ; CHECK-FP: mov pc, lr - ; CHECK-FP: .cfi_endproc - - ; CHECK-FP-ELIM-LABEL: test3: - ; CHECK-FP-ELIM: .cfi_startproc - ; CHECK-FP-ELIM: push {r4, r5, r11, lr} - ; CHECK-FP-ELIM: .cfi_def_cfa_offset 16 --; CHECK-FP-ELIM: .cfi_offset lr, -4 --; CHECK-FP-ELIM: .cfi_offset r11, -8 --; CHECK-FP-ELIM: .cfi_offset r5, -12 --; CHECK-FP-ELIM: .cfi_offset r4, -16 -+; CHECK-FP-ELIM: .cfi_offset 14, -4 -+; CHECK-FP-ELIM: .cfi_offset 11, -8 -+; CHECK-FP-ELIM: .cfi_offset 5, -12 -+; CHECK-FP-ELIM: .cfi_offset 4, -16 - ; CHECK-FP-ELIM: pop {r4, r5, r11, lr} - ; CHECK-FP-ELIM: mov pc, lr - ; CHECK-FP-ELIM: .cfi_endproc - - ; CHECK-V7-FP-LABEL: test3: - ; CHECK-V7-FP: .cfi_startproc - ; CHECK-V7-FP: push {r4, r5, r11, lr} - ; CHECK-V7-FP: .cfi_def_cfa_offset 16 --; CHECK-V7-FP: .cfi_offset lr, -4 --; CHECK-V7-FP: .cfi_offset r11, -8 --; CHECK-V7-FP: .cfi_offset r5, -12 --; CHECK-V7-FP: .cfi_offset r4, -16 -+; CHECK-V7-FP: .cfi_offset 14, -4 -+; CHECK-V7-FP: .cfi_offset 11, -8 -+; CHECK-V7-FP: .cfi_offset 5, -12 -+; CHECK-V7-FP: .cfi_offset 4, -16 - ; CHECK-V7-FP: add r11, sp, #8 --; CHECK-V7-FP: .cfi_def_cfa r11, 8 -+; CHECK-V7-FP: .cfi_def_cfa 11, 8 - ; CHECK-V7-FP: pop {r4, r5, r11, pc} - ; CHECK-V7-FP: .cfi_endproc - - ; CHECK-V7-FP-ELIM-LABEL: test3: - ; CHECK-V7-FP-ELIM: .cfi_startproc - ; CHECK-V7-FP-ELIM: push {r4, r5, r11, lr} - ; CHECK-V7-FP-ELIM: .cfi_def_cfa_offset 16 --; CHECK-V7-FP-ELIM: .cfi_offset lr, -4 --; CHECK-V7-FP-ELIM: .cfi_offset r11, -8 --; CHECK-V7-FP-ELIM: .cfi_offset r5, -12 --; CHECK-V7-FP-ELIM: .cfi_offset r4, -16 -+; CHECK-V7-FP-ELIM: .cfi_offset 14, -4 -+; CHECK-V7-FP-ELIM: .cfi_offset 11, -8 -+; CHECK-V7-FP-ELIM: .cfi_offset 5, -12 -+; CHECK-V7-FP-ELIM: .cfi_offset 4, -16 - ; CHECK-V7-FP-ELIM: pop {r4, r5, r11, pc} - ; CHECK-V7-FP-ELIM: .cfi_endproc - - ; CHECK-THUMB-FP-LABEL: test3: - ; CHECK-THUMB-FP: .cfi_startproc - ; CHECK-THUMB-FP: push {r4, r5, r7, lr} - ; CHECK-THUMB-FP: .cfi_def_cfa_offset 16 --; CHECK-THUMB-FP: .cfi_offset lr, -4 --; CHECK-THUMB-FP: .cfi_offset r7, -8 --; CHECK-THUMB-FP: .cfi_offset r5, -12 --; CHECK-THUMB-FP: .cfi_offset r4, -16 -+; CHECK-THUMB-FP: .cfi_offset 14, -4 -+; CHECK-THUMB-FP: .cfi_offset 7, -8 -+; CHECK-THUMB-FP: .cfi_offset 5, -12 -+; CHECK-THUMB-FP: .cfi_offset 4, -16 - ; CHECK-THUMB-FP: add r7, sp, #8 --; CHECK-THUMB-FP: .cfi_def_cfa r7, 8 -+; CHECK-THUMB-FP: .cfi_def_cfa 7, 8 - ; CHECK-THUMB-FP: pop {r4, r5, r7, pc} - ; CHECK-THUMB-FP: .cfi_endproc - - ; CHECK-THUMB-FP-ELIM-LABEL: test3: - ; CHECK-THUMB-FP-ELIM: .cfi_startproc - ; CHECK-THUMB-FP-ELIM: push {r4, r5, r7, lr} - ; CHECK-THUMB-FP-ELIM: .cfi_def_cfa_offset 16 --; CHECK-THUMB-FP-ELIM: .cfi_offset lr, -4 --; CHECK-THUMB-FP-ELIM: .cfi_offset r7, -8 --; CHECK-THUMB-FP-ELIM: .cfi_offset r5, -12 --; CHECK-THUMB-FP-ELIM: .cfi_offset r4, -16 -+; CHECK-THUMB-FP-ELIM: .cfi_offset 14, -4 -+; CHECK-THUMB-FP-ELIM: .cfi_offset 7, -8 -+; CHECK-THUMB-FP-ELIM: .cfi_offset 5, -12 -+; CHECK-THUMB-FP-ELIM: .cfi_offset 4, -16 - ; CHECK-THUMB-FP-ELIM: pop {r4, r5, r7, pc} - ; CHECK-THUMB-FP-ELIM: .cfi_endproc - - ; CHECK-THUMB-V7-FP-LABEL: test3: - ; CHECK-THUMB-V7-FP: .cfi_startproc - ; CHECK-THUMB-V7-FP: push {r4, r5, r7, lr} - ; CHECK-THUMB-V7-FP: .cfi_def_cfa_offset 16 --; CHECK-THUMB-V7-FP: .cfi_offset lr, -4 --; CHECK-THUMB-V7-FP: .cfi_offset r7, -8 --; CHECK-THUMB-V7-FP: .cfi_offset r5, -12 --; CHECK-THUMB-V7-FP: .cfi_offset r4, -16 -+; CHECK-THUMB-V7-FP: .cfi_offset 14, -4 -+; CHECK-THUMB-V7-FP: .cfi_offset 7, -8 -+; CHECK-THUMB-V7-FP: .cfi_offset 5, -12 -+; CHECK-THUMB-V7-FP: .cfi_offset 4, -16 - ; CHECK-THUMB-V7-FP: add r7, sp, #8 --; CHECK-THUMB-V7-FP: .cfi_def_cfa r7, 8 -+; CHECK-THUMB-V7-FP: .cfi_def_cfa 7, 8 - ; CHECK-THUMB-V7-FP: pop {r4, r5, r7, pc} - ; CHECK-THUMB-V7-FP: .cfi_endproc - - ; CHECK-THUMB-V7-FP-ELIM-LABEL: test3: - ; CHECK-THUMB-V7-FP-ELIM: .cfi_startproc - ; CHECK-THUMB-V7-FP-ELIM: push.w {r4, r5, r11, lr} - ; CHECK-THUMB-V7-FP-ELIM: .cfi_def_cfa_offset 16 --; CHECK-THUMB-V7-FP-ELIM: .cfi_offset lr, -4 --; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r11, -8 --; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r5, -12 --; CHECK-THUMB-V7-FP-ELIM: .cfi_offset r4, -16 -+; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 14, -4 -+; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 11, -8 -+; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 5, -12 -+; CHECK-THUMB-V7-FP-ELIM: .cfi_offset 4, -16 - ; CHECK-THUMB-V7-FP-ELIM: pop.w {r4, r5, r11, pc} - ; CHECK-THUMB-V7-FP-ELIM: .cfi_endproc - -EOF -patch -p0 -cd - - # Echo all commands. set -x @@ -946,21 +277,9 @@ fi export CFLAGS="" export CXXFLAGS="" -# LLVM uses C++11 starting in llvm 3.5. On Linux, this means libstdc++4.7+ is -# needed, on OS X it requires libc++. clang only automatically links to libc++ -# when targeting OS X 10.9+, so add stdlib=libc++ explicitly so clang can run on -# OS X versions as old as 10.7. -# TODO(thakis): Enable this once all bots are on 10.7, and remove the -# --disable-compiler-version-checks flags below, and change all -# MACOSX_DEPLOYMENT_TARGET values to 10.7. -if [ "${OS}" = "Darwin" ]; then - #CXXFLAGS="-stdlib=libc++" - CXXFLAGS="-std=gnu++98" -fi # Build bootstrap clang if requested. if [[ -n "${bootstrap}" ]]; then - ABS_INSTALL_DIR="${PWD}/${LLVM_BOOTSTRAP_INSTALL_DIR}" echo "Building bootstrap compiler" mkdir -p "${LLVM_BOOTSTRAP_DIR}" cd "${LLVM_BOOTSTRAP_DIR}" @@ -970,32 +289,30 @@ if [[ -n "${bootstrap}" ]]; then # compiler should be as similar to the final compiler as possible, so do # keep --disable-threads & co. ../llvm/configure \ - --disable-compiler-version-checks \ --enable-optimized \ --enable-targets=host-only \ --disable-threads \ --disable-pthreads \ --without-llvmgcc \ - --without-llvmgxx \ - --prefix="${ABS_INSTALL_DIR}" - fi - - MACOSX_DEPLOYMENT_TARGET=10.5 ${MAKE} -j"${NUM_JOBS}" - if [[ -n "${run_tests}" ]]; then - ${MAKE} check-all + --without-llvmgxx fi - MACOSX_DEPLOYMENT_TARGET=10.5 ${MAKE} install if [[ -n "${gcc_toolchain}" ]]; then # Copy that gcc's stdlibc++.so.6 to the build dir, so the bootstrap # compiler can start. + mkdir -p Release+Asserts/lib cp -v "$(${CXX} -print-file-name=libstdc++.so.6)" \ - "${ABS_INSTALL_DIR}/lib/" + "Release+Asserts/lib/" fi + + MACOSX_DEPLOYMENT_TARGET=10.5 ${MAKE} -j"${NUM_JOBS}" + if [[ -n "${run_tests}" ]]; then + ${MAKE} check-all + fi cd - - export CC="${ABS_INSTALL_DIR}/bin/clang" - export CXX="${ABS_INSTALL_DIR}/bin/clang++" + export CC="${PWD}/${LLVM_BOOTSTRAP_DIR}/Release+Asserts/bin/clang" + export CXX="${PWD}/${LLVM_BOOTSTRAP_DIR}/Release+Asserts/bin/clang++" if [[ -n "${gcc_toolchain}" ]]; then # Tell the bootstrap compiler to use a specific gcc prefix to search @@ -1014,7 +331,6 @@ mkdir -p "${LLVM_BUILD_DIR}" cd "${LLVM_BUILD_DIR}" if [[ ! -f ./config.status ]]; then ../llvm/configure \ - --disable-compiler-version-checks \ --enable-optimized \ --disable-threads \ --disable-pthreads \ |