Unsetting __noinline__ before inclusion of libc++ __config breaks libc++ headers.
--- a/hipamd/include/hip/amd_detail/host_defines.h
+++ b/hipamd/include/hip/amd_detail/host_defines.h
@@ -257,6 +257,13 @@ typedef __hip_internal::int64_t __hip_int64_t;
 
 #define __global__
 
+// __config in libc++ fails on `__has_attribute(__noinline__)` if __noinline__ is emptied
+#if defined(__cplusplus) && defined(__has_include)
+#  if __has_include(<__config>)
+#    include <__config>
+#  endif
+#endif
+
 #define __noinline__
 #define __forceinline__ inline
 
