From: LLVM Packaging Team Date: Sun, 12 Mar 2017 08:49:18 +0000 (+0000) Subject: removeduplicatedeclaration X-Git-Tag: archive/raspbian/1%3.8.1-18+rpi1^2~36 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=86ccc8a68215f85a4416376012b12da060e91e7c;p=llvm-toolchain-3.8.git removeduplicatedeclaration =================================================================== Gbp-Pq: Name removeduplicatedeclaration.diff --- diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 95861e1e..f4a4cc85 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -4467,33 +4467,6 @@ class ARMTargetInfo : public TargetInfo { } } - static bool shouldUseInlineAtomic(const llvm::Triple &T) { - // On linux, binaries targeting old cpus call functions in libgcc to - // perform atomic operations. The implementation in libgcc then calls into - // the kernel which on armv6 and newer uses ldrex and strex. The net result - // is that if we assume the kernel is at least as recent as the hardware, - // it is safe to use atomic instructions on armv6 and newer. - if (T.getOS() != llvm::Triple::Linux) - return false; - StringRef ArchName = T.getArchName(); - if (T.getArch() == llvm::Triple::arm) { - if (!ArchName.startswith("armv")) - return false; - StringRef VersionStr = ArchName.substr(4); - unsigned Version; - if (VersionStr.getAsInteger(10, Version)) - return false; - return Version >= 6; - } - assert(T.getArch() == llvm::Triple::thumb); - if (!ArchName.startswith("thumbv")) - return false; - StringRef VersionStr = ArchName.substr(6); - unsigned Version; - if (VersionStr.getAsInteger(10, Version)) - return false; - return Version >= 7; - } public: ARMTargetInfo(const llvm::Triple &Triple, bool IsBigEndian)