1 #ifndef NOESCAPE_NOOP_H_
2 #define NOESCAPE_NOOP_H_
4 // First, do some work to get definitions for *_WIDTH. Normally, Emacs would
5 // have these defined by headers in-tree, but clang's headers clash with those.
6 // Due to how include paths work, we have to include clang headers if we want to
7 // mess with CoreFoundation definitions.
8 #pragma push_macro("__STDC_VERSION__")
9 // Make the preprocessor think that we're on C2x. The macros we want are gated
11 #undef __STDC_VERSION__
12 #define __STDC_VERSION__ 202000L
13 // Include limits.h first, as stdint.h includes it.
16 // XX: clang's stdint.h is shy and won't give us its defs unless it thinks it's
17 // in freestanding mode.
18 #undef __STDC_HOSTED__
20 #define __STDC_HOSTED__ 1
22 #pragma pop_macro("__STDC_VERSION__")
24 // Now, pull in the header that defines CF_NOESCAPE.
25 #include <CoreFoundation/CFBase.h>
27 // Redefine CF_NOESCAPE as empty.
31 #endif // NOESCAPE_NOOP_H_