[libc++] Use init_priority(100) when possible

Priorities below 101 are reserved for the implementation, so that's what
we should be using here. That is unfortunately only supported on more
recent versions of Clang. See https://reviews.llvm.org/D31413 for details.

Differential Revision: https://reviews.llvm.org/D95972

NOKEYCHECK=True
GitOrigin-RevId: 7c49052b170f76f19be64a5572d31ad8f5df4e61
diff --git a/src/iostream.cpp b/src/iostream.cpp
index 16e05cf..99bd528 100644
--- a/src/iostream.cpp
+++ b/src/iostream.cpp
@@ -73,7 +73,12 @@
 #endif
 ;
 
+// Hacky way to make the compiler believe that we're inside a system header so
+// it doesn't flag the use of the init_priority attribute with a value that's
+// reserved for the implementation (we're the implementation).
+# 80 "iostream.cpp" 1 3
 _LIBCPP_HIDDEN ios_base::Init __start_std_streams _LIBCPP_INIT_PRIORITY_MAX;
+# 82 "iostream.cpp" 2
 
 // On Windows the TLS storage for locales needs to be initialized before we create
 // the standard streams, otherwise it may not be alive during program termination