Revert "[libc++] Remove workarounds for systems that used to require __need_XXX macros"
This reverts commit 119cef40d18c48240854edc553dca61c4e9fdf27.
The change broke multiple builders.
NOKEYCHECK=True
GitOrigin-RevId: 3f65c8fcbe4ed4886500a0b9b939a363b70a43c3
diff --git a/include/stdio.h b/include/stdio.h
index 4ca40df..cea43aa 100644
--- a/include/stdio.h
+++ b/include/stdio.h
@@ -7,7 +7,15 @@
//
//===----------------------------------------------------------------------===//
-#ifndef _LIBCPP_STDIO_H
+#if defined(__need_FILE) || defined(__need___FILE)
+
+#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+# pragma GCC system_header
+#endif
+
+#include_next <stdio.h>
+
+#elif !defined(_LIBCPP_STDIO_H)
#define _LIBCPP_STDIO_H
/*