[Support][Compiler] Add LLVM_HAS_VARIADIC_TEMPLATES.
authorMichael J. Spencer <bigcheesegs@gmail.com>
Mon, 11 Feb 2013 22:51:07 +0000 (22:51 +0000)
committerMichael J. Spencer <bigcheesegs@gmail.com>
Mon, 11 Feb 2013 22:51:07 +0000 (22:51 +0000)
llvm-svn: 174913

llvm/include/llvm/Support/Compiler.h

index 61c40f4..92835fc 100644 (file)
 #define LLVM_HAS_CXX11_STDLIB 0
 #endif
 
+/// \macro LLVM_HAS_VARIADIC_TEMPLATES
+/// \brief Does this compiler support variadic templates.
+///
+/// Implies LLVM_HAS_RVALUE_REFERENCES and the existence of std::forward.
+#if __has_feature(cxx_variadic_templates)
+# define LLVM_HAS_VARIADIC_TEMPLATES 1
+#else
+# define LLVM_HAS_VARIADIC_TEMPLATES 0
+#endif
+
 /// llvm_move - Expands to ::std::move if the compiler supports
 /// r-value references; otherwise, expands to the argument.
 #if LLVM_HAS_RVALUE_REFERENCES