Instead of using an underscore to mark this as private, we can #undef
this intermediary after use, as it isn't needed to be defined outside
the small area is is used in in perl.h
#ifdef DEBUGGING
# define ASSUME(x) assert(x)
# if __has_builtin(__builtin_unreachable)
#ifdef DEBUGGING
# define ASSUME(x) assert(x)
# if __has_builtin(__builtin_unreachable)
-# define HAS_BUILTIN_UNREACHABLE_
+# define HAS_BUILTIN_UNREACHABLE
# elif (defined(__GNUC__) && ( __GNUC__ > 4 \
|| __GNUC__ == 4 && __GNUC_MINOR__ >= 5))
# elif (defined(__GNUC__) && ( __GNUC__ > 4 \
|| __GNUC__ == 4 && __GNUC_MINOR__ >= 5))
-# define HAS_BUILTIN_UNREACHABLE_
+# define HAS_BUILTIN_UNREACHABLE
# define ASSUME(x) /* ASSUME() generates warnings on Solaris */
# endif
# define NOT_REACHED
# define ASSUME(x) /* ASSUME() generates warnings on Solaris */
# endif
# define NOT_REACHED
-#elif defined(HAS_BUILTIN_UNREACHABLE_)
+#elif defined(HAS_BUILTIN_UNREACHABLE)
# ifndef ASSUME
# define ASSUME(x) ((x) ? (void) 0 : __builtin_unreachable())
# endif
# ifndef ASSUME
# define ASSUME(x) ((x) ? (void) 0 : __builtin_unreachable())
# endif
# endif
# define NOT_REACHED ASSUME(!"UNREACHABLE")
#endif
# endif
# define NOT_REACHED ASSUME(!"UNREACHABLE")
#endif
+#undef HAS_BUILTIN_UNREACHABLE
/* Some unistd.h's give a prototype for pause() even though
HAS_PAUSE ends up undefined. This causes the #define
/* Some unistd.h's give a prototype for pause() even though
HAS_PAUSE ends up undefined. This causes the #define