Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 7 additions & 3 deletions include/llvm/ADT/StringRef.h
Original file line number Diff line number Diff line change
Expand Up @@ -571,9 +571,12 @@ namespace llvm {
}

// HLSL Change Starts
// StringRef provides an operator string; that trips up the std::pair noexcept specification,
// which (a) enables the moves constructor (because conversion is allowed), but (b)
// misclassifies the the construction as nothrow.
// StringRef provides an operator string; that trips up the std::pair noexcept
// specification, which (a) enables the moves constructor (because conversion is
// allowed), but (b) misclassifies the the construction as nothrow. Newer libc++
// releases reject user specializations of this trait outright, and also compute
// the trait correctly without help.
#if !defined(_LIBCPP_VERSION)
namespace std {
template<>
struct is_nothrow_constructible <std::string, llvm::StringRef>
Expand All @@ -588,6 +591,7 @@ namespace std {
: std::false_type {
};
}
#endif
// HLSL Change Ends

#endif
Loading