gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

pthread_windows_arm64.go (41547B)


      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_arm64.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 	CLK_TCK                                         = 1000
     22 	CLOCKS_PER_SEC                                  = 1000
     23 	CLOCK_MONOTONIC                                 = 1
     24 	CLOCK_PROCESS_CPUTIME_ID                        = 2
     25 	CLOCK_REALTIME                                  = 0
     26 	CLOCK_REALTIME_COARSE                           = 4
     27 	CLOCK_THREAD_CPUTIME_ID                         = 3
     28 	DUMMYSTRUCTNAME                                 = 0
     29 	DUMMYSTRUCTNAME1                                = 0
     30 	DUMMYSTRUCTNAME2                                = 0
     31 	DUMMYSTRUCTNAME3                                = 0
     32 	DUMMYSTRUCTNAME4                                = 0
     33 	DUMMYSTRUCTNAME5                                = 0
     34 	DUMMYUNIONNAME                                  = 0
     35 	DUMMYUNIONNAME1                                 = 0
     36 	DUMMYUNIONNAME2                                 = 0
     37 	DUMMYUNIONNAME3                                 = 0
     38 	DUMMYUNIONNAME4                                 = 0
     39 	DUMMYUNIONNAME5                                 = 0
     40 	DUMMYUNIONNAME6                                 = 0
     41 	DUMMYUNIONNAME7                                 = 0
     42 	DUMMYUNIONNAME8                                 = 0
     43 	DUMMYUNIONNAME9                                 = 0
     44 	E2BIG                                           = 7
     45 	EACCES                                          = 13
     46 	EADDRINUSE                                      = 100
     47 	EADDRNOTAVAIL                                   = 101
     48 	EAFNOSUPPORT                                    = 102
     49 	EAGAIN                                          = 11
     50 	EALREADY                                        = 103
     51 	EBADF                                           = 9
     52 	EBADMSG                                         = 104
     53 	EBUSY                                           = 16
     54 	ECANCELED                                       = 105
     55 	ECHILD                                          = 10
     56 	ECONNABORTED                                    = 106
     57 	ECONNREFUSED                                    = 107
     58 	ECONNRESET                                      = 108
     59 	EDEADLK                                         = 36
     60 	EDEADLOCK                                       = 36
     61 	EDESTADDRREQ                                    = 109
     62 	EDOM                                            = 33
     63 	EEXIST                                          = 17
     64 	EFAULT                                          = 14
     65 	EFBIG                                           = 27
     66 	EHOSTUNREACH                                    = 110
     67 	EIDRM                                           = 111
     68 	EILSEQ                                          = 42
     69 	EINPROGRESS                                     = 112
     70 	EINTR                                           = 4
     71 	EINVAL                                          = 22
     72 	EIO                                             = 5
     73 	EISCONN                                         = 113
     74 	EISDIR                                          = 21
     75 	ELOOP                                           = 114
     76 	EMFILE                                          = 24
     77 	EMLINK                                          = 31
     78 	EMSGSIZE                                        = 115
     79 	ENAMETOOLONG                                    = 38
     80 	ENETDOWN                                        = 116
     81 	ENETRESET                                       = 117
     82 	ENETUNREACH                                     = 118
     83 	ENFILE                                          = 23
     84 	ENOBUFS                                         = 119
     85 	ENODATA                                         = 120
     86 	ENODEV                                          = 19
     87 	ENOENT                                          = 2
     88 	ENOEXEC                                         = 8
     89 	ENOFILE                                         = 2
     90 	ENOLCK                                          = 39
     91 	ENOLINK                                         = 121
     92 	ENOMEM                                          = 12
     93 	ENOMSG                                          = 122
     94 	ENOPROTOOPT                                     = 123
     95 	ENOSPC                                          = 28
     96 	ENOSR                                           = 124
     97 	ENOSTR                                          = 125
     98 	ENOSYS                                          = 40
     99 	ENOTCONN                                        = 126
    100 	ENOTDIR                                         = 20
    101 	ENOTEMPTY                                       = 41
    102 	ENOTRECOVERABLE                                 = 127
    103 	ENOTSOCK                                        = 128
    104 	ENOTSUP                                         = 129
    105 	ENOTTY                                          = 25
    106 	ENXIO                                           = 6
    107 	EOPNOTSUPP                                      = 130
    108 	EOVERFLOW                                       = 132
    109 	EOWNERDEAD                                      = 133
    110 	EPERM                                           = 1
    111 	EPIPE                                           = 32
    112 	EPROTO                                          = 134
    113 	EPROTONOSUPPORT                                 = 135
    114 	EPROTOTYPE                                      = 136
    115 	ERANGE                                          = 34
    116 	EROFS                                           = 30
    117 	ESPIPE                                          = 29
    118 	ESRCH                                           = 3
    119 	ETIME                                           = 137
    120 	ETIMEDOUT                                       = 138
    121 	ETXTBSY                                         = 139
    122 	EWOULDBLOCK                                     = 140
    123 	EXDEV                                           = 18
    124 	GENERIC_ERRORCHECK_INITIALIZER                  = -2
    125 	GENERIC_INITIALIZER                             = -1
    126 	GENERIC_NORMAL_INITIALIZER                      = -1
    127 	GENERIC_RECURSIVE_INITIALIZER                   = -3
    128 	INT_MAX                                         = 2147483647
    129 	INT_MIN                                         = -2147483648
    130 	LLONG_MAX                                       = 9223372036854775807
    131 	LLONG_MIN                                       = -9223372036854775808
    132 	LONG_LONG_MAX                                   = 9223372036854775807
    133 	LONG_LONG_MIN                                   = -9223372036854775808
    134 	LONG_MAX                                        = 2147483647
    135 	LONG_MIN                                        = -2147483648
    136 	MAX_READ_LOCKS                                  = 2147483646
    137 	MB_LEN_MAX                                      = 1
    138 	MINGW_DDK_H                                     = 0
    139 	MINGW_HAS_DDK_H                                 = 1
    140 	MINGW_HAS_SECURE_API                            = 1
    141 	MINGW_SDK_INIT                                  = 0
    142 	NSIG                                            = 23
    143 	OLD_P_OVERLAY                                   = 2
    144 	PTHREAD_BARRIER_SERIAL_THREAD                   = 1
    145 	PTHREAD_CANCEL_ASYNCHRONOUS                     = 0x02
    146 	PTHREAD_CANCEL_DEFERRED                         = 0
    147 	PTHREAD_CANCEL_DISABLE                          = 0
    148 	PTHREAD_CANCEL_ENABLE                           = 0x01
    149 	PTHREAD_CREATE_DETACHED                         = 0x04
    150 	PTHREAD_CREATE_JOINABLE                         = 0
    151 	PTHREAD_DEFAULT_ATTR                            = 1
    152 	PTHREAD_DESTRUCTOR_ITERATIONS                   = 256
    153 	PTHREAD_EXPLICIT_SCHED                          = 0
    154 	PTHREAD_INHERIT_SCHED                           = 0x08
    155 	PTHREAD_KEYS_MAX                                = 1048576
    156 	PTHREAD_MUTEX_ADAPTIVE_NP                       = 0
    157 	PTHREAD_MUTEX_DEFAULT                           = 0
    158 	PTHREAD_MUTEX_ERRORCHECK                        = 1
    159 	PTHREAD_MUTEX_ERRORCHECK_NP                     = 1
    160 	PTHREAD_MUTEX_FAST_NP                           = 0
    161 	PTHREAD_MUTEX_NORMAL                            = 0
    162 	PTHREAD_MUTEX_PRIVATE                           = 0
    163 	PTHREAD_MUTEX_RECURSIVE                         = 2
    164 	PTHREAD_MUTEX_RECURSIVE_NP                      = 2
    165 	PTHREAD_MUTEX_SHARED                            = 1
    166 	PTHREAD_MUTEX_TIMED_NP                          = 0
    167 	PTHREAD_ONCE_INIT                               = 0
    168 	PTHREAD_PRIO_INHERIT                            = 8
    169 	PTHREAD_PRIO_MULT                               = 32
    170 	PTHREAD_PRIO_NONE                               = 0
    171 	PTHREAD_PRIO_PROTECT                            = 16
    172 	PTHREAD_PROCESS_PRIVATE                         = 0
    173 	PTHREAD_PROCESS_SHARED                          = 1
    174 	PTHREAD_SCOPE_PROCESS                           = 0
    175 	PTHREAD_SCOPE_SYSTEM                            = 0x10
    176 	PTHREAD_THREADS_MAX                             = 2019
    177 	P_DETACH                                        = 4
    178 	P_NOWAIT                                        = 1
    179 	P_NOWAITO                                       = 3
    180 	P_OVERLAY                                       = 2
    181 	P_WAIT                                          = 0
    182 	RWLS_PER_THREAD                                 = 8
    183 	SCHAR_MAX                                       = 127
    184 	SCHAR_MIN                                       = -128
    185 	SCHED_FIFO                                      = 1
    186 	SCHED_MAX                                       = 2
    187 	SCHED_MIN                                       = 0
    188 	SCHED_OTHER                                     = 0
    189 	SCHED_RR                                        = 2
    190 	SEM_NSEMS_MAX                                   = 1024
    191 	SHRT_MAX                                        = 32767
    192 	SHRT_MIN                                        = -32768
    193 	SIGABRT                                         = 22
    194 	SIGABRT2                                        = 22
    195 	SIGABRT_COMPAT                                  = 6
    196 	SIGBREAK                                        = 21
    197 	SIGFPE                                          = 8
    198 	SIGILL                                          = 4
    199 	SIGINT                                          = 2
    200 	SIGSEGV                                         = 11
    201 	SIGTERM                                         = 15
    202 	SIG_BLOCK                                       = 0
    203 	SIG_SETMASK                                     = 2
    204 	SIG_UNBLOCK                                     = 1
    205 	STRUNCATE                                       = 80
    206 	TIMER_ABSTIME                                   = 1
    207 	TIME_UTC                                        = 1
    208 	UCHAR_MAX                                       = 255
    209 	UINT_MAX                                        = 4294967295
    210 	ULLONG_MAX                                      = 18446744073709551615
    211 	ULONG_LONG_MAX                                  = 18446744073709551615
    212 	ULONG_MAX                                       = 4294967295
    213 	UNALIGNED                                       = 0
    214 	USE___UUIDOF                                    = 0
    215 	USHRT_MAX                                       = 65535
    216 	WAIT_CHILD                                      = 0
    217 	WAIT_GRANDCHILD                                 = 1
    218 	WIN32                                           = 1
    219 	WIN64                                           = 1
    220 	WINNT                                           = 1
    221 	WINPTHREAD_API                                  = 0
    222 	WIN_PTHREADS_H                                  = 0
    223 	WIN_PTHREADS_PTHREAD_COMPAT_H                   = 0
    224 	WIN_PTHREADS_SIGNAL_H                           = 0
    225 	WIN_PTHREADS_TIME_H                             = 0
    226 	WIN_PTHREADS_UNISTD_H                           = 0
    227 	X_AGLOBAL                                       = 0
    228 	X_ANONYMOUS_STRUCT                              = 0
    229 	X_ANONYMOUS_UNION                               = 0
    230 	X_ARGMAX                                        = 100
    231 	X_ARM64_                                        = 1
    232 	X_CLOCK_T_DEFINED                               = 0
    233 	X_CONST_RETURN                                  = 0
    234 	X_CRTNOALIAS                                    = 0
    235 	X_CRTRESTRICT                                   = 0
    236 	X_CRT_ALTERNATIVE_IMPORTED                      = 0
    237 	X_CRT_ERRNO_DEFINED                             = 0
    238 	X_CRT_GETPID_DEFINED                            = 0
    239 	X_CRT_MANAGED_HEAP_DEPRECATE                    = 0
    240 	X_CRT_PACKING                                   = 8
    241 	X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES          = 0
    242 	X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY   = 0
    243 	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES        = 0
    244 	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT  = 0
    245 	X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0
    246 	X_CRT_SYSTEM_DEFINED                            = 0
    247 	X_CRT_TERMINATE_DEFINED                         = 0
    248 	X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP             = 0
    249 	X_CRT_WSYSTEM_DEFINED                           = 0
    250 	X_DEV_T_DEFINED                                 = 0
    251 	X_DLL                                           = 0
    252 	X_ERRCODE_DEFINED                               = 0
    253 	X_FILE_OFFSET_BITS                              = 64
    254 	X_FILE_OFFSET_BITS_SET_OFFT                     = 0
    255 	X_GCC_LIMITS_H_                                 = 0
    256 	X_GTHREAD_USE_MUTEX_INIT_FUNC                   = 1
    257 	X_INC_CORECRT                                   = 0
    258 	X_INC_CORECRT_STARTUP                           = 0
    259 	X_INC_CRTDEFS                                   = 0
    260 	X_INC_CRTDEFS_MACRO                             = 0
    261 	X_INC_ERRNO                                     = 0
    262 	X_INC_MINGW_SECAPI                              = 0
    263 	X_INC_PROCESS                                   = 0
    264 	X_INC_SIGNAL                                    = 0
    265 	X_INC_TYPES                                     = 0
    266 	X_INC_VADEFS                                    = 0
    267 	X_INC_WTIME_INL                                 = 0
    268 	X_INC_WTIME_S_INL                               = 0
    269 	X_INC__MINGW_H                                  = 0
    270 	X_INO_T_DEFINED                                 = 0
    271 	X_INT128_DEFINED                                = 0
    272 	X_INTPTR_T_DEFINED                              = 0
    273 	X_MODE_T_                                       = 0
    274 	X_MT                                            = 0
    275 	X_M_ARM64                                       = 1
    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_CPUTIME                                 = 200809
    285 	X_POSIX_MONOTONIC_CLOCK                         = 200809
    286 	X_POSIX_READER_WRITER_LOCKS                     = 200112
    287 	X_POSIX_SEMAPHORES                              = 200112
    288 	X_POSIX_SEM_NSEMS_MAX                           = 256
    289 	X_POSIX_SPIN_LOCKS                              = 200112
    290 	X_POSIX_THREADS                                 = 200112
    291 	X_POSIX_THREAD_CPUTIME                          = 200809
    292 	X_POSIX_THREAD_DESTRUCTOR_ITERATIONS            = 256
    293 	X_POSIX_THREAD_KEYS_MAX                         = 1048576
    294 	X_POSIX_TIMEOUTS                                = 200112
    295 	X_POSIX_TIMERS                                  = 200809
    296 	X_PTRDIFF_T                                     = 0
    297 	X_PTRDIFF_T_                                    = 0
    298 	X_PTRDIFF_T_DEFINED                             = 0
    299 	X_P_DETACH                                      = 4
    300 	X_P_NOWAIT                                      = 1
    301 	X_P_NOWAITO                                     = 3
    302 	X_P_OVERLAY                                     = 2
    303 	X_P_WAIT                                        = 0
    304 	X_RSIZE_T_DEFINED                               = 0
    305 	X_SECURECRT_ERRCODE_VALUES_DEFINED              = 0
    306 	X_SECURECRT_FILL_BUFFER_PATTERN                 = 0xFD
    307 	X_SIGSET_T_                                     = 0
    308 	X_SIG_ATOMIC_T_DEFINED                          = 0
    309 	X_SIZE_T                                        = 0
    310 	X_SIZE_T_DEFINED                                = 0
    311 	X_SPAWNV_DEFINED                                = 0
    312 	X_SSIZE_T_DEFINED                               = 0
    313 	X_TAGLC_ID_DEFINED                              = 0
    314 	X_THREADLOCALEINFO                              = 0
    315 	X_TIME32_T_DEFINED                              = 0
    316 	X_TIME64_T_DEFINED                              = 0
    317 	X_TIMEB_DEFINED                                 = 0
    318 	X_TIMEB_H_                                      = 0
    319 	X_TIMEB_H_S                                     = 0
    320 	X_TIMESPEC_DEFINED                              = 0
    321 	X_TIMEVAL_DEFINED                               = 0
    322 	X_TIMEZONE_DEFINED                              = 0
    323 	X_TIME_H_                                       = 0
    324 	X_TIME_T_DEFINED                                = 0
    325 	X_TM_DEFINED                                    = 0
    326 	X_UCRT                                          = 0
    327 	X_UINTPTR_T_DEFINED                             = 0
    328 	X_VA_LIST_DEFINED                               = 0
    329 	X_W64                                           = 0
    330 	X_WAIT_CHILD                                    = 0
    331 	X_WAIT_GRANDCHILD                               = 1
    332 	X_WCHAR_T                                       = 0
    333 	X_WCHAR_T_DEFINED                               = 0
    334 	X_WCTYPE_T_DEFINED                              = 0
    335 	X_WEXEC_DEFINED                                 = 0
    336 	X_WIN32                                         = 1
    337 	X_WIN32_WINNT                                   = 0x601
    338 	X_WIN64                                         = 1
    339 	X_WINT_T                                        = 0
    340 	X_WSPAWN_DEFINED                                = 0
    341 	X_WTIME_DEFINED                                 = 0
    342 )
    343 
    344 type Ptrdiff_t = int64 /* <builtin>:3:26 */
    345 
    346 type Size_t = uint64 /* <builtin>:9:23 */
    347 
    348 type Wchar_t = uint16 /* <builtin>:15:24 */
    349 
    350 type X__int128_t = struct {
    351 	Flo int64
    352 	Fhi int64
    353 } /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
    354 type X__uint128_t = struct {
    355 	Flo uint64
    356 	Fhi uint64
    357 } /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
    358 
    359 type X__builtin_va_list = uintptr /* <builtin>:46:14 */
    360 type X__float128 = float64        /* <builtin>:47:21 */
    361 
    362 type Va_list = X__builtin_va_list /* <builtin>:50:27 */
    363 
    364 // ===---- __stddef_max_align_t.h - Definition of max_align_t for modules ---===
    365 //
    366 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
    367 // See https://llvm.org/LICENSE.txt for license information.
    368 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
    369 //
    370 //===-----------------------------------------------------------------------===
    371 
    372 // Define 'max_align_t' to match the GCC definition.
    373 type Max_align_t = struct {
    374 	F__clang_max_align_nonce1 int64
    375 	F__clang_max_align_nonce2 float64
    376 } /* __stddef_max_align_t.h:24:3 */
    377 
    378 // Some C libraries expect to see a wint_t here. Others (notably MinGW) will use
    379 // __WINT_TYPE__ directly; accommodate both by requiring __need_wint_t
    380 
    381 // *
    382 // This file has no copyright assigned and is placed in the Public Domain.
    383 // This file is part of the mingw-w64 runtime package.
    384 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    385 
    386 // *
    387 // This file has no copyright assigned and is placed in the Public Domain.
    388 // This file is part of the mingw-w64 runtime package.
    389 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    390 
    391 // *
    392 // This file has no copyright assigned and is placed in the Public Domain.
    393 // This file is part of the mingw-w64 runtime package.
    394 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    395 
    396 // *
    397 // This file has no copyright assigned and is placed in the Public Domain.
    398 // This file is part of the mingw-w64 runtime package.
    399 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    400 
    401 // *
    402 // This file has no copyright assigned and is placed in the Public Domain.
    403 // This file is part of the mingw-w64 runtime package.
    404 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    405 
    406 // This macro holds an monotonic increasing value, which indicates
    407 //    a specific fix/patch is present on trunk.  This value isn't related to
    408 //    minor/major version-macros.  It is increased on demand, if a big
    409 //    fix was applied to trunk.  This macro gets just increased on trunk.  For
    410 //    other branches its value won't be modified.
    411 
    412 // mingw.org's version macros: these make gcc to define
    413 //    MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
    414 //    and the __mingwthr_key_dtor() function from the MinGW
    415 //    CRT in its private gthr-win32.h header.
    416 
    417 // Set VC specific compiler target macros.
    418 
    419 // MS does not prefix symbols by underscores for 64-bit.
    420 // As we have to support older gcc version, which are using underscores
    421 //       as symbol prefix for x64, we have to check here for the user label
    422 //       prefix defined by gcc.
    423 
    424 // Special case nameless struct/union.
    425 
    426 // MinGW-w64 has some additional C99 printf/scanf feature support.
    427 //    So we add some helper macros to ease recognition of them.
    428 
    429 // If _FORTIFY_SOURCE is enabled, some inline functions may use
    430 //    __builtin_va_arg_pack().  GCC may report an error if the address
    431 //    of such a function is used.  Set _FORTIFY_VA_ARG=0 in this case.
    432 
    433 // Enable workaround for ABI incompatibility on affected platforms
    434 
    435 // *
    436 // This file has no copyright assigned and is placed in the Public Domain.
    437 // This file is part of the mingw-w64 runtime package.
    438 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    439 
    440 // http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
    441 // Templates won't work in C, will break if secure API is not enabled, disabled
    442 
    443 // https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
    444 // fallback on default implementation if we can't know the size of the destination
    445 
    446 // Include _cygwin.h if we're building a Cygwin application.
    447 
    448 // Target specific macro replacement for type "long".  In the Windows API,
    449 //    the type long is always 32 bit, even if the target is 64 bit (LLP64).
    450 //    On 64 bit Cygwin, the type long is 64 bit (LP64).  So, to get the right
    451 //    sized definitions and declarations, all usage of type long in the Windows
    452 //    headers have to be replaced by the below defined macro __LONG32.
    453 
    454 // C/C++ specific language defines.
    455 
    456 // Note the extern. This is needed to work around GCC's
    457 // limitations in handling dllimport attribute.
    458 
    459 // Attribute `nonnull' was valid as of gcc 3.3.  We don't use GCC's
    460 //    variadiac macro facility, because variadic macros cause syntax
    461 //    errors with  --traditional-cpp.
    462 
    463 //  High byte is the major version, low byte is the minor.
    464 
    465 // Allow both 0x1400 and 0xE00 to identify UCRT
    466 
    467 // ===-------- vadefs.h ---------------------------------------------------===
    468 //
    469 // Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
    470 // See https://llvm.org/LICENSE.txt for license information.
    471 // SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
    472 //
    473 //===-----------------------------------------------------------------------===
    474 
    475 // Only include this if we are aiming for MSVC compatibility.
    476 // *
    477 // This file has no copyright assigned and is placed in the Public Domain.
    478 // This file is part of the mingw-w64 runtime package.
    479 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    480 
    481 // *
    482 // This file has no copyright assigned and is placed in the Public Domain.
    483 // This file is part of the mingw-w64 runtime package.
    484 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    485 
    486 // for backward compatibility
    487 
    488 type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
    489 
    490 type Ssize_t = int64 /* corecrt.h:45:35 */
    491 
    492 type Rsize_t = Size_t /* corecrt.h:52:16 */
    493 
    494 type Intptr_t = int64 /* corecrt.h:62:35 */
    495 
    496 type Uintptr_t = uint64 /* corecrt.h:75:44 */
    497 
    498 type Wint_t = uint16   /* corecrt.h:106:24 */
    499 type Wctype_t = uint16 /* corecrt.h:107:24 */
    500 
    501 type Errno_t = int32 /* corecrt.h:113:13 */
    502 
    503 type X__time32_t = int32 /* corecrt.h:118:14 */
    504 
    505 type X__time64_t = int64 /* corecrt.h:123:35 */
    506 
    507 type Time_t = X__time64_t /* corecrt.h:138:20 */
    508 
    509 type Threadlocaleinfostruct = struct {
    510 	F_locale_pctype      uintptr
    511 	F_locale_mb_cur_max  int32
    512 	F_locale_lc_codepage uint32
    513 } /* corecrt.h:430:1 */
    514 
    515 type Pthreadlocinfo = uintptr /* corecrt.h:432:39 */
    516 type Pthreadmbcinfo = uintptr /* corecrt.h:433:36 */
    517 
    518 type Localeinfo_struct = struct {
    519 	Flocinfo Pthreadlocinfo
    520 	Fmbcinfo Pthreadmbcinfo
    521 } /* corecrt.h:436:9 */
    522 
    523 type X_locale_tstruct = Localeinfo_struct /* corecrt.h:439:3 */
    524 type X_locale_t = uintptr                 /* corecrt.h:439:19 */
    525 
    526 type TagLC_ID = struct {
    527 	FwLanguage uint16
    528 	FwCountry  uint16
    529 	FwCodePage uint16
    530 } /* corecrt.h:443:9 */
    531 
    532 type LC_ID = TagLC_ID  /* corecrt.h:447:3 */
    533 type LPLC_ID = uintptr /* corecrt.h:447:9 */
    534 
    535 type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:482:3 */
    536 
    537 // Posix thread extensions.
    538 
    539 // Extension defined as by report VC 10+ defines error-numbers.
    540 
    541 // Defined as WSAETIMEDOUT.
    542 
    543 // *
    544 // This file has no copyright assigned and is placed in the Public Domain.
    545 // This file is part of the mingw-w64 runtime package.
    546 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    547 
    548 // *
    549 // This file has no copyright assigned and is placed in the Public Domain.
    550 // This file is part of the mingw-w64 runtime package.
    551 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    552 
    553 type X_ino_t = uint16 /* types.h:43:24 */
    554 type Ino_t = uint16   /* types.h:45:24 */
    555 
    556 type X_dev_t = uint32 /* types.h:51:22 */
    557 type Dev_t = uint32   /* types.h:53:22 */
    558 
    559 type X_pid_t = int64 /* types.h:63:17 */
    560 
    561 type Pid_t = X_pid_t /* types.h:68:16 */
    562 
    563 type X_mode_t = uint16 /* types.h:74:24 */
    564 
    565 type Mode_t = X_mode_t /* types.h:77:17 */
    566 
    567 type X_off_t = int32 /* _mingw_off_t.h:5:16 */
    568 type Off32_t = int32 /* _mingw_off_t.h:7:16 */
    569 
    570 type X_off64_t = int64 /* _mingw_off_t.h:13:39 */
    571 type Off64_t = int64   /* _mingw_off_t.h:15:39 */
    572 
    573 type Off_t = Off64_t /* _mingw_off_t.h:24:17 */
    574 
    575 type Useconds_t = uint32 /* types.h:84:22 */
    576 
    577 type Timespec = struct {
    578 	Ftv_sec      Time_t
    579 	Ftv_nsec     int32
    580 	F__ccgo_pad1 [4]byte
    581 } /* types.h:89:1 */
    582 
    583 type Itimerspec = struct {
    584 	Fit_interval struct {
    585 		Ftv_sec      Time_t
    586 		Ftv_nsec     int32
    587 		F__ccgo_pad1 [4]byte
    588 	}
    589 	Fit_value struct {
    590 		Ftv_sec      Time_t
    591 		Ftv_nsec     int32
    592 		F__ccgo_pad1 [4]byte
    593 	}
    594 } /* types.h:94:1 */
    595 
    596 type X_sigset_t = uint64 /* types.h:104:28 */
    597 
    598 type X_PVFV = uintptr /* corecrt_startup.h:20:14 */
    599 type X_PIFV = uintptr /* corecrt_startup.h:21:13 */
    600 type X_PVFI = uintptr /* corecrt_startup.h:22:14 */
    601 
    602 type X_onexit_table_t1 = struct {
    603 	F_first uintptr
    604 	F_last  uintptr
    605 	F_end   uintptr
    606 } /* corecrt_startup.h:24:9 */
    607 
    608 type X_onexit_table_t = X_onexit_table_t1 /* corecrt_startup.h:28:3 */
    609 
    610 type X_onexit_t = uintptr /* corecrt_startup.h:30:13 */
    611 
    612 // Includes a definition of _pid_t and pid_t
    613 // *
    614 // This file has no copyright assigned and is placed in the Public Domain.
    615 // This file is part of the mingw-w64 runtime package.
    616 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    617 
    618 type X_beginthread_proc_type = uintptr   /* process.h:32:16 */
    619 type X_beginthreadex_proc_type = uintptr /* process.h:33:20 */
    620 
    621 type X_tls_callback_type = uintptr /* process.h:64:16 */
    622 
    623 //===---- limits.h - Standard header for integer sizes --------------------===* *
    624 //  Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
    625 //  See https://llvm.org/LICENSE.txt for license information.
    626 //  SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
    627 //
    628 // \*===----------------------------------------------------------------------===
    629 
    630 // The system's limits.h may, in turn, try to #include_next GCC's limits.h.
    631 //    Avert this #include_next madness.
    632 
    633 // System headers include a number of constants from POSIX in <limits.h>.
    634 //    Include it if we're hosted.
    635 
    636 // Many system headers try to "help us out" by defining these.  No really, we
    637 //    know how big each datatype is.
    638 
    639 // C90/99 5.2.4.2.1
    640 
    641 // C2x 5.2.4.2.1
    642 // FIXME: This is using the placeholder dates Clang produces for these macros
    643 //    in C2x mode; switch to the correct values once they've been published.
    644 
    645 // C99 5.2.4.2.1: Added long long.
    646 //    C++11 18.3.3.2: same contents as the Standard C Library header <limits.h>.
    647 //
    648 
    649 // LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX are a GNU extension.  It's too bad
    650 //    that we don't have something like #pragma poison that could be used to
    651 //    deprecate a macro - the code should just use LLONG_MAX and friends.
    652 //
    653 
    654 // *
    655 // This file has no copyright assigned and is placed in the Public Domain.
    656 // This file is part of the mingw-w64 runtime package.
    657 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    658 
    659 // *
    660 // This file has no copyright assigned and is placed in the Public Domain.
    661 // This file is part of the mingw-w64 runtime package.
    662 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    663 
    664 //
    665 //    Copyright (c) 2013-2016  mingw-w64 project
    666 //
    667 //    Permission is hereby granted, free of charge, to any person obtaining a
    668 //    copy of this software and associated documentation files (the "Software"),
    669 //    to deal in the Software without restriction, including without limitation
    670 //    the rights to use, copy, modify, merge, publish, distribute, sublicense,
    671 //    and/or sell copies of the Software, and to permit persons to whom the
    672 //    Software is furnished to do so, subject to the following conditions:
    673 //
    674 //    The above copyright notice and this permission notice shall be included in
    675 //    all copies or substantial portions of the Software.
    676 //
    677 //    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    678 //    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    679 //    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    680 //    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    681 //    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    682 //    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    683 //    DEALINGS IN THE SOFTWARE.
    684 
    685 // Windows has rudimentary signals support.
    686 
    687 type Sig_atomic_t = int32 /* signal.h:18:15 */
    688 
    689 type X__p_sig_fn_t = uintptr /* signal.h:48:16 */
    690 
    691 // *
    692 // This file has no copyright assigned and is placed in the Public Domain.
    693 // This file is part of the mingw-w64 runtime package.
    694 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    695 
    696 // *
    697 // This file has no copyright assigned and is placed in the Public Domain.
    698 // This file is part of the mingw-w64 runtime package.
    699 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    700 
    701 // Adding timespec definition.
    702 // *
    703 // This file has no copyright assigned and is placed in the Public Domain.
    704 // This file is part of the mingw-w64 runtime package.
    705 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    706 
    707 // *
    708 // This file has no copyright assigned and is placed in the Public Domain.
    709 // This file is part of the mingw-w64 runtime package.
    710 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    711 
    712 type X__timeb32 = struct {
    713 	Ftime        X__time32_t
    714 	Fmillitm     uint16
    715 	Ftimezone    int16
    716 	Fdstflag     int16
    717 	F__ccgo_pad1 [2]byte
    718 } /* timeb.h:53:3 */
    719 
    720 type Timeb = struct {
    721 	Ftime        Time_t
    722 	Fmillitm     uint16
    723 	Ftimezone    int16
    724 	Fdstflag     int16
    725 	F__ccgo_pad1 [2]byte
    726 } /* timeb.h:61:3 */
    727 
    728 type X__timeb64 = struct {
    729 	Ftime        X__time64_t
    730 	Fmillitm     uint16
    731 	Ftimezone    int16
    732 	Fdstflag     int16
    733 	F__ccgo_pad1 [2]byte
    734 } /* timeb.h:69:3 */
    735 
    736 type X_timespec32 = struct {
    737 	Ftv_sec  X__time32_t
    738 	Ftv_nsec int32
    739 } /* timeb.h:89:1 */
    740 
    741 type X_timespec64 = struct {
    742 	Ftv_sec      X__time64_t
    743 	Ftv_nsec     int32
    744 	F__ccgo_pad1 [4]byte
    745 } /* timeb.h:94:1 */
    746 
    747 type Clock_t = int32 /* time.h:63:16 */
    748 
    749 type Tm = struct {
    750 	Ftm_sec   int32
    751 	Ftm_min   int32
    752 	Ftm_hour  int32
    753 	Ftm_mday  int32
    754 	Ftm_mon   int32
    755 	Ftm_year  int32
    756 	Ftm_wday  int32
    757 	Ftm_yday  int32
    758 	Ftm_isdst int32
    759 } /* time.h:100:3 */
    760 
    761 var Xdaylight int32    /* time.h:275:22: */
    762 var Xtimezone int32    /* time.h:276:23: */
    763 var Xtzname [2]uintptr /* time.h:277:23: */
    764 
    765 // *
    766 // This file has no copyright assigned and is placed in the Public Domain.
    767 // This file is part of the mingw-w64 runtime package.
    768 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    769 
    770 type Timeval = struct {
    771 	Ftv_sec  int32
    772 	Ftv_usec int32
    773 } /* _timeval.h:10:1 */
    774 
    775 type Timezone = struct {
    776 	Ftz_minuteswest int32
    777 	Ftz_dsttime     int32
    778 } /* time.h:285:1 */
    779 
    780 // POSIX 2008 says clock_gettime and timespec are defined in time.h header,
    781 //    but other systems - like Linux, Solaris, etc - tend to declare such
    782 //    recent extensions only if the following guards are met.
    783 //
    784 //    Copyright (c) 2011-2016  mingw-w64 project
    785 //
    786 //    Permission is hereby granted, free of charge, to any person obtaining a
    787 //    copy of this software and associated documentation files (the "Software"),
    788 //    to deal in the Software without restriction, including without limitation
    789 //    the rights to use, copy, modify, merge, publish, distribute, sublicense,
    790 //    and/or sell copies of the Software, and to permit persons to whom the
    791 //    Software is furnished to do so, subject to the following conditions:
    792 //
    793 //    The above copyright notice and this permission notice shall be included in
    794 //    all copies or substantial portions of the Software.
    795 //
    796 //    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    797 //    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    798 //    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    799 //    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    800 //    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    801 //    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    802 //    DEALINGS IN THE SOFTWARE.
    803 
    804 // *
    805 // This file has no copyright assigned and is placed in the Public Domain.
    806 // This file is part of the mingw-w64 runtime package.
    807 // No warranty is given; refer to the file DISCLAIMER.PD within this package.
    808 
    809 // Posix timers are supported
    810 
    811 // Monotonic clocks are available.
    812 
    813 // CPU-time clocks are available.
    814 
    815 // Clock support in threads are available.
    816 
    817 type Clockid_t = int32 /* pthread_time.h:49:13 */
    818 
    819 // maximum number of times a read lock may be obtained
    820 
    821 // No fork() in windows - so ignore this
    822 
    823 // unsupported stuff:
    824 
    825 type Pthread_once_t = int32          /* pthread.h:181:14 */
    826 type Pthread_mutexattr_t = uint32    /* pthread.h:182:18 */
    827 type Pthread_key_t = uint32          /* pthread.h:183:18 */
    828 type Pthread_barrierattr_t = uintptr /* pthread.h:184:14 */
    829 type Pthread_condattr_t = int32      /* pthread.h:185:13 */
    830 type Pthread_rwlockattr_t = int32    /* pthread.h:186:13 */
    831 
    832 //
    833 // struct _pthread_v;
    834 //
    835 // typedef struct pthread_t {
    836 //   struct _pthread_v *p;
    837 //   int x;
    838 // } pthread_t;
    839 
    840 type Pthread_t = Uintptr_t /* pthread.h:197:19 */
    841 
    842 type X_pthread_cleanup1 = struct {
    843 	Ffunc uintptr
    844 	Farg  uintptr
    845 	Fnext uintptr
    846 } /* pthread.h:199:9 */
    847 
    848 type X_pthread_cleanup = X_pthread_cleanup1 /* pthread.h:199:33 */
    849 
    850 // Note that if async cancelling is used, then there is a race here
    851 
    852 // Some POSIX realtime extensions, mostly stubbed
    853 
    854 type Sched_param = struct{ Fsched_priority int32 } /* pthread.h:226:1 */
    855 
    856 type Pthread_attr_t1 = struct {
    857 	Fp_state     uint32
    858 	F__ccgo_pad1 [4]byte
    859 	Fstack       uintptr
    860 	Fs_size      Size_t
    861 	Fparam       struct{ Fsched_priority int32 }
    862 	F__ccgo_pad2 [4]byte
    863 } /* pthread.h:238:9 */
    864 
    865 type Pthread_attr_t = Pthread_attr_t1 /* pthread.h:238:31 */
    866 
    867 // synchronization objects
    868 type Pthread_spinlock_t = Intptr_t /* pthread.h:255:18 */
    869 type Pthread_mutex_t = Intptr_t    /* pthread.h:256:18 */
    870 type Pthread_cond_t = Intptr_t     /* pthread.h:257:18 */
    871 type Pthread_rwlock_t = Intptr_t   /* pthread.h:258:18 */
    872 type Pthread_barrier_t = uintptr   /* pthread.h:259:14 */
    873 
    874 //
    875 //    Copyright (c) 2011-2016  mingw-w64 project
    876 //
    877 //    Permission is hereby granted, free of charge, to any person obtaining a
    878 //    copy of this software and associated documentation files (the "Software"),
    879 //    to deal in the Software without restriction, including without limitation
    880 //    the rights to use, copy, modify, merge, publish, distribute, sublicense,
    881 //    and/or sell copies of the Software, and to permit persons to whom the
    882 //    Software is furnished to do so, subject to the following conditions:
    883 //
    884 //    The above copyright notice and this permission notice shall be included in
    885 //    all copies or substantial portions of the Software.
    886 //
    887 //    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    888 //    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    889 //    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    890 //    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    891 //    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
    892 //    FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
    893 //    DEALINGS IN THE SOFTWARE.
    894 
    895 // Set defines described by the POSIX Threads Extension (1003.1c-1995)
    896 // _SC_THREADS
    897 //   Basic support for POSIX threads is available. The functions
    898 //
    899 //   pthread_atfork(),
    900 //   pthread_attr_destroy(),
    901 //   pthread_attr_getdetachstate(),
    902 //   pthread_attr_getschedparam(),
    903 //   pthread_attr_init(),
    904 //   pthread_attr_setdetachstate(),
    905 //   pthread_attr_setschedparam(),
    906 //   pthread_cancel(),
    907 //   pthread_cleanup_push(),
    908 //   pthread_cleanup_pop(),
    909 //   pthread_cond_broadcast(),
    910 //   pthread_cond_destroy(),
    911 //   pthread_cond_init(),
    912 //   pthread_cond_signal(),
    913 //   pthread_cond_timedwait(),
    914 //   pthread_cond_wait(),
    915 //   pthread_condattr_destroy(),
    916 //   pthread_condattr_init(),
    917 //   pthread_create(),
    918 //   pthread_detach(),
    919 //   pthread_equal(),
    920 //   pthread_exit(),
    921 //   pthread_getspecific(),
    922 //   pthread_join(,
    923 //   pthread_key_create(),
    924 //   pthread_key_delete(),
    925 //   pthread_mutex_destroy(),
    926 //   pthread_mutex_init(),
    927 //   pthread_mutex_lock(),
    928 //   pthread_mutex_trylock(),
    929 //   pthread_mutex_unlock(),
    930 //   pthread_mutexattr_destroy(),
    931 //   pthread_mutexattr_init(),
    932 //   pthread_once(),
    933 //   pthread_rwlock_destroy(),
    934 //   pthread_rwlock_init(),
    935 //   pthread_rwlock_rdlock(),
    936 //   pthread_rwlock_tryrdlock(),
    937 //   pthread_rwlock_trywrlock(),
    938 //   pthread_rwlock_unlock(),
    939 //   pthread_rwlock_wrlock(),
    940 //   pthread_rwlockattr_destroy(),
    941 //   pthread_rwlockattr_init(),
    942 //   pthread_self(),
    943 //   pthread_setcancelstate(),
    944 //   pthread_setcanceltype(),
    945 //   pthread_setspecific(),
    946 //   pthread_testcancel()
    947 //
    948 //   are present.
    949 
    950 // _SC_READER_WRITER_LOCKS
    951 //   This option implies the _POSIX_THREADS option. Conversely, under
    952 //   POSIX 1003.1-2001 the _POSIX_THREADS option implies this option.
    953 //
    954 //   The functions
    955 //   pthread_rwlock_destroy(),
    956 //   pthread_rwlock_init(),
    957 //   pthread_rwlock_rdlock(),
    958 //   pthread_rwlock_tryrdlock(),
    959 //   pthread_rwlock_trywrlock(),
    960 //   pthread_rwlock_unlock(),
    961 //   pthread_rwlock_wrlock(),
    962 //   pthread_rwlockattr_destroy(),
    963 //   pthread_rwlockattr_init()
    964 //
    965 //   are present.
    966 
    967 // _SC_SPIN_LOCKS
    968 //   This option implies the _POSIX_THREADS and _POSIX_THREAD_SAFE_FUNCTIONS
    969 //   options. The functions
    970 //
    971 //   pthread_spin_destroy(),
    972 //   pthread_spin_init(),
    973 //   pthread_spin_lock(),
    974 //   pthread_spin_trylock(),
    975 //   pthread_spin_unlock()
    976 //
    977 //   are present.
    978 
    979 // _SC_BARRIERS
    980 //   This option implies the _POSIX_THREADS and _POSIX_THREAD_SAFE_FUNCTIONS
    981 //   options. The functions
    982 //
    983 //   pthread_barrier_destroy(),
    984 //   pthread_barrier_init(),
    985 //   pthread_barrier_wait(),
    986 //   pthread_barrierattr_destroy(),
    987 //   pthread_barrierattr_init()
    988 //
    989 //   are present.
    990 
    991 // _SC_TIMEOUTS
    992 //   The functions
    993 //
    994 //   mq_timedreceive(), - not supported
    995 //   mq_timedsend(), - not supported
    996 //   posix_trace_timedgetnext_event(), - not supported
    997 //   pthread_mutex_timedlock(),
    998 //   pthread_rwlock_timedrdlock(),
    999 //   pthread_rwlock_timedwrlock(),
   1000 //   sem_timedwait(),
   1001 //
   1002 //   are present.
   1003 
   1004 // _SC_TIMERS - not supported
   1005 //   The functions
   1006 //
   1007 //   clock_getres(),
   1008 //   clock_gettime(),
   1009 //   clock_settime(),
   1010 //   nanosleep(),
   1011 //   timer_create(),
   1012 //   timer_delete(),
   1013 //   timer_gettime(),
   1014 //   timer_getoverrun(),
   1015 //   timer_settime()
   1016 //
   1017 //   are present.
   1018 // #undef _POSIX_TIMERS
   1019 
   1020 // _SC_CLOCK_SELECTION
   1021 //    This option implies the _POSIX_TIMERS option. The functions
   1022 //
   1023 //    pthread_condattr_getclock(),
   1024 //    pthread_condattr_setclock(),
   1025 //    clock_nanosleep()
   1026 //
   1027 //    are present.
   1028 
   1029 // _SC_SEMAPHORES
   1030 //   The include file <semaphore.h> is present. The functions
   1031 //
   1032 //   sem_close(),
   1033 //   sem_destroy(),
   1034 //   sem_getvalue(),
   1035 //   sem_init(),
   1036 //   sem_open(),
   1037 //   sem_post(),
   1038 //   sem_trywait(),
   1039 //   sem_unlink(),
   1040 //   sem_wait()
   1041 //
   1042 //   are present.
   1043 
   1044 // Wrap cancellation points.
   1045 
   1046 // We deal here with a gcc issue for posix threading on Windows.
   1047 //    We would need to change here gcc's gthr-posix.h header, but this
   1048 //    got rejected.  So we deal it within this header.
   1049 
   1050 var _ int8 /* gen.c:2:13: */