[llvm-bugs] [Bug 24735] New: std::bind(std::mem_fn(&ScalarEvolution::isKnownNonNegative), SE, _1) fails clang+mingw 5.1
via llvm-bugs
llvm-bugs at lists.llvm.org
Mon Sep 7 02:39:41 PDT 2015
https://llvm.org/bugs/show_bug.cgi?id=24735
Bug ID: 24735
Summary: std::bind(std::mem_fn(&ScalarEvolution::isKnownNonNega
tive), SE, _1) fails clang+mingw 5.1
Product: new-bugs
Version: unspecified
Hardware: PC
OS: Windows NT
Status: NEW
Severity: normal
Priority: P
Component: new bugs
Assignee: unassignedbugs at nondot.org
Reporter: yaron.keren at gmail.com
CC: david.majnemer at gmail.com, llvm-bugs at lists.llvm.org,
sanjoy at playingwithpointers.com
Classification: Unclassified
Compiling lib/Analysis/ScalarEvolution.cpp with clang r246954 and libstdc++
from mingw gcc 5.1 on Windows fails as below.
With the 4.9.3 libstdc++ build is OK.
In file included from ScalarEvolution.cpp:61:
In file included from c:/llvm-clean/include\llvm/Analysis/ScalarEvolution.h:24:
In file included from c:/llvm-clean/include\llvm/ADT/DenseSet.h:17:
In file included from c:/llvm-clean/include\llvm/ADT/DenseMap.h:17:
In file included from c:/llvm-clean/include\llvm/ADT/DenseMapInfo.h:17:
In file included from c:/llvm-clean/include\llvm/ADT/Hashing.h:49:
In file included from c:/llvm-clean/include\llvm/Support/Host.h:17:
In file included from c:/llvm-clean/include\llvm/ADT/StringMap.h:17:
In file included from c:/llvm-clean/include\llvm/ADT/StringRef.h:13:
In file included from C:\mingw32\i686-w64-mingw32\include\c++\algorithm:61:
In file included from
C:\mingw32\i686-w64-mingw32\include\c++\bits/stl_algobase.h:71:
C:\mingw32\i686-w64-mingw32\include\c++\bits/predefined_ops.h:296:17: error: no
matching function for call to object of type
'std::_Bind<std::_Mem_fn<bool (llvm::ScalarEvolution::*)(const llvm::SCEV
*) __attribute__((thiscall))> (llvm::ScalarEvolution *,
std::_Placeholder<1>)>'
{ return !bool(_M_pred(*__it)); }
^~~~~~~
C:\mingw32\i686-w64-mingw32\include\c++\bits/stl_algo.h:120:8: note: in
instantiation of function template specialization
'__gnu_cxx::__ops::_Iter_negate<std::_Bind<std::_Mem_fn<bool
(llvm::ScalarEvolution::*)(const llvm::SCEV *)
__attribute__((thiscall))> (llvm::ScalarEvolution *,
std::_Placeholder<1>)> >::operator()<const llvm::SCEV *const *>' requested
here
if (__pred(__first))
^
C:\mingw32\i686-w64-mingw32\include\c++\bits/stl_algo.h:171:19: note: in
instantiation of function template specialization
'std::__find_if<const llvm::SCEV *const *,
__gnu_cxx::__ops::_Iter_negate<std::_Bind<std::_Mem_fn<bool
(llvm::ScalarEvolution::*)(const llvm::SCEV *) __attribute__((thiscall))>
(llvm::ScalarEvolution *, std::_Placeholder<1>)> > >'
requested here
return std::__find_if(__first, __last,
^
C:\mingw32\i686-w64-mingw32\include\c++\bits/stl_algo.h:566:19: note: in
instantiation of function template specialization
'std::__find_if_not<const llvm::SCEV *const *,
__gnu_cxx::__ops::_Iter_pred<std::_Bind<std::_Mem_fn<bool
(llvm::ScalarEvolution::*)(const llvm::SCEV *) __attribute__((thiscall))>
(llvm::ScalarEvolution *, std::_Placeholder<1>)> > >'
requested here
return std::__find_if_not(__first, __last,
^
C:\mingw32\i686-w64-mingw32\include\c++\bits/stl_algo.h:509:29: note: in
instantiation of function template specialization
'std::find_if_not<const llvm::SCEV *const *, std::_Bind<std::_Mem_fn<bool
(llvm::ScalarEvolution::*)(const llvm::SCEV *)
__attribute__((thiscall))> (llvm::ScalarEvolution *,
std::_Placeholder<1>)> >' requested here
{ return __last == std::find_if_not(__first, __last, __pred); }
^
ScalarEvolution.cpp:1951:12: note: in instantiation of function template
specialization 'std::all_of<const llvm::SCEV *const *,
std::_Bind<std::_Mem_fn<bool (llvm::ScalarEvolution::*)(const llvm::SCEV
*) __attribute__((thiscall))> (llvm::ScalarEvolution *,
std::_Placeholder<1>)> >' requested here
std::all_of(Ops.begin(), Ops.end(), IsKnownNonNegative))
^
C:\mingw32\i686-w64-mingw32\include\c++\functional:1129:2: note: candidate
template ignored: substitution failure
[with _Args = <const llvm::SCEV *const &>]: no matching function for call
to object of type 'std::_Mem_fn<bool
(llvm::ScalarEvolution::*)(const llvm::SCEV *)
__attribute__((thiscall))>'
operator()(_Args&&... __args)
^
C:\mingw32\i686-w64-mingw32\include\c++\functional:1143:2: note: candidate
template ignored: substitution failure
[with _Args = <const llvm::SCEV *const &>]: no matching function for call
to object of type 'const std::_Mem_fn<bool
(llvm::ScalarEvolution::*)(const llvm::SCEV *)
__attribute__((thiscall))>'
operator()(_Args&&... __args) const
^
C:\mingw32\i686-w64-mingw32\include\c++\functional:1157:2: note: candidate
template ignored: substitution failure
[with _Args = <const llvm::SCEV *const &>]: no matching function for call
to object of type 'volatile std::_Mem_fn<bool
(llvm::ScalarEvolution::*)(const llvm::SCEV *)
__attribute__((thiscall))>'
operator()(_Args&&... __args) volatile
^
C:\mingw32\i686-w64-mingw32\include\c++\functional:1171:2: note: candidate
template ignored: substitution failure
[with _Args = <const llvm::SCEV *const &>]: no matching function for call
to object of type 'const volatile std::_Mem_fn<bool
(llvm::ScalarEvolution::*)(const llvm::SCEV *)
__attribute__((thiscall))>'
operator()(_Args&&... __args) const volatile
^
1 error generated.
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20150907/0e67e05f/attachment.html>
More information about the llvm-bugs
mailing list