diff options
author | Gluzskiy Alexandr <sss123next@list.ru> | 2015-05-22 13:06:53 +0300 |
---|---|---|
committer | Gluzskiy Alexandr <sss123next@list.ru> | 2015-05-22 13:06:53 +0300 |
commit | 11c9581a4a381cf91d76eb918e5c8520dc5e7258 (patch) | |
tree | e70c8ac65979e140f510d087fe61c612046a0684 /sys-devel/llvm/files/llvm-3.3-R600_debug.patch | |
parent | 65f821697d752257198b9dc0b9e89ad926cf5f4e (diff) |
llvm copy from gentoo repo
Diffstat (limited to 'sys-devel/llvm/files/llvm-3.3-R600_debug.patch')
-rw-r--r-- | sys-devel/llvm/files/llvm-3.3-R600_debug.patch | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/sys-devel/llvm/files/llvm-3.3-R600_debug.patch b/sys-devel/llvm/files/llvm-3.3-R600_debug.patch new file mode 100644 index 0000000..b104273 --- /dev/null +++ b/sys-devel/llvm/files/llvm-3.3-R600_debug.patch @@ -0,0 +1,22 @@ +Fixes compilation of llvm-3.3 on gcc-4.6 and 4.7 when VIDEO_CARDS=radeon + +This issue is caused because although Q is a multiset the original code tries to get +a set iterator which can't be converted in a multiset one. + +The fix is as simple as just using a multiset iterator. + +Patch by Francisco Blas Izquierdo Riera (klondike) +Consider the changes in the Public Domain +https://bugs.gentoo.org/show_bug.cgi?id=474096 + +--- lib/Target/R600/R600MachineScheduler.cpp ++++ lib/Target/R600/R600MachineScheduler.cpp +@@ -290,7 +290,7 @@ + SUnit *R600SchedStrategy::PopInst(std::multiset<SUnit *, CompareSUnit> &Q) { + if (Q.empty()) + return NULL; +- for (std::set<SUnit *, CompareSUnit>::iterator It = Q.begin(), E = Q.end(); ++ for (std::multiset<SUnit *, CompareSUnit>::iterator It = Q.begin(), E = Q.end(); + It != E; ++It) { + SUnit *SU = *It; + InstructionsGroupCandidate.push_back(SU->getInstr()); |