Fix a ftbfs with the lastest version of gcc

This commit is contained in:
Sylvestre Ledru 2013-10-11 11:04:49 +00:00
parent 8a03c0ae5e
commit b1d0bcd143
2 changed files with 39 additions and 0 deletions

View File

@ -0,0 +1,38 @@
Index: llvm-toolchain-snapshot-3.4~svn192427/clang/lib/Basic/Targets.cpp
===================================================================
--- llvm-toolchain-snapshot-3.4~svn192427.orig/clang/lib/Basic/Targets.cpp 2013-10-11 10:36:58.260142400 +0200
+++ llvm-toolchain-snapshot-3.4~svn192427/clang/lib/Basic/Targets.cpp 2013-10-11 10:36:58.252142403 +0200
@@ -3612,33 +3612,6 @@
return Version >= 7;
}
- 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)

View File

@ -28,3 +28,4 @@ libstdc++-header-i386.diff
atomic_library_1.diff
atomic_library_2.diff
python-clangpath.diff
removeduplicatedeclaration.diff