aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Headers/__stddef_unreachable.h
diff options
context:
space:
mode:
Diffstat (limited to 'clang/lib/Headers/__stddef_unreachable.h')
-rw-r--r--clang/lib/Headers/__stddef_unreachable.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/Headers/__stddef_unreachable.h b/clang/lib/Headers/__stddef_unreachable.h
index 3e7fe0197966..518580c92d3f 100644
--- a/clang/lib/Headers/__stddef_unreachable.h
+++ b/clang/lib/Headers/__stddef_unreachable.h
@@ -7,6 +7,11 @@
*===-----------------------------------------------------------------------===
*/
-#ifndef unreachable
+/*
+ * When -fbuiltin-headers-in-system-modules is set this is a non-modular header
+ * and needs to behave as if it was textual.
+ */
+#if !defined(unreachable) || \
+ (__has_feature(modules) && !__building_module(_Builtin_stddef))
#define unreachable() __builtin_unreachable()
#endif