stdlib_windows_arm64.go 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459
  1. // Code generated by 'ccgo stdlib\gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -o stdlib\stdlib_windows_arm64.go -pkgname stdlib', DO NOT EDIT.
  2. package stdlib
  3. import (
  4. "math"
  5. "reflect"
  6. "sync/atomic"
  7. "unsafe"
  8. )
  9. var _ = math.Pi
  10. var _ reflect.Kind
  11. var _ atomic.Value
  12. var _ unsafe.Pointer
  13. const (
  14. CHAR_BIT = 8
  15. CHAR_MAX = 127
  16. CHAR_MIN = -128
  17. DUMMYSTRUCTNAME = 0
  18. DUMMYSTRUCTNAME1 = 0
  19. DUMMYSTRUCTNAME2 = 0
  20. DUMMYSTRUCTNAME3 = 0
  21. DUMMYSTRUCTNAME4 = 0
  22. DUMMYSTRUCTNAME5 = 0
  23. DUMMYUNIONNAME = 0
  24. DUMMYUNIONNAME1 = 0
  25. DUMMYUNIONNAME2 = 0
  26. DUMMYUNIONNAME3 = 0
  27. DUMMYUNIONNAME4 = 0
  28. DUMMYUNIONNAME5 = 0
  29. DUMMYUNIONNAME6 = 0
  30. DUMMYUNIONNAME7 = 0
  31. DUMMYUNIONNAME8 = 0
  32. DUMMYUNIONNAME9 = 0
  33. EXIT_FAILURE = 1
  34. EXIT_SUCCESS = 0
  35. INT_MAX = 2147483647
  36. INT_MIN = -2147483648
  37. LLONG_MAX = 9223372036854775807
  38. LLONG_MIN = -9223372036854775808
  39. LONG_LONG_MAX = 9223372036854775807
  40. LONG_LONG_MIN = -9223372036854775808
  41. LONG_MAX = 2147483647
  42. LONG_MIN = -2147483648
  43. MB_LEN_MAX = 1
  44. MINGW_DDK_H = 0
  45. MINGW_HAS_DDK_H = 1
  46. MINGW_HAS_SECURE_API = 1
  47. MINGW_SDK_INIT = 0
  48. RAND_MAX = 0x7fff
  49. SCHAR_MAX = 127
  50. SCHAR_MIN = -128
  51. SHRT_MAX = 32767
  52. SHRT_MIN = -32768
  53. UCHAR_MAX = 255
  54. UINT_MAX = 4294967295
  55. ULLONG_MAX = 18446744073709551615
  56. ULONG_LONG_MAX = 18446744073709551615
  57. ULONG_MAX = 4294967295
  58. UNALIGNED = 0
  59. USE___UUIDOF = 0
  60. USHRT_MAX = 65535
  61. WIN32 = 1
  62. WIN64 = 1
  63. WINNT = 1
  64. X_AGLOBAL = 0
  65. X_ALLOCA_S_HEAP_MARKER = 0xDDDD
  66. X_ALLOCA_S_MARKER_SIZE = 16
  67. X_ALLOCA_S_STACK_MARKER = 0xCCCC
  68. X_ALLOCA_S_THRESHOLD = 1024
  69. X_ANONYMOUS_STRUCT = 0
  70. X_ANONYMOUS_UNION = 0
  71. X_ARGMAX = 100
  72. X_ARM64_ = 1
  73. X_CALL_REPORTFAULT = 0x2
  74. X_CONST_RETURN = 0
  75. X_CRTNOALIAS = 0
  76. X_CRTRESTRICT = 0
  77. X_CRT_ABS_DEFINED = 0
  78. X_CRT_ALGO_DEFINED = 0
  79. X_CRT_ALLOCATION_DEFINED = 0
  80. X_CRT_ALTERNATIVE_IMPORTED = 0
  81. X_CRT_ATOF_DEFINED = 0
  82. X_CRT_DOUBLE_DEC = 0
  83. X_CRT_ERRNO_DEFINED = 0
  84. X_CRT_MANAGED_HEAP_DEPRECATE = 0
  85. X_CRT_PACKING = 8
  86. X_CRT_PERROR_DEFINED = 0
  87. X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES = 0
  88. X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY = 0
  89. X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES = 0
  90. X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT = 0
  91. X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0
  92. X_CRT_SWAB_DEFINED = 0
  93. X_CRT_SYSTEM_DEFINED = 0
  94. X_CRT_TERMINATE_DEFINED = 0
  95. X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP = 0
  96. X_CRT_WPERROR_DEFINED = 0
  97. X_CRT_WSYSTEM_DEFINED = 0
  98. X_CVTBUFSIZE = 349
  99. X_DIV_T_DEFINED = 0
  100. X_DLL = 0
  101. X_ERRCODE_DEFINED = 0
  102. X_FILE_OFFSET_BITS = 64
  103. X_FREEA_INLINE = 0
  104. X_FREEENTRY = 0
  105. X_GCC_LIMITS_H_ = 0
  106. X_HEAPBADBEGIN = -3
  107. X_HEAPBADNODE = -4
  108. X_HEAPBADPTR = -6
  109. X_HEAPEMPTY = -1
  110. X_HEAPEND = -5
  111. X_HEAPINFO_DEFINED = 0
  112. X_HEAPOK = -2
  113. X_HEAP_MAXREQ = 0xFFFFFFFFFFFFFFE0
  114. X_INC_CORECRT = 0
  115. X_INC_CORECRT_WSTDLIB = 0
  116. X_INC_CRTDEFS = 0
  117. X_INC_CRTDEFS_MACRO = 0
  118. X_INC_MINGW_SECAPI = 0
  119. X_INC_STDLIB = 0
  120. X_INC_STDLIB_S = 0
  121. X_INC_VADEFS = 0
  122. X_INC__MINGW_H = 0
  123. X_INT128_DEFINED = 0
  124. X_INTPTR_T_DEFINED = 0
  125. X_MALLOC_H_ = 0
  126. X_MAX_DIR = 256
  127. X_MAX_DRIVE = 3
  128. X_MAX_ENV = 32767
  129. X_MAX_EXT = 256
  130. X_MAX_FNAME = 256
  131. X_MAX_PATH = 260
  132. X_MAX_WAIT_MALLOC_CRT = 60000
  133. X_MT = 0
  134. X_M_ARM64 = 1
  135. X_ONEXIT_T_DEFINED = 0
  136. X_OUT_TO_DEFAULT = 0
  137. X_OUT_TO_MSGBOX = 2
  138. X_OUT_TO_STDERR = 1
  139. X_PGLOBAL = 0
  140. X_PTRDIFF_T_ = 0
  141. X_PTRDIFF_T_DEFINED = 0
  142. X_QSORT_S_DEFINED = 0
  143. X_REPORT_ERRMODE = 3
  144. X_RSIZE_T_DEFINED = 0
  145. X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
  146. X_SIZE_T_DEFINED = 0
  147. X_SSIZE_T_DEFINED = 0
  148. X_TAGLC_ID_DEFINED = 0
  149. X_THREADLOCALEINFO = 0
  150. X_TIME32_T_DEFINED = 0
  151. X_TIME64_T_DEFINED = 0
  152. X_TIME_T_DEFINED = 0
  153. X_UCRT = 0
  154. X_UINTPTR_T_DEFINED = 0
  155. X_USEDENTRY = 1
  156. X_VA_LIST_DEFINED = 0
  157. X_W64 = 0
  158. X_WCHAR_T_DEFINED = 0
  159. X_WCTYPE_T_DEFINED = 0
  160. X_WIN32 = 1
  161. X_WIN32_WINNT = 0x601
  162. X_WIN64 = 1
  163. X_WINT_T = 0
  164. X_WRITE_ABORT_MSG = 0x1
  165. X_WSTDLIBP_DEFINED = 0
  166. X_WSTDLIB_DEFINED = 0
  167. )
  168. type Ptrdiff_t = int64 /* <builtin>:3:26 */
  169. type Size_t = uint64 /* <builtin>:9:23 */
  170. type Wchar_t = uint16 /* <builtin>:15:24 */
  171. type X__int128_t = struct {
  172. Flo int64
  173. Fhi int64
  174. } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
  175. type X__uint128_t = struct {
  176. Flo uint64
  177. Fhi uint64
  178. } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
  179. type X__builtin_va_list = uintptr /* <builtin>:46:14 */
  180. type X__float128 = float64 /* <builtin>:47:21 */
  181. type Va_list = X__builtin_va_list /* <builtin>:50:27 */
  182. // *
  183. // This file has no copyright assigned and is placed in the Public Domain.
  184. // This file is part of the mingw-w64 runtime package.
  185. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  186. // *
  187. // This file has no copyright assigned and is placed in the Public Domain.
  188. // This file is part of the mingw-w64 runtime package.
  189. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  190. // *
  191. // This file has no copyright assigned and is placed in the Public Domain.
  192. // This file is part of the mingw-w64 runtime package.
  193. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  194. // *
  195. // This file has no copyright assigned and is placed in the Public Domain.
  196. // This file is part of the mingw-w64 runtime package.
  197. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  198. // This macro holds an monotonic increasing value, which indicates
  199. // a specific fix/patch is present on trunk. This value isn't related to
  200. // minor/major version-macros. It is increased on demand, if a big
  201. // fix was applied to trunk. This macro gets just increased on trunk. For
  202. // other branches its value won't be modified.
  203. // mingw.org's version macros: these make gcc to define
  204. // MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
  205. // and the __mingwthr_key_dtor() function from the MinGW
  206. // CRT in its private gthr-win32.h header.
  207. // Set VC specific compiler target macros.
  208. // MS does not prefix symbols by underscores for 64-bit.
  209. // As we have to support older gcc version, which are using underscores
  210. // as symbol prefix for x64, we have to check here for the user label
  211. // prefix defined by gcc.
  212. // Special case nameless struct/union.
  213. // MinGW-w64 has some additional C99 printf/scanf feature support.
  214. // So we add some helper macros to ease recognition of them.
  215. // If _FORTIFY_SOURCE is enabled, some inline functions may use
  216. // __builtin_va_arg_pack(). GCC may report an error if the address
  217. // of such a function is used. Set _FORTIFY_VA_ARG=0 in this case.
  218. // Enable workaround for ABI incompatibility on affected platforms
  219. // *
  220. // This file has no copyright assigned and is placed in the Public Domain.
  221. // This file is part of the mingw-w64 runtime package.
  222. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  223. // http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
  224. // Templates won't work in C, will break if secure API is not enabled, disabled
  225. // https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
  226. // fallback on default implementation if we can't know the size of the destination
  227. // Include _cygwin.h if we're building a Cygwin application.
  228. // Target specific macro replacement for type "long". In the Windows API,
  229. // the type long is always 32 bit, even if the target is 64 bit (LLP64).
  230. // On 64 bit Cygwin, the type long is 64 bit (LP64). So, to get the right
  231. // sized definitions and declarations, all usage of type long in the Windows
  232. // headers have to be replaced by the below defined macro __LONG32.
  233. // C/C++ specific language defines.
  234. // Note the extern. This is needed to work around GCC's
  235. // limitations in handling dllimport attribute.
  236. // Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's
  237. // variadiac macro facility, because variadic macros cause syntax
  238. // errors with --traditional-cpp.
  239. // High byte is the major version, low byte is the minor.
  240. // Allow both 0x1400 and 0xE00 to identify UCRT
  241. // ===-------- vadefs.h ---------------------------------------------------===
  242. //
  243. // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  244. // See https://llvm.org/LICENSE.txt for license information.
  245. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  246. //
  247. //===-----------------------------------------------------------------------===
  248. // Only include this if we are aiming for MSVC compatibility.
  249. // *
  250. // This file has no copyright assigned and is placed in the Public Domain.
  251. // This file is part of the mingw-w64 runtime package.
  252. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  253. // *
  254. // This file has no copyright assigned and is placed in the Public Domain.
  255. // This file is part of the mingw-w64 runtime package.
  256. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  257. // for backward compatibility
  258. type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
  259. type Ssize_t = int64 /* corecrt.h:45:35 */
  260. type Rsize_t = Size_t /* corecrt.h:52:16 */
  261. type Intptr_t = int64 /* corecrt.h:62:35 */
  262. type Uintptr_t = uint64 /* corecrt.h:75:44 */
  263. type Wint_t = uint16 /* corecrt.h:106:24 */
  264. type Wctype_t = uint16 /* corecrt.h:107:24 */
  265. type Errno_t = int32 /* corecrt.h:113:13 */
  266. type X__time32_t = int32 /* corecrt.h:118:14 */
  267. type X__time64_t = int64 /* corecrt.h:123:35 */
  268. type Time_t = X__time64_t /* corecrt.h:138:20 */
  269. type Threadlocaleinfostruct = struct {
  270. F_locale_pctype uintptr
  271. F_locale_mb_cur_max int32
  272. F_locale_lc_codepage uint32
  273. } /* corecrt.h:430:1 */
  274. type Pthreadlocinfo = uintptr /* corecrt.h:432:39 */
  275. type Pthreadmbcinfo = uintptr /* corecrt.h:433:36 */
  276. type Localeinfo_struct = struct {
  277. Flocinfo Pthreadlocinfo
  278. Fmbcinfo Pthreadmbcinfo
  279. } /* corecrt.h:436:9 */
  280. type X_locale_tstruct = Localeinfo_struct /* corecrt.h:439:3 */
  281. type X_locale_t = uintptr /* corecrt.h:439:19 */
  282. type TagLC_ID = struct {
  283. FwLanguage uint16
  284. FwCountry uint16
  285. FwCodePage uint16
  286. } /* corecrt.h:443:9 */
  287. type LC_ID = TagLC_ID /* corecrt.h:447:3 */
  288. type LPLC_ID = uintptr /* corecrt.h:447:9 */
  289. type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:482:3 */
  290. //===---- limits.h - Standard header for integer sizes --------------------===* *
  291. // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
  292. // See https://llvm.org/LICENSE.txt for license information.
  293. // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
  294. //
  295. // \*===----------------------------------------------------------------------===
  296. // The system's limits.h may, in turn, try to #include_next GCC's limits.h.
  297. // Avert this #include_next madness.
  298. // System headers include a number of constants from POSIX in <limits.h>.
  299. // Include it if we're hosted.
  300. // Many system headers try to "help us out" by defining these. No really, we
  301. // know how big each datatype is.
  302. // C90/99 5.2.4.2.1
  303. // C2x 5.2.4.2.1
  304. // FIXME: This is using the placeholder dates Clang produces for these macros
  305. // in C2x mode; switch to the correct values once they've been published.
  306. // C99 5.2.4.2.1: Added long long.
  307. // C++11 18.3.3.2: same contents as the Standard C Library header <limits.h>.
  308. //
  309. // LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX are a GNU extension. It's too bad
  310. // that we don't have something like #pragma poison that could be used to
  311. // deprecate a macro - the code should just use LLONG_MAX and friends.
  312. //
  313. type X_onexit_t = uintptr /* stdlib.h:50:15 */
  314. type X_div_t = struct {
  315. Fquot int32
  316. Frem int32
  317. } /* stdlib.h:60:11 */
  318. type Div_t = X_div_t /* stdlib.h:63:5 */
  319. type X_ldiv_t = struct {
  320. Fquot int32
  321. Frem int32
  322. } /* stdlib.h:65:11 */
  323. type Ldiv_t = X_ldiv_t /* stdlib.h:68:5 */
  324. type X_LDOUBLE = struct{ Fld [10]uint8 } /* stdlib.h:77:5 */
  325. type X_CRT_DOUBLE = struct{ Fx float64 } /* stdlib.h:84:5 */
  326. type X_CRT_FLOAT = struct{ Ff float32 } /* stdlib.h:88:5 */
  327. type X_LONGDOUBLE = struct{ Fx float64 } /* stdlib.h:95:5 */
  328. type X_LDBL12 = struct{ Fld12 [12]uint8 } /* stdlib.h:102:5 */
  329. type X_purecall_handler = uintptr /* stdlib.h:143:16 */
  330. type X_invalid_parameter_handler = uintptr /* stdlib.h:148:16 */
  331. type Lldiv_t = struct {
  332. Fquot int64
  333. Frem int64
  334. } /* stdlib.h:724:61 */
  335. // *
  336. // This file has no copyright assigned and is placed in the Public Domain.
  337. // This file is part of the mingw-w64 runtime package.
  338. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  339. // *
  340. // This file has no copyright assigned and is placed in the Public Domain.
  341. // This file is part of the mingw-w64 runtime package.
  342. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  343. // *
  344. // This file has no copyright assigned and is placed in the Public Domain.
  345. // This file is part of the mingw-w64 runtime package.
  346. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  347. // Return codes for _heapwalk()
  348. // Values for _heapinfo.useflag
  349. // The structure used to walk through the heap with _heapwalk.
  350. type X_heapinfo = struct {
  351. F_pentry uintptr
  352. F_size Size_t
  353. F_useflag int32
  354. F__ccgo_pad1 [4]byte
  355. } /* malloc.h:46:11 */
  356. // *
  357. // This file has no copyright assigned and is placed in the Public Domain.
  358. // This file is part of the mingw-w64 runtime package.
  359. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  360. // *
  361. // This file has no copyright assigned and is placed in the Public Domain.
  362. // This file is part of the mingw-w64 runtime package.
  363. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  364. // *
  365. // This file has no copyright assigned and is placed in the Public Domain.
  366. // This file is part of the mingw-w64 runtime package.
  367. // No warranty is given; refer to the file DISCLAIMER.PD within this package.
  368. // Return codes for _heapwalk()
  369. // Values for _heapinfo.useflag
  370. // The structure used to walk through the heap with _heapwalk.
  371. type X_HEAPINFO = X_heapinfo /* malloc.h:50:5 */
  372. var _ int8 /* gen.c:2:13: */