From: LLVM Packaging Team Date: Fri, 2 Jun 2017 13:14:18 +0000 (+0000) Subject: removeduplicatedeclaration X-Git-Tag: archive/raspbian/1%3.9.1-9+rpi1^2~37 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=361cc238f3d54fc150f23de8eaed9673d873a5f3;p=llvm-toolchain-3.9.git removeduplicatedeclaration =================================================================== Gbp-Pq: Name removeduplicatedeclaration.diff --- diff --git a/clang/lib/Basic/Targets.cpp b/clang/lib/Basic/Targets.cpp index 10384cd4..036430c3 100644 --- a/clang/lib/Basic/Targets.cpp +++ b/clang/lib/Basic/Targets.cpp @@ -4282,33 +4282,6 @@ protected: Builder.defineMacro("__ELF__"); } - 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: RTEMSTargetInfo(const llvm::Triple &Triple, const TargetOptions &Opts)