Define the new operator<< for sets into namespace std, so that

argument-dependent lookup can find it. This is another case where an
LLVM bug (not making operator<< visible) was masked by a GCC bug
(looking in the global namespace when it shouldn't).


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@92144 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Douglas Gregor 2009-12-24 21:11:45 +00:00
parent 96a47829c8
commit e4d4c43cc8

View File

@ -13,6 +13,8 @@
#include <cstdarg> #include <cstdarg>
using namespace llvm; using namespace llvm;
namespace std {
std::ostream &operator<<(std::ostream &OS, std::ostream &operator<<(std::ostream &OS,
const std::set<unsigned> &S) { const std::set<unsigned> &S) {
OS << "{"; OS << "{";
@ -26,6 +28,8 @@ std::ostream &operator<<(std::ostream &OS,
return OS; return OS;
} }
}
namespace { namespace {
class FixedDeltaAlgorithm : public DeltaAlgorithm { class FixedDeltaAlgorithm : public DeltaAlgorithm {