git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194362
91177308-0d34-0410-b5e6-
96231b3b80d8
/*implicit*/ LLVM_CONSTEXPR ArrayRef(const T (&Arr)[N])
: Data(Arr), Length(N) {}
+#if LLVM_HAS_INITIALIZER_LISTS
+ /// Construct an ArrayRef from a std::initializer_list.
+ /*implicit*/ ArrayRef(const std::initializer_list<T> &Vec)
+ : Data(Vec.begin() == Vec.end() ? (T*)0 : Vec.begin()),
+ Length(Vec.size()) {}
+#endif
+
/// @}
/// @name Simple Operations
/// @{
# define LLVM_ENUM_INT_TYPE(intty)
#endif
+/// \brief Does the compiler support generalized initializers (using braced
+/// lists and std::initializer_list).
+#if (__has_feature(cxx_generalized_initializers) \
+|| defined(__GXX_EXPERIMENTAL_CXX0X__))
+#define LLVM_HAS_INITIALIZER_LISTS 1
+#else
+#define LLVM_HAS_INITIALIZER_LISTS 0
+#endif
+
#endif