[libc++][format] Improve Add basic_format_parse_context.

Add an additional guard to prevent building on older clang versions.

This should fix the build of https://buildkite.com/mlir/mlir-core

GitOrigin-RevId: af83e89ae303a2bc54d94164b5ea05fa47a8f9e1
diff --git a/include/format b/include/format
index 9e41120..8c92984 100644
--- a/include/format
+++ b/include/format
@@ -79,7 +79,7 @@
 // If the compiler has no concepts support, the format header will be disabled.
 // Without concepts support enable_if needs to be used and that too much effort
 // to support compilers with partial C++20 support.
-#ifndef _LIBCPP_HAS_NO_CONCEPTS
+#if !defined(_LIBCPP_HAS_NO_CONCEPTS) && !defined(_LIBCPP_HAS_NO_BUILTIN_IS_CONSTANT_EVALUATED)
 
 class _LIBCPP_EXCEPTION_ABI format_error : public runtime_error {
 public:
@@ -172,7 +172,7 @@
 using format_parse_context = basic_format_parse_context<char>;
 using wformat_parse_context = basic_format_parse_context<wchar_t>;
 
-#endif //_LIBCPP_HAS_NO_CONCEPTS
+#endif // !defined(_LIBCPP_HAS_NO_CONCEPTS) && !defined(_LIBCPP_HAS_NO_BUILTIN_IS_CONSTANT_EVALUATED)
 #endif //_LIBCPP_STD_VER > 17
 
 _LIBCPP_END_NAMESPACE_STD