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
|
@ -104,23 +104,15 @@ public:
|
|||
};
|
||||
|
||||
}
|
||||
|
||||
// Present a minimal LLVM-like casting interface.
|
||||
template <class U> inline U cast(CodeGen::Address addr) {
|
||||
return U::castImpl(addr);
|
||||
}
|
||||
template <class U> inline bool isa(CodeGen::Address addr) {
|
||||
return U::isaImpl(addr);
|
||||
}
|
||||
|
||||
namespace llvm {
|
||||
// Present a minimal LLVM-like casting interface.
|
||||
template <class U> inline U cast(clang::CodeGen::Address addr) {
|
||||
return U::castImpl(addr);
|
||||
}
|
||||
template <class U> inline bool isa(clang::CodeGen::Address 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
|
||||
|
|
Loading…
Reference in New Issue