pthread_windows_amd64.go (47046B)
1 // Code generated by 'ccgo pthread\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 pthread\pthread_windows_amd64.go -pkgname pthread', DO NOT EDIT. 2 3 package pthread 4 5 import ( 6 "math" 7 "reflect" 8 "sync/atomic" 9 "unsafe" 10 ) 11 12 var _ = math.Pi 13 var _ reflect.Kind 14 var _ atomic.Value 15 var _ unsafe.Pointer 16 17 const ( 18 CHAR_BIT = 8 19 CHAR_MAX = 127 20 CHAR_MIN = -128 21 DUMMYSTRUCTNAME = 0 22 DUMMYSTRUCTNAME1 = 0 23 DUMMYSTRUCTNAME2 = 0 24 DUMMYSTRUCTNAME3 = 0 25 DUMMYSTRUCTNAME4 = 0 26 DUMMYSTRUCTNAME5 = 0 27 DUMMYUNIONNAME = 0 28 DUMMYUNIONNAME1 = 0 29 DUMMYUNIONNAME2 = 0 30 DUMMYUNIONNAME3 = 0 31 DUMMYUNIONNAME4 = 0 32 DUMMYUNIONNAME5 = 0 33 DUMMYUNIONNAME6 = 0 34 DUMMYUNIONNAME7 = 0 35 DUMMYUNIONNAME8 = 0 36 DUMMYUNIONNAME9 = 0 37 E2BIG = 7 38 EACCES = 13 39 EADDRINUSE = 100 40 EADDRNOTAVAIL = 101 41 EAFNOSUPPORT = 102 42 EAGAIN = 11 43 EALREADY = 103 44 EBADF = 9 45 EBADMSG = 104 46 EBUSY = 16 47 ECANCELED = 105 48 ECHILD = 10 49 ECONNABORTED = 106 50 ECONNREFUSED = 107 51 ECONNRESET = 108 52 EDEADLK = 36 53 EDEADLOCK = 36 54 EDESTADDRREQ = 109 55 EDOM = 33 56 EEXIST = 17 57 EFAULT = 14 58 EFBIG = 27 59 EHOSTUNREACH = 110 60 EIDRM = 111 61 EILSEQ = 42 62 EINPROGRESS = 112 63 EINTR = 4 64 EINVAL = 22 65 EIO = 5 66 EISCONN = 113 67 EISDIR = 21 68 ELOOP = 114 69 EMFILE = 24 70 EMLINK = 31 71 EMSGSIZE = 115 72 ENAMETOOLONG = 38 73 ENETDOWN = 116 74 ENETRESET = 117 75 ENETUNREACH = 118 76 ENFILE = 23 77 ENOBUFS = 119 78 ENODATA = 120 79 ENODEV = 19 80 ENOENT = 2 81 ENOEXEC = 8 82 ENOFILE = 2 83 ENOLCK = 39 84 ENOLINK = 121 85 ENOMEM = 12 86 ENOMSG = 122 87 ENOPROTOOPT = 123 88 ENOSPC = 28 89 ENOSR = 124 90 ENOSTR = 125 91 ENOSYS = 40 92 ENOTCONN = 126 93 ENOTDIR = 20 94 ENOTEMPTY = 41 95 ENOTRECOVERABLE = 127 96 ENOTSOCK = 128 97 ENOTSUP = 129 98 ENOTTY = 25 99 ENXIO = 6 100 EOPNOTSUPP = 130 101 EOVERFLOW = 132 102 EOWNERDEAD = 133 103 EPERM = 1 104 EPIPE = 32 105 EPROTO = 134 106 EPROTONOSUPPORT = 135 107 EPROTOTYPE = 136 108 ERANGE = 34 109 EROFS = 30 110 ESPIPE = 29 111 ESRCH = 3 112 ETIME = 137 113 ETIMEDOUT = 138 114 ETXTBSY = 139 115 EWOULDBLOCK = 140 116 EXDEV = 18 117 INT_MAX = 2147483647 118 INT_MIN = -2147483648 119 LLONG_MAX = 9223372036854775807 120 LLONG_MIN = -9223372036854775808 121 LONG_LONG_MAX = 9223372036854775807 122 LONG_LONG_MIN = -9223372036854775808 123 LONG_MAX = 2147483647 124 LONG_MIN = -2147483648 125 MAX_READ_LOCKS = 2147483646 126 MB_LEN_MAX = 5 127 MINGW_DDK_H = 0 128 MINGW_DDRAW_VERSION = 7 129 MINGW_HAS_DDK_H = 1 130 MINGW_HAS_DDRAW_H = 1 131 MINGW_HAS_SECURE_API = 1 132 MINGW_SDK_INIT = 0 133 NSIG = 23 134 OLD_P_OVERLAY = 2 135 PATH_MAX = 260 136 PTHREAD_BARRIER_SERIAL_THREAD = 1 137 PTHREAD_CANCEL_ASYNCHRONOUS = 0x02 138 PTHREAD_CANCEL_DEFERRED = 0 139 PTHREAD_CANCEL_DISABLE = 0 140 PTHREAD_CANCEL_ENABLE = 0x01 141 PTHREAD_CREATE_DETACHED = 0x04 142 PTHREAD_CREATE_JOINABLE = 0 143 PTHREAD_DEFAULT_ATTR = 1 144 PTHREAD_DESTRUCTOR_ITERATIONS = 256 145 PTHREAD_EXPLICIT_SCHED = 0 146 PTHREAD_INHERIT_SCHED = 0x08 147 PTHREAD_KEYS_MAX = 1048576 148 PTHREAD_MUTEX_ADAPTIVE_NP = 0 149 PTHREAD_MUTEX_DEFAULT = 0 150 PTHREAD_MUTEX_ERRORCHECK = 1 151 PTHREAD_MUTEX_ERRORCHECK_NP = 1 152 PTHREAD_MUTEX_FAST_NP = 0 153 PTHREAD_MUTEX_NORMAL = 0 154 PTHREAD_MUTEX_PRIVATE = 0 155 PTHREAD_MUTEX_RECURSIVE = 2 156 PTHREAD_MUTEX_RECURSIVE_NP = 2 157 PTHREAD_MUTEX_SHARED = 1 158 PTHREAD_MUTEX_TIMED_NP = 0 159 PTHREAD_ONCE_INIT = 0 160 PTHREAD_PRIO_INHERIT = 8 161 PTHREAD_PRIO_MULT = 32 162 PTHREAD_PRIO_NONE = 0 163 PTHREAD_PRIO_PROTECT = 16 164 PTHREAD_PROCESS_PRIVATE = 0 165 PTHREAD_PROCESS_SHARED = 1 166 PTHREAD_SCOPE_PROCESS = 0 167 PTHREAD_SCOPE_SYSTEM = 0x10 168 PTHREAD_THREADS_MAX = 2019 169 P_DETACH = 4 170 P_NOWAIT = 1 171 P_NOWAITO = 3 172 P_OVERLAY = 2 173 P_WAIT = 0 174 RWLS_PER_THREAD = 8 175 SCHAR_MAX = 127 176 SCHAR_MIN = -128 177 SCHED_FIFO = 1 178 SCHED_MAX = 2 179 SCHED_MIN = 0 180 SCHED_OTHER = 0 181 SCHED_RR = 2 182 SEM_NSEMS_MAX = 1024 183 SHRT_MAX = 32767 184 SHRT_MIN = -32768 185 SIGABRT = 22 186 SIGABRT2 = 22 187 SIGABRT_COMPAT = 6 188 SIGBREAK = 21 189 SIGFPE = 8 190 SIGILL = 4 191 SIGINT = 2 192 SIGSEGV = 11 193 SIGTERM = 15 194 SIG_BLOCK = 0 195 SIG_SETMASK = 2 196 SIG_UNBLOCK = 1 197 SIZE_MAX = 18446744073709551615 198 SSIZE_MAX = 9223372036854775807 199 STRUNCATE = 80 200 UCHAR_MAX = 255 201 UINT_MAX = 4294967295 202 ULLONG_MAX = 18446744073709551615 203 ULONG_LONG_MAX = 18446744073709551615 204 ULONG_MAX = 4294967295 205 UNALIGNED = 0 206 USE___UUIDOF = 0 207 USHRT_MAX = 65535 208 WAIT_CHILD = 0 209 WAIT_GRANDCHILD = 1 210 WIN32 = 1 211 WIN64 = 1 212 WINNT = 1 213 WINPTHREAD_API = 0 214 WIN_PTHREADS_H = 0 215 WIN_PTHREADS_PTHREAD_COMPAT_H = 0 216 WIN_PTHREADS_SIGNAL_H = 0 217 WIN_PTHREADS_UNISTD_H = 0 218 X_AGLOBAL = 0 219 X_ANONYMOUS_STRUCT = 0 220 X_ANONYMOUS_UNION = 0 221 X_ANSI_STDDEF_H = 0 222 X_ARGMAX = 100 223 X_CONST_RETURN = 0 224 X_CRTNOALIAS = 0 225 X_CRTRESTRICT = 0 226 X_CRT_ALTERNATIVE_IMPORTED = 0 227 X_CRT_ERRNO_DEFINED = 0 228 X_CRT_GETPID_DEFINED = 0 229 X_CRT_MANAGED_HEAP_DEPRECATE = 0 230 X_CRT_PACKING = 8 231 X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES = 0 232 X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY = 0 233 X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES = 0 234 X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT = 0 235 X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0 236 X_CRT_SYSTEM_DEFINED = 0 237 X_CRT_TERMINATE_DEFINED = 0 238 X_CRT_WSYSTEM_DEFINED = 0 239 X_DEV_T_DEFINED = 0 240 X_DLL = 0 241 X_ERRCODE_DEFINED = 0 242 X_FILE_OFFSET_BITS = 64 243 X_FILE_OFFSET_BITS_SET_OFFT = 0 244 X_GCC_LIMITS_H_ = 0 245 X_GCC_MAX_ALIGN_T = 0 246 X_GTHREAD_USE_MUTEX_INIT_FUNC = 1 247 X_I16_MAX = 32767 248 X_I16_MIN = -32768 249 X_I32_MAX = 2147483647 250 X_I32_MIN = -2147483648 251 X_I64_MAX = 9223372036854775807 252 X_I64_MIN = -9223372036854775808 253 X_I8_MAX = 127 254 X_I8_MIN = -128 255 X_INC_CORECRT_STARTUP = 0 256 X_INC_CRTDEFS = 0 257 X_INC_CRTDEFS_MACRO = 0 258 X_INC_ERRNO = 0 259 X_INC_LIMITS = 0 260 X_INC_MINGW_SECAPI = 0 261 X_INC_PROCESS = 0 262 X_INC_SIGNAL = 0 263 X_INC_STDDEF = 0 264 X_INC_TYPES = 0 265 X_INC_VADEFS = 0 266 X_INC__MINGW_H = 0 267 X_INO_T_DEFINED = 0 268 X_INT128_DEFINED = 0 269 X_INTEGRAL_MAX_BITS = 64 270 X_INTPTR_T_DEFINED = 0 271 X_LIMITS_H___ = 0 272 X_MODE_T_ = 0 273 X_MT = 0 274 X_M_AMD64 = 100 275 X_M_X64 = 100 276 X_OFF64_T_DEFINED = 0 277 X_OFF_T_ = 0 278 X_OFF_T_DEFINED = 0 279 X_OLD_P_OVERLAY = 2 280 X_PGLOBAL = 0 281 X_PID_T_ = 0 282 X_POSIX_BARRIERS = 200112 283 X_POSIX_CLOCK_SELECTION = 200112 284 X_POSIX_READER_WRITER_LOCKS = 200112 285 X_POSIX_SEMAPHORES = 200112 286 X_POSIX_SEM_NSEMS_MAX = 256 287 X_POSIX_SPIN_LOCKS = 200112 288 X_POSIX_THREADS = 200112 289 X_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 256 290 X_POSIX_THREAD_KEYS_MAX = 1048576 291 X_POSIX_THREAD_SAFE_FUNCTIONS = 200112 292 X_POSIX_TIMEOUTS = 200112 293 X_PTRDIFF_T_ = 0 294 X_PTRDIFF_T_DEFINED = 0 295 X_P_DETACH = 4 296 X_P_NOWAIT = 1 297 X_P_NOWAITO = 3 298 X_P_OVERLAY = 2 299 X_P_WAIT = 0 300 X_REENTRANT = 1 301 X_RSIZE_T_DEFINED = 0 302 X_SECURECRT_ERRCODE_VALUES_DEFINED = 0 303 X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD 304 X_SIGSET_T_ = 0 305 X_SIG_ATOMIC_T_DEFINED = 0 306 X_SIZE_T_DEFINED = 0 307 X_SPAWNV_DEFINED = 0 308 X_SSIZE_T_DEFINED = 0 309 X_STDDEF_H = 0 310 X_STDDEF_H_ = 0 311 X_TAGLC_ID_DEFINED = 0 312 X_THREADLOCALEINFO = 0 313 X_TIME32_T_DEFINED = 0 314 X_TIME64_T_DEFINED = 0 315 X_TIMEB_DEFINED = 0 316 X_TIMEB_H_ = 0 317 X_TIMEB_H_S = 0 318 X_TIMESPEC_DEFINED = 0 319 X_TIME_T_DEFINED = 0 320 X_UI16_MAX = 0xffff 321 X_UI32_MAX = 0xffffffff 322 X_UI64_MAX = 0xffffffffffffffff 323 X_UI8_MAX = 0xff 324 X_UINTPTR_T_DEFINED = 0 325 X_VA_LIST_DEFINED = 0 326 X_W64 = 0 327 X_WAIT_CHILD = 0 328 X_WAIT_GRANDCHILD = 1 329 X_WCHAR_T_DEFINED = 0 330 X_WCTYPE_T_DEFINED = 0 331 X_WEXEC_DEFINED = 0 332 X_WIN32 = 1 333 X_WIN32_WINNT = 0x502 334 X_WIN64 = 1 335 X_WINT_T = 0 336 X_WSPAWN_DEFINED = 0 337 ) 338 339 type Ptrdiff_t = int64 /* <builtin>:3:26 */ 340 341 type Size_t = uint64 /* <builtin>:9:23 */ 342 343 type Wchar_t = uint16 /* <builtin>:15:24 */ 344 345 type X__int128_t = struct { 346 Flo int64 347 Fhi int64 348 } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128 349 type X__uint128_t = struct { 350 Flo uint64 351 Fhi uint64 352 } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128 353 354 type X__builtin_va_list = uintptr /* <builtin>:46:14 */ 355 type X__float128 = float64 /* <builtin>:47:21 */ 356 357 type Va_list = X__builtin_va_list /* <builtin>:50:27 */ 358 359 // 360 // Copyright (c) 2011-2016 mingw-w64 project 361 // 362 // Permission is hereby granted, free of charge, to any person obtaining a 363 // copy of this software and associated documentation files (the "Software"), 364 // to deal in the Software without restriction, including without limitation 365 // the rights to use, copy, modify, merge, publish, distribute, sublicense, 366 // and/or sell copies of the Software, and to permit persons to whom the 367 // Software is furnished to do so, subject to the following conditions: 368 // 369 // The above copyright notice and this permission notice shall be included in 370 // all copies or substantial portions of the Software. 371 // 372 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 373 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 374 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 375 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 376 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 377 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 378 // DEALINGS IN THE SOFTWARE. 379 380 // Parts of this library are derived by: 381 // 382 // Posix Threads library for Microsoft Windows 383 // 384 // Use at own risk, there is no implied warranty to this code. 385 // It uses undocumented features of Microsoft Windows that can change 386 // at any time in the future. 387 // 388 // (C) 2010 Lockless Inc. 389 // All rights reserved. 390 // 391 // Redistribution and use in source and binary forms, with or without modification, 392 // are permitted provided that the following conditions are met: 393 // 394 // 395 // * Redistributions of source code must retain the above copyright notice, 396 // this list of conditions and the following disclaimer. 397 // * Redistributions in binary form must reproduce the above copyright notice, 398 // this list of conditions and the following disclaimer in the documentation 399 // and/or other materials provided with the distribution. 400 // * Neither the name of Lockless Inc. nor the names of its contributors may be 401 // used to endorse or promote products derived from this software without 402 // specific prior written permission. 403 // 404 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AN 405 // ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 406 // WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. 407 // IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, 408 // INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 409 // BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 410 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 411 // LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE 412 // OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 413 // OF THE POSSIBILITY OF SUCH DAMAGE. 414 415 // * 416 // This file has no copyright assigned and is placed in the Public Domain. 417 // This file is part of the mingw-w64 runtime package. 418 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 419 420 // * 421 // This file has no copyright assigned and is placed in the Public Domain. 422 // This file is part of the mingw-w64 runtime package. 423 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 424 425 // * 426 // This file has no copyright assigned and is placed in the Public Domain. 427 // This file is part of the mingw-w64 runtime package. 428 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 429 430 // * 431 // This file has no copyright assigned and is placed in the Public Domain. 432 // This file is part of the mingw-w64 runtime package. 433 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 434 435 // This macro holds an monotonic increasing value, which indicates 436 // a specific fix/patch is present on trunk. This value isn't related to 437 // minor/major version-macros. It is increased on demand, if a big 438 // fix was applied to trunk. This macro gets just increased on trunk. For 439 // other branches its value won't be modified. 440 441 // mingw.org's version macros: these make gcc to define 442 // MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global 443 // and the __mingwthr_key_dtor() function from the MinGW 444 // CRT in its private gthr-win32.h header. 445 446 // Set VC specific compiler target macros. 447 448 // MS does not prefix symbols by underscores for 64-bit. 449 // As we have to support older gcc version, which are using underscores 450 // as symbol prefix for x64, we have to check here for the user label 451 // prefix defined by gcc. 452 453 // Special case nameless struct/union. 454 455 // MinGW-w64 has some additional C99 printf/scanf feature support. 456 // So we add some helper macros to ease recognition of them. 457 458 // * 459 // This file has no copyright assigned and is placed in the Public Domain. 460 // This file is part of the mingw-w64 runtime package. 461 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 462 463 // http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx 464 // Templates won't work in C, will break if secure API is not enabled, disabled 465 466 // https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true 467 // fallback on default implementation if we can't know the size of the destination 468 469 // Include _cygwin.h if we're building a Cygwin application. 470 471 // Target specific macro replacement for type "long". In the Windows API, 472 // the type long is always 32 bit, even if the target is 64 bit (LLP64). 473 // On 64 bit Cygwin, the type long is 64 bit (LP64). So, to get the right 474 // sized definitions and declarations, all usage of type long in the Windows 475 // headers have to be replaced by the below defined macro __LONG32. 476 477 // C/C++ specific language defines. 478 479 // Note the extern. This is needed to work around GCC's 480 // limitations in handling dllimport attribute. 481 482 // Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's 483 // variadiac macro facility, because variadic macros cause syntax 484 // errors with --traditional-cpp. 485 486 // High byte is the major version, low byte is the minor. 487 488 // * 489 // This file has no copyright assigned and is placed in the Public Domain. 490 // This file is part of the mingw-w64 runtime package. 491 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 492 493 // * 494 // This file has no copyright assigned and is placed in the Public Domain. 495 // This file is part of the mingw-w64 runtime package. 496 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 497 498 type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */ 499 500 type Ssize_t = int64 /* crtdefs.h:45:35 */ 501 502 type Rsize_t = Size_t /* crtdefs.h:52:16 */ 503 504 type Intptr_t = int64 /* crtdefs.h:62:35 */ 505 506 type Uintptr_t = uint64 /* crtdefs.h:75:44 */ 507 508 type Wint_t = uint16 /* crtdefs.h:106:24 */ 509 type Wctype_t = uint16 /* crtdefs.h:107:24 */ 510 511 type Errno_t = int32 /* crtdefs.h:113:13 */ 512 513 type X__time32_t = int32 /* crtdefs.h:118:14 */ 514 515 type X__time64_t = int64 /* crtdefs.h:123:35 */ 516 517 type Time_t = X__time64_t /* crtdefs.h:138:20 */ 518 519 type Threadlocaleinfostruct = struct { 520 Frefcount int32 521 Flc_codepage uint32 522 Flc_collate_cp uint32 523 Flc_handle [6]uint32 524 Flc_id [6]LC_ID 525 Flc_category [6]struct { 526 Flocale uintptr 527 Fwlocale uintptr 528 Frefcount uintptr 529 Fwrefcount uintptr 530 } 531 Flc_clike int32 532 Fmb_cur_max int32 533 Flconv_intl_refcount uintptr 534 Flconv_num_refcount uintptr 535 Flconv_mon_refcount uintptr 536 Flconv uintptr 537 Fctype1_refcount uintptr 538 Fctype1 uintptr 539 Fpctype uintptr 540 Fpclmap uintptr 541 Fpcumap uintptr 542 Flc_time_curr uintptr 543 } /* crtdefs.h:422:1 */ 544 545 type Pthreadlocinfo = uintptr /* crtdefs.h:424:39 */ 546 type Pthreadmbcinfo = uintptr /* crtdefs.h:425:36 */ 547 548 type Localeinfo_struct = struct { 549 Flocinfo Pthreadlocinfo 550 Fmbcinfo Pthreadmbcinfo 551 } /* crtdefs.h:428:9 */ 552 553 type X_locale_tstruct = Localeinfo_struct /* crtdefs.h:431:3 */ 554 type X_locale_t = uintptr /* crtdefs.h:431:19 */ 555 556 type TagLC_ID = struct { 557 FwLanguage uint16 558 FwCountry uint16 559 FwCodePage uint16 560 } /* crtdefs.h:422:1 */ 561 562 type LC_ID = TagLC_ID /* crtdefs.h:439:3 */ 563 type LPLC_ID = uintptr /* crtdefs.h:439:9 */ 564 565 type Threadlocinfo = Threadlocaleinfostruct /* crtdefs.h:468:3 */ 566 567 // ISO C Standard: 7.17 Common definitions <stddef.h> 568 569 // Any one of these symbols __need_* means that GNU libc 570 // wants us just to define one data type. So don't define 571 // the symbols that indicate this file's entire job has been done. 572 // snaroff@next.com says the NeXT needs this. 573 // Irix 5.1 needs this. 574 575 // In 4.3bsd-net2, machine/ansi.h defines these symbols, which are 576 // defined if the corresponding type is *not* defined. 577 // FreeBSD-2.1 defines _MACHINE_ANSI_H_ instead of _ANSI_H_ 578 579 // Sequent's header files use _PTRDIFF_T_ in some conflicting way. 580 // Just ignore it. 581 582 // On VxWorks, <type/vxTypesBase.h> may have defined macros like 583 // _TYPE_size_t which will typedef size_t. fixincludes patched the 584 // vxTypesBase.h so that this macro is only defined if _GCC_SIZE_T is 585 // not defined, and so that defining this macro defines _GCC_SIZE_T. 586 // If we find that the macros are still defined at this point, we must 587 // invoke them so that the type is defined as expected. 588 589 // In case nobody has defined these types, but we aren't running under 590 // GCC 2.00, make sure that __PTRDIFF_TYPE__, __SIZE_TYPE__, and 591 // __WCHAR_TYPE__ have reasonable values. This can happen if the 592 // parts of GCC is compiled by an older compiler, that actually 593 // include gstddef.h, such as collect2. 594 595 // Signed type of difference of two pointers. 596 597 // Define this type if we are doing the whole job, 598 // or if we want this type in particular. 599 600 // If this symbol has done its job, get rid of it. 601 602 // Unsigned type of `sizeof' something. 603 604 // Define this type if we are doing the whole job, 605 // or if we want this type in particular. 606 607 // Wide character type. 608 // Locale-writers should change this as necessary to 609 // be big enough to hold unique values not between 0 and 127, 610 // and not (wchar_t) -1, for each defined multibyte character. 611 612 // Define this type if we are doing the whole job, 613 // or if we want this type in particular. 614 615 // In 4.3bsd-net2, leave these undefined to indicate that size_t, etc. 616 // are already defined. 617 // BSD/OS 3.1 and FreeBSD [23].x require the MACHINE_ANSI_H check here. 618 619 // A null pointer constant. 620 621 // Offset of member MEMBER in a struct of type TYPE. 622 623 // Type whose alignment is supported in every context and is at least 624 // 625 // as great as that of any standard type not using alignment 626 // specifiers. 627 type Max_align_t = struct { 628 F__max_align_ll int64 629 F__max_align_ld float64 630 } /* stddef.h:426:3 */ 631 632 // Copyright (C) 1989-2018 Free Software Foundation, Inc. 633 // 634 // This file is part of GCC. 635 // 636 // GCC is free software; you can redistribute it and/or modify 637 // it under the terms of the GNU General Public License as published by 638 // the Free Software Foundation; either version 3, or (at your option) 639 // any later version. 640 // 641 // GCC is distributed in the hope that it will be useful, 642 // but WITHOUT ANY WARRANTY; without even the implied warranty of 643 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 644 // GNU General Public License for more details. 645 // 646 // Under Section 7 of GPL version 3, you are granted additional 647 // permissions described in the GCC Runtime Library Exception, version 648 // 3.1, as published by the Free Software Foundation. 649 // 650 // You should have received a copy of the GNU General Public License and 651 // a copy of the GCC Runtime Library Exception along with this program; 652 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 653 // <http://www.gnu.org/licenses/>. 654 655 // ISO C Standard: 7.17 Common definitions <stddef.h> 656 // * 657 // This file has no copyright assigned and is placed in the Public Domain. 658 // This file is part of the mingw-w64 runtime package. 659 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 660 661 // * 662 // This file has no copyright assigned and is placed in the Public Domain. 663 // This file is part of the mingw-w64 runtime package. 664 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 665 666 // Posix thread extensions. 667 668 // Extension defined as by report VC 10+ defines error-numbers. 669 670 // Defined as WSAETIMEDOUT. 671 672 // * 673 // This file has no copyright assigned and is placed in the Public Domain. 674 // This file is part of the mingw-w64 runtime package. 675 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 676 677 // * 678 // This file has no copyright assigned and is placed in the Public Domain. 679 // This file is part of the mingw-w64 runtime package. 680 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 681 682 type X_ino_t = uint16 /* types.h:43:24 */ 683 type Ino_t = uint16 /* types.h:45:24 */ 684 685 type X_dev_t = uint32 /* types.h:51:22 */ 686 type Dev_t = uint32 /* types.h:53:22 */ 687 688 type X_pid_t = int64 /* types.h:63:17 */ 689 690 type Pid_t = X_pid_t /* types.h:68:16 */ 691 692 type X_mode_t = uint16 /* types.h:74:24 */ 693 694 type Mode_t = X_mode_t /* types.h:77:17 */ 695 696 type X_off_t = int32 /* _mingw_off_t.h:5:16 */ 697 type Off32_t = int32 /* _mingw_off_t.h:7:16 */ 698 699 type X_off64_t = int64 /* _mingw_off_t.h:13:39 */ 700 type Off64_t = int64 /* _mingw_off_t.h:15:39 */ 701 702 type Off_t = Off64_t /* _mingw_off_t.h:24:17 */ 703 704 type Useconds_t = uint32 /* types.h:84:22 */ 705 706 type Timespec = struct { 707 Ftv_sec Time_t 708 Ftv_nsec int32 709 F__ccgo_pad1 [4]byte 710 } /* types.h:89:1 */ 711 712 type Itimerspec = struct { 713 Fit_interval struct { 714 Ftv_sec Time_t 715 Ftv_nsec int32 716 F__ccgo_pad1 [4]byte 717 } 718 Fit_value struct { 719 Ftv_sec Time_t 720 Ftv_nsec int32 721 F__ccgo_pad1 [4]byte 722 } 723 } /* types.h:94:1 */ 724 725 type X_sigset_t = uint64 /* types.h:104:28 */ 726 727 type X_PVFV = uintptr /* corecrt_startup.h:20:14 */ 728 type X_PIFV = uintptr /* corecrt_startup.h:21:13 */ 729 type X_PVFI = uintptr /* corecrt_startup.h:22:14 */ 730 731 type X_onexit_table_t1 = struct { 732 F_first uintptr 733 F_last uintptr 734 F_end uintptr 735 } /* corecrt_startup.h:24:9 */ 736 737 type X_onexit_table_t = X_onexit_table_t1 /* corecrt_startup.h:28:3 */ 738 739 type X_onexit_t = uintptr /* corecrt_startup.h:30:13 */ 740 741 // Copyright (C) 1992-2018 Free Software Foundation, Inc. 742 // 743 // This file is part of GCC. 744 // 745 // GCC is free software; you can redistribute it and/or modify it under 746 // the terms of the GNU General Public License as published by the Free 747 // Software Foundation; either version 3, or (at your option) any later 748 // version. 749 // 750 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 751 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 752 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 753 // for more details. 754 // 755 // Under Section 7 of GPL version 3, you are granted additional 756 // permissions described in the GCC Runtime Library Exception, version 757 // 3.1, as published by the Free Software Foundation. 758 // 759 // You should have received a copy of the GNU General Public License and 760 // a copy of the GCC Runtime Library Exception along with this program; 761 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 762 // <http://www.gnu.org/licenses/>. 763 764 // This administrivia gets added to the beginning of limits.h 765 // if the system has its own version of limits.h. 766 767 // We use _GCC_LIMITS_H_ because we want this not to match 768 // any macros that the system's limits.h uses for its own purposes. 769 770 // Use "..." so that we find syslimits.h only in this same directory. 771 // syslimits.h stands for the system's own limits.h file. 772 // If we can use it ok unmodified, then we install this text. 773 // If fixincludes fixes it, then the fixed version is installed 774 // instead of this text. 775 776 // * 777 // This file has no copyright assigned and is placed in the Public Domain. 778 // This file is part of the mingw-w64 runtime package. 779 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 780 // * 781 // This file has no copyright assigned and is placed in the Public Domain. 782 // This file is part of the mingw-w64 runtime package. 783 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 784 785 // File system limits 786 // 787 // NOTE: Apparently the actual size of PATH_MAX is 260, but a space is 788 // required for the NUL. TODO: Test? 789 // NOTE: PATH_MAX is the POSIX equivalent for Microsoft's MAX_PATH; the two 790 // are semantically identical, with a limit of 259 characters for the 791 // path name, plus one for a terminating NUL, for a total of 260. 792 793 // Copyright (C) 1991-2018 Free Software Foundation, Inc. 794 // 795 // This file is part of GCC. 796 // 797 // GCC is free software; you can redistribute it and/or modify it under 798 // the terms of the GNU General Public License as published by the Free 799 // Software Foundation; either version 3, or (at your option) any later 800 // version. 801 // 802 // GCC is distributed in the hope that it will be useful, but WITHOUT ANY 803 // WARRANTY; without even the implied warranty of MERCHANTABILITY or 804 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 805 // for more details. 806 // 807 // Under Section 7 of GPL version 3, you are granted additional 808 // permissions described in the GCC Runtime Library Exception, version 809 // 3.1, as published by the Free Software Foundation. 810 // 811 // You should have received a copy of the GNU General Public License and 812 // a copy of the GCC Runtime Library Exception along with this program; 813 // see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 814 // <http://www.gnu.org/licenses/>. 815 816 // Number of bits in a `char'. 817 818 // Maximum length of a multibyte character. 819 820 // Minimum and maximum values a `signed char' can hold. 821 822 // Maximum value an `unsigned char' can hold. (Minimum is 0). 823 824 // Minimum and maximum values a `char' can hold. 825 826 // Minimum and maximum values a `signed short int' can hold. 827 828 // Maximum value an `unsigned short int' can hold. (Minimum is 0). 829 830 // Minimum and maximum values a `signed int' can hold. 831 832 // Maximum value an `unsigned int' can hold. (Minimum is 0). 833 834 // Minimum and maximum values a `signed long int' can hold. 835 // (Same as `int'). 836 837 // Maximum value an `unsigned long int' can hold. (Minimum is 0). 838 839 // Minimum and maximum values a `signed long long int' can hold. 840 841 // Maximum value an `unsigned long long int' can hold. (Minimum is 0). 842 843 // Minimum and maximum values a `signed long long int' can hold. 844 845 // Maximum value an `unsigned long long int' can hold. (Minimum is 0). 846 847 // This administrivia gets added to the end of limits.h 848 // if the system has its own version of limits.h. 849 850 // * 851 // This file has no copyright assigned and is placed in the Public Domain. 852 // This file is part of the mingw-w64 runtime package. 853 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 854 855 // * 856 // This file has no copyright assigned and is placed in the Public Domain. 857 // This file is part of the mingw-w64 runtime package. 858 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 859 860 // 861 // Copyright (c) 2013-2016 mingw-w64 project 862 // 863 // Permission is hereby granted, free of charge, to any person obtaining a 864 // copy of this software and associated documentation files (the "Software"), 865 // to deal in the Software without restriction, including without limitation 866 // the rights to use, copy, modify, merge, publish, distribute, sublicense, 867 // and/or sell copies of the Software, and to permit persons to whom the 868 // Software is furnished to do so, subject to the following conditions: 869 // 870 // The above copyright notice and this permission notice shall be included in 871 // all copies or substantial portions of the Software. 872 // 873 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 874 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 875 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 876 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 877 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 878 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 879 // DEALINGS IN THE SOFTWARE. 880 881 // Windows has rudimentary signals support. 882 883 type Sig_atomic_t = int32 /* signal.h:18:15 */ 884 885 type X__p_sig_fn_t = uintptr /* signal.h:48:16 */ 886 887 // * 888 // This file has no copyright assigned and is placed in the Public Domain. 889 // This file is part of the mingw-w64 runtime package. 890 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 891 892 // * 893 // This file has no copyright assigned and is placed in the Public Domain. 894 // This file is part of the mingw-w64 runtime package. 895 // No warranty is given; refer to the file DISCLAIMER.PD within this package. 896 897 type X__timeb32 = struct { 898 Ftime X__time32_t 899 Fmillitm uint16 900 Ftimezone int16 901 Fdstflag int16 902 F__ccgo_pad1 [2]byte 903 } /* timeb.h:53:3 */ 904 905 type Timeb = struct { 906 Ftime Time_t 907 Fmillitm uint16 908 Ftimezone int16 909 Fdstflag int16 910 F__ccgo_pad1 [2]byte 911 } /* timeb.h:61:3 */ 912 913 type X__timeb64 = struct { 914 Ftime X__time64_t 915 Fmillitm uint16 916 Ftimezone int16 917 Fdstflag int16 918 F__ccgo_pad1 [2]byte 919 } /* timeb.h:69:3 */ 920 921 // maximum number of times a read lock may be obtained 922 923 // No fork() in windows - so ignore this 924 925 // unsupported stuff: 926 927 type Pthread_once_t = int32 /* pthread.h:180:14 */ 928 type Pthread_mutexattr_t = uint32 /* pthread.h:181:18 */ 929 type Pthread_key_t = uint32 /* pthread.h:182:18 */ 930 type Pthread_barrierattr_t = uintptr /* pthread.h:183:14 */ 931 type Pthread_condattr_t = int32 /* pthread.h:184:13 */ 932 type Pthread_rwlockattr_t = int32 /* pthread.h:185:13 */ 933 934 // 935 // struct _pthread_v; 936 // 937 // typedef struct pthread_t { 938 // struct _pthread_v *p; 939 // int x; 940 // } pthread_t; 941 942 type Pthread_t = Uintptr_t /* pthread.h:196:19 */ 943 944 type X_pthread_cleanup1 = struct { 945 Ffunc uintptr 946 Farg uintptr 947 Fnext uintptr 948 } /* pthread.h:198:9 */ 949 950 type X_pthread_cleanup = X_pthread_cleanup1 /* pthread.h:198:33 */ 951 952 // Note that if async cancelling is used, then there is a race here 953 954 // Windows doesn't have this, so declare it ourselves. 955 956 // Some POSIX realtime extensions, mostly stubbed 957 958 type Sched_param = struct{ Fsched_priority int32 } /* pthread.h:239:1 */ 959 960 type Pthread_attr_t1 = struct { 961 Fp_state uint32 962 F__ccgo_pad1 [4]byte 963 Fstack uintptr 964 Fs_size Size_t 965 Fparam struct{ Fsched_priority int32 } 966 F__ccgo_pad2 [4]byte 967 } /* pthread.h:251:9 */ 968 969 type Pthread_attr_t = Pthread_attr_t1 /* pthread.h:251:31 */ 970 971 // synchronization objects 972 type Pthread_spinlock_t = uintptr /* pthread.h:268:14 */ 973 type Pthread_mutex_t = uintptr /* pthread.h:269:14 */ 974 type Pthread_cond_t = uintptr /* pthread.h:270:14 */ 975 type Pthread_rwlock_t = uintptr /* pthread.h:271:14 */ 976 type Pthread_barrier_t = uintptr /* pthread.h:272:14 */ 977 978 type Clockid_t = int32 /* pthread.h:389:13 */ 979 980 // 981 // Copyright (c) 2011-2016 mingw-w64 project 982 // 983 // Permission is hereby granted, free of charge, to any person obtaining a 984 // copy of this software and associated documentation files (the "Software"), 985 // to deal in the Software without restriction, including without limitation 986 // the rights to use, copy, modify, merge, publish, distribute, sublicense, 987 // and/or sell copies of the Software, and to permit persons to whom the 988 // Software is furnished to do so, subject to the following conditions: 989 // 990 // The above copyright notice and this permission notice shall be included in 991 // all copies or substantial portions of the Software. 992 // 993 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 994 // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 995 // FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 996 // AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 997 // LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING 998 // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER 999 // DEALINGS IN THE SOFTWARE. 1000 1001 // Set defines described by the POSIX Threads Extension (1003.1c-1995) 1002 // _SC_THREADS 1003 // Basic support for POSIX threads is available. The functions 1004 // 1005 // pthread_atfork(), 1006 // pthread_attr_destroy(), 1007 // pthread_attr_getdetachstate(), 1008 // pthread_attr_getschedparam(), 1009 // pthread_attr_init(), 1010 // pthread_attr_setdetachstate(), 1011 // pthread_attr_setschedparam(), 1012 // pthread_cancel(), 1013 // pthread_cleanup_push(), 1014 // pthread_cleanup_pop(), 1015 // pthread_cond_broadcast(), 1016 // pthread_cond_destroy(), 1017 // pthread_cond_init(), 1018 // pthread_cond_signal(), 1019 // pthread_cond_timedwait(), 1020 // pthread_cond_wait(), 1021 // pthread_condattr_destroy(), 1022 // pthread_condattr_init(), 1023 // pthread_create(), 1024 // pthread_detach(), 1025 // pthread_equal(), 1026 // pthread_exit(), 1027 // pthread_getspecific(), 1028 // pthread_join(, 1029 // pthread_key_create(), 1030 // pthread_key_delete(), 1031 // pthread_mutex_destroy(), 1032 // pthread_mutex_init(), 1033 // pthread_mutex_lock(), 1034 // pthread_mutex_trylock(), 1035 // pthread_mutex_unlock(), 1036 // pthread_mutexattr_destroy(), 1037 // pthread_mutexattr_init(), 1038 // pthread_once(), 1039 // pthread_rwlock_destroy(), 1040 // pthread_rwlock_init(), 1041 // pthread_rwlock_rdlock(), 1042 // pthread_rwlock_tryrdlock(), 1043 // pthread_rwlock_trywrlock(), 1044 // pthread_rwlock_unlock(), 1045 // pthread_rwlock_wrlock(), 1046 // pthread_rwlockattr_destroy(), 1047 // pthread_rwlockattr_init(), 1048 // pthread_self(), 1049 // pthread_setcancelstate(), 1050 // pthread_setcanceltype(), 1051 // pthread_setspecific(), 1052 // pthread_testcancel() 1053 // 1054 // are present. 1055 1056 // _SC_READER_WRITER_LOCKS 1057 // This option implies the _POSIX_THREADS option. Conversely, under 1058 // POSIX 1003.1-2001 the _POSIX_THREADS option implies this option. 1059 // 1060 // The functions 1061 // pthread_rwlock_destroy(), 1062 // pthread_rwlock_init(), 1063 // pthread_rwlock_rdlock(), 1064 // pthread_rwlock_tryrdlock(), 1065 // pthread_rwlock_trywrlock(), 1066 // pthread_rwlock_unlock(), 1067 // pthread_rwlock_wrlock(), 1068 // pthread_rwlockattr_destroy(), 1069 // pthread_rwlockattr_init() 1070 // 1071 // are present. 1072 1073 // _SC_SPIN_LOCKS 1074 // This option implies the _POSIX_THREADS and _POSIX_THREAD_SAFE_FUNCTIONS 1075 // options. The functions 1076 // 1077 // pthread_spin_destroy(), 1078 // pthread_spin_init(), 1079 // pthread_spin_lock(), 1080 // pthread_spin_trylock(), 1081 // pthread_spin_unlock() 1082 // 1083 // are present. 1084 1085 // _SC_BARRIERS 1086 // This option implies the _POSIX_THREADS and _POSIX_THREAD_SAFE_FUNCTIONS 1087 // options. The functions 1088 // 1089 // pthread_barrier_destroy(), 1090 // pthread_barrier_init(), 1091 // pthread_barrier_wait(), 1092 // pthread_barrierattr_destroy(), 1093 // pthread_barrierattr_init() 1094 // 1095 // are present. 1096 1097 // _SC_THREAD_SAFE_FUNCTIONS 1098 // Affected functions are 1099 // 1100 // readdir_r(), 1101 // getgrgid_r(), 1102 // getgrnam_r(), 1103 // getpwnam_r(), 1104 // getpwuid_r(), 1105 // flockfile(), 1106 // ftrylockfile(), 1107 // funlockfile(), 1108 // getc_unlocked(), 1109 // getchar_unlocked(), 1110 // putc_unlocked(), 1111 // putchar_unlocked(), 1112 // strerror_r(), 1113 1114 // _SC_TIMEOUTS 1115 // The functions 1116 // 1117 // mq_timedreceive(), - not supported 1118 // mq_timedsend(), - not supported 1119 // posix_trace_timedgetnext_event(), - not supported 1120 // pthread_mutex_timedlock(), 1121 // pthread_rwlock_timedrdlock(), 1122 // pthread_rwlock_timedwrlock(), 1123 // sem_timedwait(), 1124 // 1125 // are present. 1126 1127 // _SC_TIMERS - not supported 1128 // The functions 1129 // 1130 // clock_getres(), 1131 // clock_gettime(), 1132 // clock_settime(), 1133 // nanosleep(), 1134 // timer_create(), 1135 // timer_delete(), 1136 // timer_gettime(), 1137 // timer_getoverrun(), 1138 // timer_settime() 1139 // 1140 // are present. 1141 // #undef _POSIX_TIMERS 1142 1143 // _SC_CLOCK_SELECTION 1144 // This option implies the _POSIX_TIMERS option. The functions 1145 // 1146 // pthread_condattr_getclock(), 1147 // pthread_condattr_setclock(), 1148 // clock_nanosleep() 1149 // 1150 // are present. 1151 1152 // _SC_SEMAPHORES 1153 // The include file <semaphore.h> is present. The functions 1154 // 1155 // sem_close(), 1156 // sem_destroy(), 1157 // sem_getvalue(), 1158 // sem_init(), 1159 // sem_open(), 1160 // sem_post(), 1161 // sem_trywait(), 1162 // sem_unlink(), 1163 // sem_wait() 1164 // 1165 // are present. 1166 1167 // Wrap cancellation points. 1168 1169 // We deal here with a gcc issue for posix threading on Windows. 1170 // We would need to change here gcc's gthr-posix.h header, but this 1171 // got rejected. So we deal it within this header. 1172 1173 var _ int8 /* gen.c:2:13: */