forked from OSchip/llvm-project
Work around build failure due to GCC 4.8.1 bug. We don't completely understand
the details of the bug, but avoiding overloading llvm::cast with another function template sidesteps it. See gcc.gnu.org/PR58022 for details of the bug, and llvm.org/PR26362 for more backgound on how it manifested in Clang. Patch by Igor Sugak! llvm-svn: 259598
This commit is contained in:
parent
b6940115a8
commit
ad609d56d2
|
@ -103,24 +103,16 @@ public:
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
namespace llvm {
|
|
||||||
// Present a minimal LLVM-like casting interface.
|
// Present a minimal LLVM-like casting interface.
|
||||||
template <class U> inline U cast(clang::CodeGen::Address addr) {
|
template <class U> inline U cast(CodeGen::Address addr) {
|
||||||
return U::castImpl(addr);
|
return U::castImpl(addr);
|
||||||
}
|
}
|
||||||
template <class U> inline bool isa(clang::CodeGen::Address addr) {
|
template <class U> inline bool isa(CodeGen::Address addr) {
|
||||||
return U::isaImpl(addr);
|
return U::isaImpl(addr);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
namespace clang {
|
|
||||||
// Make our custom isa and cast available in namespace clang, to mirror
|
|
||||||
// what we do for LLVM's versions in Basic/LLVM.h.
|
|
||||||
using llvm::isa;
|
|
||||||
using llvm::cast;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue