| 
36 | 36 | #error "You need C++17 to compile ExecuTorch"  | 
37 | 37 | #endif  | 
38 | 38 | 
 
  | 
39 |  | -#if defined(_WIN32) && (defined(min) || defined(max))  | 
 | 39 | +#if defined(_MSC_VER) && (defined(min) || defined(max))  | 
40 | 40 | #error \  | 
41 | 41 |     "Macro clash with min and max -- define NOMINMAX when compiling your program on Windows"  | 
42 | 42 | #endif  | 
 | 
100 | 100 | #endif // (__cplusplus) >= 202002L  | 
101 | 101 | 
 
  | 
102 | 102 | /// Define a C symbol with weak linkage.  | 
 | 103 | +#ifdef _MSC_VER  | 
 | 104 | +// There currently doesn't seem to be a great way to do this in Windows and  | 
 | 105 | +// given that weak linkage is not really critical on Windows, we'll just leave  | 
 | 106 | +// it as a stub.  | 
 | 107 | +#define ET_WEAK  | 
 | 108 | +#else  | 
103 | 109 | #define ET_WEAK __attribute__((weak))  | 
 | 110 | +#endif  | 
104 | 111 | 
 
  | 
105 | 112 | /**  | 
106 | 113 |  * Annotation marking a function as printf-like, providing compiler support  | 
107 | 114 |  * for format string argument checking.  | 
108 | 115 |  */  | 
 | 116 | +#ifdef _MSC_VER  | 
 | 117 | +#include <sal.h>  | 
 | 118 | +#define ET_PRINTFLIKE(_string_index, _va_index) _Printf_format_string_  | 
 | 119 | +#else  | 
109 | 120 | #define ET_PRINTFLIKE(_string_index, _va_index) \  | 
110 | 121 |   __attribute__((format(printf, _string_index, _va_index)))  | 
111 |  | - | 
112 |  | -/// Name of the source file without a directory string.  | 
113 |  | -#define ET_SHORT_FILENAME (__builtin_strrchr("/" __FILE__, '/') + 1)  | 
 | 122 | +#endif  | 
114 | 123 | 
 
  | 
115 | 124 | #ifndef __has_builtin  | 
116 | 125 | #define __has_builtin(x) (0)  | 
117 | 126 | #endif  | 
118 | 127 | 
 
  | 
 | 128 | +#if __has_builtin(__builtin_strrchr)  | 
 | 129 | +/// Name of the source file without a directory string.  | 
 | 130 | +#define ET_SHORT_FILENAME (__builtin_strrchr("/" __FILE__, '/') + 1)  | 
 | 131 | +#else  | 
 | 132 | +#define ET_SHORT_FILENAME __FILE__  | 
 | 133 | +#endif  | 
 | 134 | + | 
119 | 135 | #if __has_builtin(__builtin_LINE)  | 
120 | 136 | /// Current line as an integer.  | 
121 | 137 | #define ET_LINE __builtin_LINE()  | 
 | 
141 | 157 | #endif // ifndef  | 
142 | 158 | 
 
  | 
143 | 159 | // Define size_t and ssize_t.  | 
144 |  | -#ifndef _WIN32  | 
 | 160 | +#ifndef _MSC_VER  | 
145 | 161 | #include <sys/types.h>  | 
146 | 162 | #else  | 
147 | 163 | #include <stddef.h>  | 
 | 
0 commit comments