[chore] Update all but bun libraries (#526)

* update all but bun libraries

Signed-off-by: kim <grufwub@gmail.com>

* remove my personal build script changes

Signed-off-by: kim <grufwub@gmail.com>
This commit is contained in:
kim 2022-05-02 14:05:18 +01:00 committed by GitHub
commit b56dae8120
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
350 changed files with 305366 additions and 5943 deletions

2
vendor/modernc.org/cc/v3/Makefile generated vendored
View file

@ -70,8 +70,10 @@ build_all_targets:
GOOS=linux GOARCH=riscv64 go build -v ./...
GOOS=linux GOARCH=s390x go build -v ./...
GOOS=netbsd GOARCH=amd64 go build -v ./...
GOOS=openbsd GOARCH=amd64 go build -v ./...
GOOS=windows GOARCH=386 go build -v ./...
GOOS=windows GOARCH=amd64 go build -v ./...
GOOS=windows GOARCH=arm64 go build -v ./...
devbench:
date 2>&1 | tee log-devbench

View file

@ -9,6 +9,7 @@ var (
"amd64": binary.LittleEndian,
"arm": binary.LittleEndian,
"arm64": binary.LittleEndian,
"ppc64le": binary.LittleEndian,
"riscv64": binary.LittleEndian,
"s390x": binary.BigEndian,
}
@ -17,6 +18,7 @@ var (
{"linux", "arm"}: false,
{"linux", "arm64"}: false,
{"linux", "s390x"}: false,
{"linux", "ppc64le"}: false,
{"linux", "riscv64"}: false,
{"darwin", "amd64"}: true,
@ -29,6 +31,7 @@ var (
{"openbsd", "amd64"}: true,
{"windows", "386"}: true,
{"windows", "amd64"}: true,
{"windows", "arm64"}: true,
}
)
@ -213,6 +216,29 @@ var abiTypes = map[[2]string]map[Kind]ABIType{
Decimal64: {8, 8, 8},
Decimal128: {16, 16, 16},
},
// clang version 14.0.0 (https://github.com/llvm/llvm-project.git 329fda39c507e8740978d10458451dcdb21563be)
// Target: aarch64-w64-windows-gnu
{"windows", "arm64"}: {
Void: {1, 1, 1},
Bool: {1, 1, 1},
Char: {1, 1, 1},
SChar: {1, 1, 1},
UChar: {1, 1, 1},
Short: {2, 2, 2},
UShort: {2, 2, 2},
Enum: {4, 4, 4},
Int: {4, 4, 4},
UInt: {4, 4, 4},
Long: {4, 4, 4},
ULong: {4, 4, 4},
LongLong: {8, 8, 8},
ULongLong: {8, 8, 8},
Ptr: {8, 8, 8},
Function: {8, 8, 8},
Float: {4, 4, 4},
Double: {8, 8, 8},
LongDouble: {8, 8, 8},
},
// $ i686-w64-mingw32-gcc main.c && wine a.exe
{"windows", "386"}: {
Void: {1, 1, 1},
@ -526,4 +552,44 @@ var abiTypes = map[[2]string]map[Kind]ABIType{
Float64x: {16, 16, 16},
Float128: {16, 16, 16},
},
// gcc (Debian 10.2.1-6) 10.2.1 20210110
{"linux", "ppc64le"}: {
Void: {1, 1, 1},
Bool: {1, 1, 1},
Char: {1, 1, 1},
SChar: {1, 1, 1},
UChar: {1, 1, 1},
Short: {2, 2, 2},
UShort: {2, 2, 2},
Enum: {4, 4, 4},
Int: {4, 4, 4},
UInt: {4, 4, 4},
Long: {8, 8, 8},
ULong: {8, 8, 8},
LongLong: {8, 8, 8},
ULongLong: {8, 8, 8},
Ptr: {8, 8, 8},
Function: {8, 8, 8},
Float: {4, 4, 4},
Double: {8, 8, 8},
LongDouble: {16, 16, 16},
Int8: {1, 1, 1},
UInt8: {1, 1, 1},
Int16: {2, 2, 2},
UInt16: {2, 2, 2},
Int32: {4, 4, 4},
UInt32: {4, 4, 4},
Int64: {8, 8, 8},
UInt64: {8, 8, 8},
Int128: {16, 16, 16},
UInt128: {16, 16, 16},
Float32: {4, 4, 4},
Float32x: {8, 8, 8},
Float64: {8, 8, 8},
Float64x: {16, 16, 16},
Float128: {16, 16, 16},
Decimal32: {4, 4, 4},
Decimal64: {8, 8, 8},
Decimal128: {16, 16, 16},
},
}

76
vendor/modernc.org/cc/v3/cc.go generated vendored
View file

@ -792,6 +792,14 @@ func (c *context) openFile(name string, sys bool) (io.ReadCloser, error) {
// Execution of HostConfig is not free, so caching of the results is
// recommended.
func HostConfig(cpp string, opts ...string) (predefined string, includePaths, sysIncludePaths []string, err error) {
if predefined, includePaths, sysIncludePaths, err = hostConfigv3(cpp, opts...); err == nil {
return predefined, includePaths, sysIncludePaths, nil
}
return hostConfigv4(opts)
}
func hostConfigv3(cpp string, opts ...string) (predefined string, includePaths, sysIncludePaths []string, err error) {
if cpp == "" {
cpp = "cpp"
}
@ -843,6 +851,74 @@ func HostConfig(cpp string, opts ...string) (predefined string, includePaths, sy
return "", nil, nil, fmt.Errorf("failed parsing %s -v output", cpp)
}
func hostConfigv4(opts []string) (predefined string, includePaths, sysIncludePaths []string, err error) {
for _, cc := range []string{os.Getenv("CC"), "cc", "gcc"} {
if cc == "" {
continue
}
cc, err = exec.LookPath(cc)
if err != nil {
continue
}
args := append(opts, "-dM", "-E", "-")
pre, err := exec.Command(cc, args...).CombinedOutput()
if err != nil {
continue
}
sep := "\n"
if env("GOOS", runtime.GOOS) == "windows" {
sep = "\r\n"
}
a := strings.Split(string(pre), sep)
w := 0
for _, v := range a {
if strings.HasPrefix(v, "#") {
a[w] = v
w++
}
}
predefined = strings.Join(a[:w], "\n")
args = append(opts, "-v", "-E", "-")
out, err := exec.Command(cc, args...).CombinedOutput()
if err != nil {
continue
}
a = strings.Split(string(out), sep)
for i := 0; i < len(a); {
switch a[i] {
case "#include \"...\" search starts here:":
loop:
for i = i + 1; i < len(a); {
switch v := a[i]; {
case strings.HasPrefix(v, "#") || v == "End of search list.":
break loop
default:
includePaths = append(includePaths, strings.TrimSpace(v))
i++
}
}
case "#include <...> search starts here:":
for i = i + 1; i < len(a); {
switch v := a[i]; {
case strings.HasPrefix(v, "#") || v == "End of search list.":
return predefined, includePaths, sysIncludePaths, nil
default:
sysIncludePaths = append(sysIncludePaths, strings.TrimSpace(v))
i++
}
}
default:
i++
}
}
}
return "", nil, nil, fmt.Errorf("cannot determine C compiler configuration")
}
func env(key, val string) string {
if s := os.Getenv(key); s != "" {
return s

View file

@ -86,6 +86,7 @@ build_all_targets:
GOOS=openbsd GOARCH=amd64 go test -c -o /dev/null
GOOS=windows GOARCH=386 go test -c -o /dev/null
GOOS=windows GOARCH=amd64 go test -c -o /dev/null
GOOS=windows GOARCH=arm64 go test -c -o /dev/null
devbench:
date 2>&1 | tee log-devbench

View file

@ -1507,14 +1507,16 @@ out:
cmd = exec.Command(command[0], command[1:]...)
parser = makeXParser2
case "windows":
if command[0] != "make" {
if command[0] != "make" && command[0] != "make.exe" {
return fmt.Errorf("usupported build command: %s", command[0])
}
switch s := runtime.GOOS; s {
case "windows":
argv := append([]string{"-d"}, command[1:]...)
command[0] += ".exe"
if !strings.HasSuffix(command[0], ".exe") {
command[0] += ".exe"
}
cmd = exec.Command(command[0], argv...)
parser = makeDParser
break out

View file

@ -1491,7 +1491,7 @@ func (p *project) layoutDefines() error {
}
name = p.scope.take(cc.String(name))
p.defines[nm] = define{name, val}
p.defineLines = append(p.defineLines, fmt.Sprintf("%s = %s", name, src))
p.defineLines = append(p.defineLines, fmt.Sprintf("%s = %s // %v:", name, src, p.pos(m)))
}
}
return nil

16
vendor/modernc.org/libc/Makefile generated vendored
View file

@ -36,6 +36,7 @@ all:
GOOS=openbsd GOARCH=amd64 go build
GOOS=windows GOARCH=386 go build
GOOS=windows GOARCH=amd64 go build
GOOS=windows GOARCH=arm64 go build
go vet -unsafeptr=false 2>&1 | grep -v $(ngrep) || true
golint 2>&1 | grep -v $(ngrep) || true
make todo
@ -95,6 +96,10 @@ linux_s390x:
CCGO_CPP=s390x-linux-gnu-cpp TARGET_GOOS=linux TARGET_GOARCH=s390x go generate
GOOS=linux GOARCH=s390x go build -v ./...
linux_ppc64le:
CCGO_CPP=powerpc64le-linux-gnu-cpp TARGET_GOOS=linux TARGET_GOARCH=ppc64le go generate
GOOS=linux GOARCH=ppc64le go build -v ./...
# only on openbsd/amd64
openbsd_amd64:
@echo "Should be executed only on openbsd/amd64."
@ -106,6 +111,11 @@ windows_amd64:
go generate 2>&1 | tee log-generate
go build -v ./...
windows_arm64:
@echo "Should be executed only on windows/arm64."
go generate 2>&1 | tee log-generate
go build -v ./...
windows_386:
@echo "Should be executed only on linux/amd64."
CCGO_CPP=i686-w64-mingw32-cpp TARGET_GOOS=windows TARGET_GOARCH=386 go generate
@ -131,6 +141,10 @@ build_all_targets:
GOOS=linux GOARCH=arm go test -c -o /dev/null
GOOS=linux GOARCH=arm64 go build -v ./...
GOOS=linux GOARCH=arm64 go test -c -o /dev/null
GOOS=linux GOARCH=ppc64le go test -c -o /dev/null
GOOS=linux GOARCH=ppc64le go test -c -o /dev/null
GOOS=linux GOARCH=riscv64 go build -v ./...
GOOS=linux GOARCH=riscv64 go build -v ./...
GOOS=linux GOARCH=s390x go build -v ./...
GOOS=linux GOARCH=s390x go test -c -o /dev/null
GOOS=netbsd GOARCH=amd64 go build -v ./...
@ -141,6 +155,8 @@ build_all_targets:
GOOS=windows GOARCH=386 go test -c -o /dev/null
GOOS=windows GOARCH=amd64 go build -v ./...
GOOS=windows GOARCH=amd64 go test -c -o /dev/null
GOOS=windows GOARCH=arm64 go build -v ./...
GOOS=windows GOARCH=arm64 go test -c -o /dev/null
echo done
devbench:

View file

@ -117,11 +117,14 @@ var CAPI = map[string]struct{}{
"__sincosf_stret": {},
"__sincospi_stret": {},
"__sincospif_stret": {},
"__srget": {},
"__stderrp": {},
"__stdinp": {},
"__stdoutp": {},
"__strchrnul": {},
"__strncasecmp_l": {},
"__svfscanf": {},
"__swbuf": {},
"__sync_add_and_fetch_uint32": {},
"__sync_sub_and_fetch_uint32": {},
"__tolower": {},

523
vendor/modernc.org/libc/capi_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,523 @@
// Code generated by 'go generate' - DO NOT EDIT.
package libc // import "modernc.org/libc"
var CAPI = map[string]struct{}{
"_IO_putc": {},
"___errno_location": {},
"__assert_fail": {},
"__builtin___memcpy_chk": {},
"__builtin___memmove_chk": {},
"__builtin___memset_chk": {},
"__builtin___snprintf_chk": {},
"__builtin___sprintf_chk": {},
"__builtin___strcat_chk": {},
"__builtin___strcpy_chk": {},
"__builtin___strncpy_chk": {},
"__builtin___vsnprintf_chk": {},
"__builtin_abort": {},
"__builtin_abs": {},
"__builtin_add_overflowInt64": {},
"__builtin_add_overflowUint32": {},
"__builtin_add_overflowUint64": {},
"__builtin_bswap16": {},
"__builtin_bswap32": {},
"__builtin_bswap64": {},
"__builtin_bzero": {},
"__builtin_clz": {},
"__builtin_clzl": {},
"__builtin_clzll": {},
"__builtin_constant_p_impl": {},
"__builtin_copysign": {},
"__builtin_copysignf": {},
"__builtin_copysignl": {},
"__builtin_exit": {},
"__builtin_expect": {},
"__builtin_fabs": {},
"__builtin_fabsf": {},
"__builtin_fabsl": {},
"__builtin_free": {},
"__builtin_getentropy": {},
"__builtin_huge_val": {},
"__builtin_huge_valf": {},
"__builtin_inf": {},
"__builtin_inff": {},
"__builtin_infl": {},
"__builtin_isnan": {},
"__builtin_isunordered": {},
"__builtin_malloc": {},
"__builtin_memcmp": {},
"__builtin_memcpy": {},
"__builtin_memset": {},
"__builtin_mmap": {},
"__builtin_mul_overflowInt64": {},
"__builtin_mul_overflowUint128": {},
"__builtin_mul_overflowUint64": {},
"__builtin_nan": {},
"__builtin_nanf": {},
"__builtin_nanl": {},
"__builtin_object_size": {},
"__builtin_popcount": {},
"__builtin_popcountl": {},
"__builtin_prefetch": {},
"__builtin_printf": {},
"__builtin_snprintf": {},
"__builtin_sprintf": {},
"__builtin_strchr": {},
"__builtin_strcmp": {},
"__builtin_strcpy": {},
"__builtin_strlen": {},
"__builtin_sub_overflowInt64": {},
"__builtin_trap": {},
"__builtin_unreachable": {},
"__ccgo_dmesg": {},
"__ccgo_getMutexType": {},
"__ccgo_in6addr_anyp": {},
"__ccgo_pthreadAttrGetDetachState": {},
"__ccgo_pthreadMutexattrGettype": {},
"__ccgo_sqlite3_log": {},
"__cmsg_nxthdr": {},
"__ctype_b_loc": {},
"__ctype_get_mb_cur_max": {},
"__errno_location": {},
"__floatscan": {},
"__fpclassify": {},
"__fpclassifyf": {},
"__fpclassifyl": {},
"__fsmu8": {},
"__h_errno_location": {},
"__inet_aton": {},
"__intscan": {},
"__isalnum_l": {},
"__isalpha_l": {},
"__isdigit_l": {},
"__islower_l": {},
"__isnan": {},
"__isnanf": {},
"__isnanl": {},
"__isoc99_sscanf": {},
"__isprint_l": {},
"__isupper_l": {},
"__isxdigit_l": {},
"__lockfile": {},
"__lookup_ipliteral": {},
"__lookup_name": {},
"__lookup_serv": {},
"__shgetc": {},
"__shlim": {},
"__strncasecmp_l": {},
"__sync_add_and_fetch_uint32": {},
"__sync_sub_and_fetch_uint32": {},
"__syscall1": {},
"__syscall3": {},
"__syscall4": {},
"__toread": {},
"__toread_needs_stdio_exit": {},
"__uflow": {},
"__unlockfile": {},
"_exit": {},
"_longjmp": {},
"_obstack_begin": {},
"_obstack_newchunk": {},
"_setjmp": {},
"abort": {},
"abs": {},
"accept": {},
"access": {},
"acos": {},
"acosh": {},
"alarm": {},
"asin": {},
"asinh": {},
"atan": {},
"atan2": {},
"atanh": {},
"atexit": {},
"atof": {},
"atoi": {},
"atol": {},
"backtrace": {},
"backtrace_symbols_fd": {},
"bind": {},
"bsearch": {},
"bzero": {},
"calloc": {},
"ceil": {},
"ceilf": {},
"cfgetospeed": {},
"cfsetispeed": {},
"cfsetospeed": {},
"chdir": {},
"chmod": {},
"chown": {},
"clock_gettime": {},
"close": {},
"closedir": {},
"confstr": {},
"connect": {},
"copysign": {},
"copysignf": {},
"copysignl": {},
"cos": {},
"cosf": {},
"cosh": {},
"ctime": {},
"ctime_r": {},
"dlclose": {},
"dlerror": {},
"dlopen": {},
"dlsym": {},
"dup2": {},
"dup3": {},
"endpwent": {},
"environ": {},
"execvp": {},
"exit": {},
"exp": {},
"fabs": {},
"fabsf": {},
"fabsl": {},
"faccessat": {},
"fchmod": {},
"fchmodat": {},
"fchown": {},
"fchownat": {},
"fclose": {},
"fcntl": {},
"fcntl64": {},
"fdopen": {},
"ferror": {},
"fflush": {},
"fgetc": {},
"fgets": {},
"fileno": {},
"floor": {},
"fmod": {},
"fmodl": {},
"fopen": {},
"fopen64": {},
"fork": {},
"fprintf": {},
"fputc": {},
"fputs": {},
"fread": {},
"free": {},
"freeaddrinfo": {},
"frexp": {},
"fscanf": {},
"fseek": {},
"fstat": {},
"fstat64": {},
"fstatfs": {},
"fsync": {},
"ftell": {},
"ftruncate": {},
"ftruncate64": {},
"fts64_close": {},
"fts64_open": {},
"fts64_read": {},
"fts_close": {},
"fts_open": {},
"fts_read": {},
"fwrite": {},
"gai_strerror": {},
"getaddrinfo": {},
"getc": {},
"getcwd": {},
"getegid": {},
"getentropy": {},
"getenv": {},
"geteuid": {},
"getgid": {},
"getgrgid": {},
"getgrgid_r": {},
"getgrnam": {},
"getgrnam_r": {},
"gethostbyaddr": {},
"gethostbyaddr_r": {},
"gethostbyname": {},
"gethostbyname2": {},
"gethostbyname2_r": {},
"gethostbyname_r": {},
"gethostname": {},
"getnameinfo": {},
"getpeername": {},
"getpid": {},
"getpwnam": {},
"getpwnam_r": {},
"getpwuid": {},
"getpwuid_r": {},
"getrandom": {},
"getresgid": {},
"getresuid": {},
"getrlimit": {},
"getrlimit64": {},
"getrusage": {},
"getservbyname": {},
"getsockname": {},
"getsockopt": {},
"gettimeofday": {},
"getuid": {},
"gmtime_r": {},
"h_errno": {},
"htonl": {},
"htons": {},
"hypot": {},
"inet_ntoa": {},
"inet_ntop": {},
"inet_pton": {},
"initstate": {},
"initstate_r": {},
"ioctl": {},
"isalnum": {},
"isalpha": {},
"isascii": {},
"isatty": {},
"isdigit": {},
"islower": {},
"isnan": {},
"isnanf": {},
"isnanl": {},
"isprint": {},
"isupper": {},
"iswalnum": {},
"iswspace": {},
"isxdigit": {},
"kill": {},
"ldexp": {},
"link": {},
"linkat": {},
"listen": {},
"localeconv": {},
"localtime": {},
"localtime_r": {},
"log": {},
"log10": {},
"longjmp": {},
"lrand48": {},
"lseek": {},
"lseek64": {},
"lstat": {},
"lstat64": {},
"malloc": {},
"mblen": {},
"mbrtowc": {},
"mbsinit": {},
"mbstowcs": {},
"mbtowc": {},
"memchr": {},
"memcmp": {},
"memcpy": {},
"memmove": {},
"memset": {},
"mkdir": {},
"mkdirat": {},
"mkfifo": {},
"mknod": {},
"mknodat": {},
"mkostemp": {},
"mkstemp": {},
"mkstemp64": {},
"mkstemps": {},
"mkstemps64": {},
"mktime": {},
"mmap": {},
"mmap64": {},
"modf": {},
"mremap": {},
"munmap": {},
"nanf": {},
"nl_langinfo": {},
"ntohs": {},
"obstack_free": {},
"obstack_vprintf": {},
"open": {},
"open64": {},
"openat": {},
"opendir": {},
"openpty": {},
"pathconf": {},
"pause": {},
"pclose": {},
"perror": {},
"pipe": {},
"pipe2": {},
"poll": {},
"popen": {},
"posix_fadvise": {},
"pow": {},
"printf": {},
"pselect": {},
"pthread_attr_destroy": {},
"pthread_attr_getdetachstate": {},
"pthread_attr_init": {},
"pthread_attr_setdetachstate": {},
"pthread_attr_setscope": {},
"pthread_attr_setstacksize": {},
"pthread_cond_broadcast": {},
"pthread_cond_destroy": {},
"pthread_cond_init": {},
"pthread_cond_signal": {},
"pthread_cond_timedwait": {},
"pthread_cond_wait": {},
"pthread_create": {},
"pthread_detach": {},
"pthread_equal": {},
"pthread_exit": {},
"pthread_getspecific": {},
"pthread_join": {},
"pthread_key_create": {},
"pthread_key_delete": {},
"pthread_mutex_destroy": {},
"pthread_mutex_init": {},
"pthread_mutex_lock": {},
"pthread_mutex_trylock": {},
"pthread_mutex_unlock": {},
"pthread_mutexattr_destroy": {},
"pthread_mutexattr_init": {},
"pthread_mutexattr_settype": {},
"pthread_self": {},
"pthread_setspecific": {},
"putc": {},
"putchar": {},
"puts": {},
"pwrite": {},
"qsort": {},
"raise": {},
"rand": {},
"rand_r": {},
"random": {},
"random_r": {},
"read": {},
"readdir": {},
"readdir64": {},
"readlink": {},
"readlinkat": {},
"readv": {},
"realloc": {},
"reallocarray": {},
"realpath": {},
"recv": {},
"recvfrom": {},
"recvmsg": {},
"remove": {},
"rename": {},
"renameat2": {},
"rewind": {},
"rindex": {},
"rint": {},
"rmdir": {},
"round": {},
"scalbn": {},
"scalbnl": {},
"sched_yield": {},
"select": {},
"send": {},
"sendmsg": {},
"sendto": {},
"setbuf": {},
"setenv": {},
"setjmp": {},
"setlocale": {},
"setrlimit": {},
"setrlimit64": {},
"setsid": {},
"setsockopt": {},
"setstate": {},
"setvbuf": {},
"shmat": {},
"shmctl": {},
"shmdt": {},
"shutdown": {},
"sigaction": {},
"signal": {},
"sin": {},
"sinf": {},
"sinh": {},
"sleep": {},
"snprintf": {},
"socket": {},
"sprintf": {},
"sqrt": {},
"srand48": {},
"sscanf": {},
"stat": {},
"stat64": {},
"stderr": {},
"stdin": {},
"stdout": {},
"strcasecmp": {},
"strcat": {},
"strchr": {},
"strcmp": {},
"strcpy": {},
"strcspn": {},
"strdup": {},
"strerror": {},
"strerror_r": {},
"strlcat": {},
"strlcpy": {},
"strlen": {},
"strncasecmp": {},
"strncat": {},
"strncmp": {},
"strncpy": {},
"strnlen": {},
"strpbrk": {},
"strrchr": {},
"strspn": {},
"strstr": {},
"strtod": {},
"strtof": {},
"strtoimax": {},
"strtok": {},
"strtol": {},
"strtold": {},
"strtoll": {},
"strtoul": {},
"strtoull": {},
"strtoumax": {},
"symlink": {},
"symlinkat": {},
"sysconf": {},
"system": {},
"tan": {},
"tanh": {},
"tcgetattr": {},
"tcsendbreak": {},
"tcsetattr": {},
"time": {},
"tmpfile": {},
"tolower": {},
"toupper": {},
"trunc": {},
"tzset": {},
"umask": {},
"uname": {},
"ungetc": {},
"unlink": {},
"unlinkat": {},
"unsetenv": {},
"usleep": {},
"utime": {},
"utimensat": {},
"utimes": {},
"uuid_copy": {},
"uuid_generate_random": {},
"uuid_parse": {},
"uuid_unparse": {},
"vasprintf": {},
"vfprintf": {},
"vfscanf": {},
"vprintf": {},
"vsnprintf": {},
"vsprintf": {},
"vsscanf": {},
"waitpid": {},
"wcschr": {},
"wctomb": {},
"wcwidth": {},
"write": {},
"writev": {},
"zero_struct_address": {},
}

722
vendor/modernc.org/libc/capi_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,722 @@
// Code generated by 'go generate' - DO NOT EDIT.
package libc // import "modernc.org/libc"
var CAPI = map[string]struct{}{
"AccessCheck": {},
"AddAccessDeniedAce": {},
"AddAce": {},
"AreFileApisANSI": {},
"BuildCommDCBW": {},
"CancelSynchronousIo": {},
"CharLowerW": {},
"ClearCommError": {},
"CloseHandle": {},
"CopyFileW": {},
"CreateDirectoryW": {},
"CreateEventA": {},
"CreateEventW": {},
"CreateFileA": {},
"CreateFileMappingA": {},
"CreateFileMappingW": {},
"CreateFileW": {},
"CreateHardLinkW": {},
"CreateMutexW": {},
"CreatePipe": {},
"CreateProcessA": {},
"CreateProcessW": {},
"CreateThread": {},
"CreateWindowExW": {},
"DdeAbandonTransaction": {},
"DdeAccessData": {},
"DdeClientTransaction": {},
"DdeConnect": {},
"DdeCreateDataHandle": {},
"DdeCreateStringHandleW": {},
"DdeDisconnect": {},
"DdeFreeDataHandle": {},
"DdeFreeStringHandle": {},
"DdeGetData": {},
"DdeGetLastError": {},
"DdeInitializeW": {},
"DdeNameService": {},
"DdeQueryStringW": {},
"DdeUnaccessData": {},
"DdeUninitialize": {},
"DebugBreak": {},
"DefWindowProcW": {},
"DeleteCriticalSection": {},
"DeleteFileA": {},
"DeleteFileW": {},
"DestroyWindow": {},
"DeviceIoControl": {},
"DispatchMessageW": {},
"DuplicateHandle": {},
"EnterCriticalSection": {},
"EnumWindows": {},
"EqualSid": {},
"EscapeCommFunction": {},
"ExitProcess": {},
"FindClose": {},
"FindFirstFileExW": {},
"FindFirstFileW": {},
"FindNextFileW": {},
"FlushFileBuffers": {},
"FlushViewOfFile": {},
"FormatMessageA": {},
"FormatMessageW": {},
"FreeLibrary": {},
"GetACP": {},
"GetAce": {},
"GetAclInformation": {},
"GetCommModemStatus": {},
"GetCommState": {},
"GetCommandLineW": {},
"GetComputerNameExW": {},
"GetComputerNameW": {},
"GetConsoleCP": {},
"GetConsoleMode": {},
"GetConsoleScreenBufferInfo": {},
"GetCurrentDirectoryW": {},
"GetCurrentProcess": {},
"GetCurrentProcessId": {},
"GetCurrentThread": {},
"GetCurrentThreadId": {},
"GetDiskFreeSpaceA": {},
"GetDiskFreeSpaceW": {},
"GetEnvironmentVariableA": {},
"GetEnvironmentVariableW": {},
"GetExitCodeProcess": {},
"GetExitCodeThread": {},
"GetFileAttributesA": {},
"GetFileAttributesExW": {},
"GetFileAttributesW": {},
"GetFileInformationByHandle": {},
"GetFileSecurityA": {},
"GetFileSecurityW": {},
"GetFileSize": {},
"GetFileType": {},
"GetFullPathNameA": {},
"GetFullPathNameW": {},
"GetLastError": {},
"GetLengthSid": {},
"GetLogicalDriveStringsA": {},
"GetMessageW": {},
"GetModuleFileNameA": {},
"GetModuleFileNameW": {},
"GetModuleHandleA": {},
"GetModuleHandleW": {},
"GetNamedSecurityInfoW": {},
"GetOverlappedResult": {},
"GetPrivateProfileStringA": {},
"GetProcAddress": {},
"GetProcessHeap": {},
"GetProfilesDirectoryW": {},
"GetSecurityDescriptorDacl": {},
"GetSecurityDescriptorOwner": {},
"GetShortPathNameW": {},
"GetSidIdentifierAuthority": {},
"GetSidLengthRequired": {},
"GetSidSubAuthority": {},
"GetStdHandle": {},
"GetSystemInfo": {},
"GetSystemTime": {},
"GetSystemTimeAsFileTime": {},
"GetTempFileNameW": {},
"GetTempPathA": {},
"GetTempPathW": {},
"GetTickCount": {},
"GetTokenInformation": {},
"GetUserNameW": {},
"GetVersionExA": {},
"GetVersionExW": {},
"GetVolumeInformationA": {},
"GetVolumeInformationW": {},
"GetVolumeNameForVolumeMountPointW": {},
"GetWindowLongPtrW": {},
"GetWindowsDirectoryA": {},
"GlobalAddAtomW": {},
"GlobalDeleteAtom": {},
"GlobalGetAtomNameW": {},
"HeapAlloc": {},
"HeapCompact": {},
"HeapCreate": {},
"HeapDestroy": {},
"HeapFree": {},
"HeapReAlloc": {},
"HeapSize": {},
"HeapValidate": {},
"IN6_ADDR_EQUAL": {},
"IN6_IS_ADDR_V4MAPPED": {},
"ImpersonateSelf": {},
"InitializeAcl": {},
"InitializeCriticalSection": {},
"InitializeSid": {},
"IsDebuggerPresent": {},
"IsWindow": {},
"KillTimer": {},
"LeaveCriticalSection": {},
"LoadLibraryA": {},
"LoadLibraryExW": {},
"LoadLibraryW": {},
"LocalFree": {},
"LockFile": {},
"LockFileEx": {},
"MapViewOfFile": {},
"MessageBeep": {},
"MessageBoxW": {},
"MoveFileW": {},
"MsgWaitForMultipleObjectsEx": {},
"MultiByteToWideChar": {},
"NetApiBufferFree": {},
"NetGetDCName": {},
"NetUserGetInfo": {},
"OpenEventA": {},
"OpenProcessToken": {},
"OpenThreadToken": {},
"OutputDebugStringA": {},
"OutputDebugStringW": {},
"PeekConsoleInputW": {},
"PeekMessageW": {},
"PeekNamedPipe": {},
"PostMessageW": {},
"PostQuitMessage": {},
"PurgeComm": {},
"QueryPerformanceCounter": {},
"QueryPerformanceFrequency": {},
"RaiseException": {},
"ReadConsoleW": {},
"ReadFile": {},
"RegCloseKey": {},
"RegConnectRegistryW": {},
"RegCreateKeyExW": {},
"RegDeleteKeyW": {},
"RegDeleteValueW": {},
"RegEnumKeyExW": {},
"RegEnumValueW": {},
"RegOpenKeyExW": {},
"RegQueryValueExW": {},
"RegSetValueExW": {},
"RegisterClassExW": {},
"RegisterClassW": {},
"RemoveDirectoryW": {},
"ResetEvent": {},
"RevertToSelf": {},
"RtlGetVersion": {},
"SearchPathW": {},
"SendMessageTimeoutW": {},
"SendMessageW": {},
"SetCommState": {},
"SetCommTimeouts": {},
"SetConsoleCtrlHandler": {},
"SetConsoleMode": {},
"SetConsoleTextAttribute": {},
"SetCurrentDirectoryW": {},
"SetEndOfFile": {},
"SetErrorMode": {},
"SetEvent": {},
"SetFileAttributesW": {},
"SetFilePointer": {},
"SetFileTime": {},
"SetHandleInformation": {},
"SetNamedSecurityInfoA": {},
"SetThreadPriority": {},
"SetTimer": {},
"SetWindowLongPtrW": {},
"SetupComm": {},
"Sleep": {},
"SleepEx": {},
"SystemTimeToFileTime": {},
"TerminateThread": {},
"TranslateMessage": {},
"UnlockFile": {},
"UnlockFileEx": {},
"UnmapViewOfFile": {},
"UnregisterClassW": {},
"WSAAsyncSelect": {},
"WSAGetLastError": {},
"WSAStartup": {},
"WaitForInputIdle": {},
"WaitForSingleObject": {},
"WaitForSingleObjectEx": {},
"WideCharToMultiByte": {},
"WriteConsoleW": {},
"WriteFile": {},
"WspiapiFreeAddrInfo": {},
"WspiapiGetAddrInfo": {},
"WspiapiGetNameInfo": {},
"_IO_putc": {},
"_InterlockedCompareExchange": {},
"_InterlockedExchange": {},
"___errno_location": {},
"__acrt_iob_func": {},
"__assert_fail": {},
"__atomic_load_n": {},
"__atomic_store_n": {},
"__builtin___memcpy_chk": {},
"__builtin___memmove_chk": {},
"__builtin___memset_chk": {},
"__builtin___snprintf_chk": {},
"__builtin___sprintf_chk": {},
"__builtin___strcat_chk": {},
"__builtin___strcpy_chk": {},
"__builtin___strncpy_chk": {},
"__builtin___vsnprintf_chk": {},
"__builtin_abort": {},
"__builtin_abs": {},
"__builtin_add_overflow": {},
"__builtin_add_overflowInt64": {},
"__builtin_add_overflowUint32": {},
"__builtin_add_overflowUint64": {},
"__builtin_bswap16": {},
"__builtin_bswap32": {},
"__builtin_bswap64": {},
"__builtin_bzero": {},
"__builtin_clz": {},
"__builtin_clzl": {},
"__builtin_clzll": {},
"__builtin_constant_p_impl": {},
"__builtin_copysign": {},
"__builtin_copysignf": {},
"__builtin_copysignl": {},
"__builtin_exit": {},
"__builtin_expect": {},
"__builtin_fabs": {},
"__builtin_fabsf": {},
"__builtin_fabsl": {},
"__builtin_free": {},
"__builtin_getentropy": {},
"__builtin_huge_val": {},
"__builtin_huge_valf": {},
"__builtin_inf": {},
"__builtin_inff": {},
"__builtin_infl": {},
"__builtin_isnan": {},
"__builtin_isunordered": {},
"__builtin_malloc": {},
"__builtin_memcmp": {},
"__builtin_memcpy": {},
"__builtin_memset": {},
"__builtin_mmap": {},
"__builtin_mul_overflow": {},
"__builtin_mul_overflowInt64": {},
"__builtin_mul_overflowUint128": {},
"__builtin_mul_overflowUint64": {},
"__builtin_nan": {},
"__builtin_nanf": {},
"__builtin_nanl": {},
"__builtin_object_size": {},
"__builtin_popcount": {},
"__builtin_popcountl": {},
"__builtin_prefetch": {},
"__builtin_printf": {},
"__builtin_snprintf": {},
"__builtin_sprintf": {},
"__builtin_strchr": {},
"__builtin_strcmp": {},
"__builtin_strcpy": {},
"__builtin_strlen": {},
"__builtin_sub_overflow": {},
"__builtin_sub_overflowInt64": {},
"__builtin_trap": {},
"__builtin_unreachable": {},
"__ccgo_dmesg": {},
"__ccgo_getMutexType": {},
"__ccgo_in6addr_anyp": {},
"__ccgo_pthreadAttrGetDetachState": {},
"__ccgo_pthreadMutexattrGettype": {},
"__ccgo_sqlite3_log": {},
"__ctype_get_mb_cur_max": {},
"__env_rm_add": {},
"__errno_location": {},
"__imp__environ": {},
"__imp__wenviron": {},
"__isalnum_l": {},
"__isalpha_l": {},
"__isdigit_l": {},
"__islower_l": {},
"__isnan": {},
"__isnanf": {},
"__isnanl": {},
"__isoc99_sscanf": {},
"__isprint_l": {},
"__isspace_l": {},
"__isxdigit_l": {},
"__mingw_vfprintf": {},
"__mingw_vfscanf": {},
"__mingw_vfwprintf": {},
"__mingw_vfwscanf": {},
"__mingw_vprintf": {},
"__mingw_vsnprintf": {},
"__mingw_vsnwprintf": {},
"__mingw_vsprintf": {},
"__mingw_vsscanf": {},
"__mingw_vswscanf": {},
"__ms_vfscanf": {},
"__ms_vfwscanf": {},
"__ms_vscanf": {},
"__ms_vsnprintf": {},
"__ms_vsscanf": {},
"__ms_vswscanf": {},
"__ms_vwscanf": {},
"__putenv": {},
"__stdio_common_vfprintf": {},
"__stdio_common_vfprintf_p": {},
"__stdio_common_vfprintf_s": {},
"__stdio_common_vfscanf": {},
"__stdio_common_vfwprintf_s": {},
"__stdio_common_vfwscanf": {},
"__stdio_common_vsnprintf_s": {},
"__stdio_common_vsnwprintf_s": {},
"__stdio_common_vsprintf": {},
"__stdio_common_vsprintf_p": {},
"__stdio_common_vsprintf_s": {},
"__stdio_common_vsscanf": {},
"__stdio_common_vswprintf": {},
"__stdio_common_vswprintf_s": {},
"__stdio_common_vswscanf": {},
"__strchrnul": {},
"__sync_add_and_fetch_uint32": {},
"__sync_sub_and_fetch_uint32": {},
"_access": {},
"_assert": {},
"_beginthread": {},
"_beginthreadex": {},
"_byteswap_uint64": {},
"_byteswap_ulong": {},
"_chmod": {},
"_chsize": {},
"_commit": {},
"_controlfp": {},
"_copysign": {},
"_endthreadex": {},
"_errno": {},
"_exit": {},
"_fileno": {},
"_findclose": {},
"_findfirst32": {},
"_findfirst64i32": {},
"_findnext32": {},
"_findnext64i32": {},
"_fstat64": {},
"_fstati64": {},
"_ftime": {},
"_ftime64": {},
"_gmtime64": {},
"_imp___environ": {},
"_iob": {},
"_isatty": {},
"_localtime64": {},
"_longjmp": {},
"_mkdir": {},
"_mktime64": {},
"_msize": {},
"_obstack_begin": {},
"_obstack_newchunk": {},
"_pclose": {},
"_popen": {},
"_putchar": {},
"_set_abort_behavior": {},
"_setjmp": {},
"_setmode": {},
"_snprintf": {},
"_snwprintf": {},
"_stat64": {},
"_stati64": {},
"_strdup": {},
"_stricmp": {},
"_strnicmp": {},
"_unlink": {},
"_vsnwprintf": {},
"_wcsicmp": {},
"_wcsnicmp": {},
"_wgetenv": {},
"_wopen": {},
"_wputenv": {},
"_wtoi": {},
"_wunlink": {},
"abort": {},
"abs": {},
"accept": {},
"access": {},
"acos": {},
"acosh": {},
"alarm": {},
"asin": {},
"asinh": {},
"atan": {},
"atan2": {},
"atanh": {},
"atexit": {},
"atof": {},
"atoi": {},
"atol": {},
"backtrace": {},
"backtrace_symbols_fd": {},
"bind": {},
"bsearch": {},
"bzero": {},
"calloc": {},
"ceil": {},
"ceilf": {},
"cfsetispeed": {},
"cfsetospeed": {},
"chdir": {},
"chmod": {},
"clock_gettime": {},
"close": {},
"closedir": {},
"closesocket": {},
"confstr": {},
"connect": {},
"copysign": {},
"copysignf": {},
"cos": {},
"cosf": {},
"cosh": {},
"dlclose": {},
"dlerror": {},
"dlopen": {},
"dlsym": {},
"dup2": {},
"environ": {},
"execvp": {},
"exit": {},
"exp": {},
"fabs": {},
"fabsf": {},
"fabsl": {},
"fchmod": {},
"fclose": {},
"fcntl": {},
"fcntl64": {},
"fdopen": {},
"ferror": {},
"fflush": {},
"fgetc": {},
"fgets": {},
"fileno": {},
"floor": {},
"fmod": {},
"fopen": {},
"fopen64": {},
"fork": {},
"fprintf": {},
"fputc": {},
"fputs": {},
"fread": {},
"free": {},
"frexp": {},
"fscanf": {},
"fseek": {},
"fstat": {},
"fstat64": {},
"fsync": {},
"ftell": {},
"ftruncate": {},
"ftruncate64": {},
"fts64_close": {},
"fts64_open": {},
"fts64_read": {},
"fts_close": {},
"fts_read": {},
"fwrite": {},
"gai_strerror": {},
"gai_strerrorA": {},
"gai_strerrorW": {},
"getc": {},
"getcwd": {},
"getentropy": {},
"getenv": {},
"gethostname": {},
"getpeername": {},
"getpid": {},
"getpwuid": {},
"getrlimit": {},
"getrlimit64": {},
"getrusage": {},
"getservbyname": {},
"getsockname": {},
"getsockopt": {},
"gettimeofday": {},
"gmtime": {},
"gmtime_r": {},
"htonl": {},
"htons": {},
"hypot": {},
"inet_ntoa": {},
"ioctl": {},
"ioctlsocket": {},
"isalnum": {},
"isalpha": {},
"isascii": {},
"isatty": {},
"isdigit": {},
"islower": {},
"isnan": {},
"isnanf": {},
"isnanl": {},
"isprint": {},
"isspace": {},
"isxdigit": {},
"kill": {},
"ldexp": {},
"link": {},
"listen": {},
"localtime": {},
"localtime_r": {},
"log": {},
"log10": {},
"longjmp": {},
"lseek": {},
"lseek64": {},
"lstat": {},
"lstat64": {},
"lstrcmpiA": {},
"lstrlenW": {},
"malloc": {},
"mblen": {},
"mbstowcs": {},
"mbtowc": {},
"memchr": {},
"memcmp": {},
"memcpy": {},
"memmove": {},
"memset": {},
"mkdir": {},
"mkfifo": {},
"mknod": {},
"mkstemp64": {},
"mkstemps": {},
"mkstemps64": {},
"mktime": {},
"mmap": {},
"mmap64": {},
"modf": {},
"mremap": {},
"munmap": {},
"ntohs": {},
"obstack_free": {},
"obstack_vprintf": {},
"open": {},
"open64": {},
"opendir": {},
"openpty": {},
"pclose": {},
"perror": {},
"pipe": {},
"popen": {},
"pow": {},
"printf": {},
"pselect": {},
"putc": {},
"putchar": {},
"putenv": {},
"puts": {},
"qsort": {},
"raise": {},
"rand": {},
"random": {},
"read": {},
"readdir": {},
"readlink": {},
"readv": {},
"realloc": {},
"reallocarray": {},
"realpath": {},
"recv": {},
"rename": {},
"rewind": {},
"rindex": {},
"rint": {},
"rmdir": {},
"round": {},
"sched_yield": {},
"select": {},
"send": {},
"setbuf": {},
"setenv": {},
"setjmp": {},
"setlocale": {},
"setmode": {},
"setrlimit": {},
"setrlimit64": {},
"setsid": {},
"setsockopt": {},
"setvbuf": {},
"shutdown": {},
"sigaction": {},
"sin": {},
"sinf": {},
"sinh": {},
"sleep": {},
"snprintf": {},
"socket": {},
"sprintf": {},
"sqrt": {},
"sscanf": {},
"stat": {},
"stat64": {},
"stderr": {},
"stdin": {},
"stdout": {},
"strcasecmp": {},
"strcat": {},
"strchr": {},
"strcmp": {},
"strcpy": {},
"strcspn": {},
"strdup": {},
"strerror": {},
"strlen": {},
"strncmp": {},
"strncpy": {},
"strpbrk": {},
"strrchr": {},
"strstr": {},
"strtod": {},
"strtol": {},
"strtoul": {},
"symlink": {},
"sysconf": {},
"system": {},
"tan": {},
"tanh": {},
"tcgetattr": {},
"tcsendbreak": {},
"tcsetattr": {},
"time": {},
"timezone": {},
"tolower": {},
"toupper": {},
"trunc": {},
"tzset": {},
"umask": {},
"uname": {},
"ungetc": {},
"unlink": {},
"unsetenv": {},
"usleep": {},
"utime": {},
"utimes": {},
"vasprintf": {},
"vfprintf": {},
"vprintf": {},
"vsnprintf": {},
"vsprintf": {},
"waitpid": {},
"wcrtomb": {},
"wcschr": {},
"wcscmp": {},
"wcscpy": {},
"wcsicmp": {},
"wcslen": {},
"wcsncmp": {},
"wcsrtombs": {},
"wcstombs": {},
"wctomb": {},
"wcwidth": {},
"write": {},
"wsprintfA": {},
"wsprintfW": {},
}

5
vendor/modernc.org/libc/errno/capi_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo errno/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o errno/errno_linux_ppc64le.go -pkgname errno', DO NOT EDIT.
package errno
var CAPI = map[string]struct{}{}

5
vendor/modernc.org/libc/errno/capi_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo errno\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 errno\errno_windows_arm64.go -pkgname errno', DO NOT EDIT.
package errno
var CAPI = map[string]struct{}{}

201
vendor/modernc.org/libc/errno/errno_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,201 @@
// Code generated by 'ccgo errno/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o errno/errno_linux_ppc64le.go -pkgname errno', DO NOT EDIT.
package errno
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
E2BIG = 7 // errno-base.h:11:1:
EACCES = 13 // errno-base.h:17:1:
EADDRINUSE = 98 // errno.h:81:1:
EADDRNOTAVAIL = 99 // errno.h:82:1:
EADV = 68 // errno.h:51:1:
EAFNOSUPPORT = 97 // errno.h:80:1:
EAGAIN = 11 // errno-base.h:15:1:
EALREADY = 114 // errno.h:97:1:
EBADE = 52 // errno.h:33:1:
EBADF = 9 // errno-base.h:13:1:
EBADFD = 77 // errno.h:60:1:
EBADMSG = 74 // errno.h:57:1:
EBADR = 53 // errno.h:34:1:
EBADRQC = 56 // errno.h:37:1:
EBADSLT = 57 // errno.h:38:1:
EBFONT = 59 // errno.h:42:1:
EBUSY = 16 // errno-base.h:20:1:
ECANCELED = 125 // errno.h:109:1:
ECHILD = 10 // errno-base.h:14:1:
ECHRNG = 44 // errno.h:25:1:
ECOMM = 70 // errno.h:53:1:
ECONNABORTED = 103 // errno.h:86:1:
ECONNREFUSED = 111 // errno.h:94:1:
ECONNRESET = 104 // errno.h:87:1:
EDEADLK = 35 // errno.h:7:1:
EDEADLOCK = 58 // errno.h:8:1:
EDESTADDRREQ = 89 // errno.h:72:1:
EDOM = 33 // errno-base.h:37:1:
EDOTDOT = 73 // errno.h:56:1:
EDQUOT = 122 // errno.h:105:1:
EEXIST = 17 // errno-base.h:21:1:
EFAULT = 14 // errno-base.h:18:1:
EFBIG = 27 // errno-base.h:31:1:
EHOSTDOWN = 112 // errno.h:95:1:
EHOSTUNREACH = 113 // errno.h:96:1:
EHWPOISON = 133 // errno.h:121:1:
EIDRM = 43 // errno.h:24:1:
EILSEQ = 84 // errno.h:67:1:
EINPROGRESS = 115 // errno.h:98:1:
EINTR = 4 // errno-base.h:8:1:
EINVAL = 22 // errno-base.h:26:1:
EIO = 5 // errno-base.h:9:1:
EISCONN = 106 // errno.h:89:1:
EISDIR = 21 // errno-base.h:25:1:
EISNAM = 120 // errno.h:103:1:
EKEYEXPIRED = 127 // errno.h:111:1:
EKEYREJECTED = 129 // errno.h:113:1:
EKEYREVOKED = 128 // errno.h:112:1:
EL2HLT = 51 // errno.h:32:1:
EL2NSYNC = 45 // errno.h:26:1:
EL3HLT = 46 // errno.h:27:1:
EL3RST = 47 // errno.h:28:1:
ELIBACC = 79 // errno.h:62:1:
ELIBBAD = 80 // errno.h:63:1:
ELIBEXEC = 83 // errno.h:66:1:
ELIBMAX = 82 // errno.h:65:1:
ELIBSCN = 81 // errno.h:64:1:
ELNRNG = 48 // errno.h:29:1:
ELOOP = 40 // errno.h:21:1:
EMEDIUMTYPE = 124 // errno.h:108:1:
EMFILE = 24 // errno-base.h:28:1:
EMLINK = 31 // errno-base.h:35:1:
EMSGSIZE = 90 // errno.h:73:1:
EMULTIHOP = 72 // errno.h:55:1:
ENAMETOOLONG = 36 // errno.h:8:1:
ENAVAIL = 119 // errno.h:102:1:
ENETDOWN = 100 // errno.h:83:1:
ENETRESET = 102 // errno.h:85:1:
ENETUNREACH = 101 // errno.h:84:1:
ENFILE = 23 // errno-base.h:27:1:
ENOANO = 55 // errno.h:36:1:
ENOBUFS = 105 // errno.h:88:1:
ENOCSI = 50 // errno.h:31:1:
ENODATA = 61 // errno.h:44:1:
ENODEV = 19 // errno-base.h:23:1:
ENOENT = 2 // errno-base.h:6:1:
ENOEXEC = 8 // errno-base.h:12:1:
ENOKEY = 126 // errno.h:110:1:
ENOLCK = 37 // errno.h:9:1:
ENOLINK = 67 // errno.h:50:1:
ENOMEDIUM = 123 // errno.h:107:1:
ENOMEM = 12 // errno-base.h:16:1:
ENOMSG = 42 // errno.h:23:1:
ENONET = 64 // errno.h:47:1:
ENOPKG = 65 // errno.h:48:1:
ENOPROTOOPT = 92 // errno.h:75:1:
ENOSPC = 28 // errno-base.h:32:1:
ENOSR = 63 // errno.h:46:1:
ENOSTR = 60 // errno.h:43:1:
ENOSYS = 38 // errno.h:18:1:
ENOTBLK = 15 // errno-base.h:19:1:
ENOTCONN = 107 // errno.h:90:1:
ENOTDIR = 20 // errno-base.h:24:1:
ENOTEMPTY = 39 // errno.h:20:1:
ENOTNAM = 118 // errno.h:101:1:
ENOTRECOVERABLE = 131 // errno.h:117:1:
ENOTSOCK = 88 // errno.h:71:1:
ENOTSUP = 95 // errno.h:30:1:
ENOTTY = 25 // errno-base.h:29:1:
ENOTUNIQ = 76 // errno.h:59:1:
ENXIO = 6 // errno-base.h:10:1:
EOPNOTSUPP = 95 // errno.h:78:1:
EOVERFLOW = 75 // errno.h:58:1:
EOWNERDEAD = 130 // errno.h:116:1:
EPERM = 1 // errno-base.h:5:1:
EPFNOSUPPORT = 96 // errno.h:79:1:
EPIPE = 32 // errno-base.h:36:1:
EPROTO = 71 // errno.h:54:1:
EPROTONOSUPPORT = 93 // errno.h:76:1:
EPROTOTYPE = 91 // errno.h:74:1:
ERANGE = 34 // errno-base.h:38:1:
EREMCHG = 78 // errno.h:61:1:
EREMOTE = 66 // errno.h:49:1:
EREMOTEIO = 121 // errno.h:104:1:
ERESTART = 85 // errno.h:68:1:
ERFKILL = 132 // errno.h:119:1:
EROFS = 30 // errno-base.h:34:1:
ESHUTDOWN = 108 // errno.h:91:1:
ESOCKTNOSUPPORT = 94 // errno.h:77:1:
ESPIPE = 29 // errno-base.h:33:1:
ESRCH = 3 // errno-base.h:7:1:
ESRMNT = 69 // errno.h:52:1:
ESTALE = 116 // errno.h:99:1:
ESTRPIPE = 86 // errno.h:69:1:
ETIME = 62 // errno.h:45:1:
ETIMEDOUT = 110 // errno.h:93:1:
ETOOMANYREFS = 109 // errno.h:92:1:
ETXTBSY = 26 // errno-base.h:30:1:
EUCLEAN = 117 // errno.h:100:1:
EUNATCH = 49 // errno.h:30:1:
EUSERS = 87 // errno.h:70:1:
EWOULDBLOCK = 11 // errno.h:22:1:
EXDEV = 18 // errno-base.h:22:1:
EXFULL = 54 // errno.h:35:1:
X_ARCH_PPC = 1 // <predefined>:198:1:
X_ARCH_PPC64 = 1 // <predefined>:402:1:
X_ARCH_PPCGR = 1 // <predefined>:15:1:
X_ARCH_PPCSQ = 1 // <predefined>:43:1:
X_ARCH_PWR4 = 1 // <predefined>:381:1:
X_ARCH_PWR5 = 1 // <predefined>:90:1:
X_ARCH_PWR5X = 1 // <predefined>:137:1:
X_ARCH_PWR6 = 1 // <predefined>:91:1:
X_ARCH_PWR7 = 1 // <predefined>:92:1:
X_ARCH_PWR8 = 1 // <predefined>:93:1:
X_ASM_GENERIC_ERRNO_BASE_H = 0 // errno-base.h:3:1:
X_ASM_GENERIC_ERRNO_H = 0 // errno.h:3:1:
X_ASM_POWERPC_ERRNO_H = 0 // errno.h:3:1:
X_ATFILE_SOURCE = 1 // features.h:342:1:
X_BITS_ERRNO_H = 1 // errno.h:20:1:
X_CALL_ELF = 2 // <predefined>:415:1:
X_CALL_LINUX = 1 // <predefined>:123:1:
X_DEFAULT_SOURCE = 1 // features.h:227:1:
X_ERRNO_H = 1 // errno.h:23:1:
X_FEATURES_H = 1 // features.h:19:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_LITTLE_ENDIAN = 1 // <predefined>:37:1:
X_LP64 = 1 // <predefined>:335:1:
X_POSIX_C_SOURCE = 200809 // features.h:281:1:
X_POSIX_SOURCE = 1 // features.h:279:1:
X_STDC_PREDEF_H = 1 // <predefined>:203:1:
X_SYS_CDEFS_H = 1 // cdefs.h:19:1:
Linux = 1 // <predefined>:263:1:
Unix = 1 // <predefined>:222:1:
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__ieee128 = float64 /* <builtin>:47:21 */
var _ uint8 /* gen.c:2:13: */

363
vendor/modernc.org/libc/errno/errno_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,363 @@
// Code generated by 'ccgo errno\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 errno\errno_windows_arm64.go -pkgname errno', DO NOT EDIT.
package errno
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
DUMMYSTRUCTNAME = 0
DUMMYSTRUCTNAME1 = 0
DUMMYSTRUCTNAME2 = 0
DUMMYSTRUCTNAME3 = 0
DUMMYSTRUCTNAME4 = 0
DUMMYSTRUCTNAME5 = 0
DUMMYUNIONNAME = 0
DUMMYUNIONNAME1 = 0
DUMMYUNIONNAME2 = 0
DUMMYUNIONNAME3 = 0
DUMMYUNIONNAME4 = 0
DUMMYUNIONNAME5 = 0
DUMMYUNIONNAME6 = 0
DUMMYUNIONNAME7 = 0
DUMMYUNIONNAME8 = 0
DUMMYUNIONNAME9 = 0
E2BIG = 7
EACCES = 13
EADDRINUSE = 100
EADDRNOTAVAIL = 101
EAFNOSUPPORT = 102
EAGAIN = 11
EALREADY = 103
EBADF = 9
EBADMSG = 104
EBUSY = 16
ECANCELED = 105
ECHILD = 10
ECONNABORTED = 106
ECONNREFUSED = 107
ECONNRESET = 108
EDEADLK = 36
EDEADLOCK = 36
EDESTADDRREQ = 109
EDOM = 33
EEXIST = 17
EFAULT = 14
EFBIG = 27
EHOSTUNREACH = 110
EIDRM = 111
EILSEQ = 42
EINPROGRESS = 112
EINTR = 4
EINVAL = 22
EIO = 5
EISCONN = 113
EISDIR = 21
ELOOP = 114
EMFILE = 24
EMLINK = 31
EMSGSIZE = 115
ENAMETOOLONG = 38
ENETDOWN = 116
ENETRESET = 117
ENETUNREACH = 118
ENFILE = 23
ENOBUFS = 119
ENODATA = 120
ENODEV = 19
ENOENT = 2
ENOEXEC = 8
ENOFILE = 2
ENOLCK = 39
ENOLINK = 121
ENOMEM = 12
ENOMSG = 122
ENOPROTOOPT = 123
ENOSPC = 28
ENOSR = 124
ENOSTR = 125
ENOSYS = 40
ENOTCONN = 126
ENOTDIR = 20
ENOTEMPTY = 41
ENOTRECOVERABLE = 127
ENOTSOCK = 128
ENOTSUP = 129
ENOTTY = 25
ENXIO = 6
EOPNOTSUPP = 130
EOVERFLOW = 132
EOWNERDEAD = 133
EPERM = 1
EPIPE = 32
EPROTO = 134
EPROTONOSUPPORT = 135
EPROTOTYPE = 136
ERANGE = 34
EROFS = 30
ESPIPE = 29
ESRCH = 3
ETIME = 137
ETIMEDOUT = 138
ETXTBSY = 139
EWOULDBLOCK = 140
EXDEV = 18
MINGW_DDK_H = 0
MINGW_HAS_DDK_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
STRUNCATE = 80
UNALIGNED = 0
USE___UUIDOF = 0
WIN32 = 1
WIN64 = 1
WINNT = 1
X_AGLOBAL = 0
X_ANONYMOUS_STRUCT = 0
X_ANONYMOUS_UNION = 0
X_ARGMAX = 100
X_ARM64_ = 1
X_CONST_RETURN = 0
X_CRTNOALIAS = 0
X_CRTRESTRICT = 0
X_CRT_ALTERNATIVE_IMPORTED = 0
X_CRT_ERRNO_DEFINED = 0
X_CRT_MANAGED_HEAP_DEPRECATE = 0
X_CRT_PACKING = 8
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0
X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP = 0
X_DLL = 0
X_ERRCODE_DEFINED = 0
X_FILE_OFFSET_BITS = 64
X_INC_CORECRT = 0
X_INC_CRTDEFS = 0
X_INC_CRTDEFS_MACRO = 0
X_INC_ERRNO = 0
X_INC_MINGW_SECAPI = 0
X_INC_VADEFS = 0
X_INC__MINGW_H = 0
X_INT128_DEFINED = 0
X_INTPTR_T_DEFINED = 0
X_MT = 0
X_M_ARM64 = 1
X_PGLOBAL = 0
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
X_RSIZE_T_DEFINED = 0
X_SECURECRT_ERRCODE_VALUES_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
X_SIZE_T_DEFINED = 0
X_SSIZE_T_DEFINED = 0
X_TAGLC_ID_DEFINED = 0
X_THREADLOCALEINFO = 0
X_TIME32_T_DEFINED = 0
X_TIME64_T_DEFINED = 0
X_TIME_T_DEFINED = 0
X_UCRT = 0
X_UINTPTR_T_DEFINED = 0
X_VA_LIST_DEFINED = 0
X_W64 = 0
X_WCHAR_T_DEFINED = 0
X_WCTYPE_T_DEFINED = 0
X_WIN32 = 1
X_WIN32_WINNT = 0x601
X_WIN64 = 1
X_WINT_T = 0
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = uint16 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// This macro holds an monotonic increasing value, which indicates
// a specific fix/patch is present on trunk. This value isn't related to
// minor/major version-macros. It is increased on demand, if a big
// fix was applied to trunk. This macro gets just increased on trunk. For
// other branches its value won't be modified.
// mingw.org's version macros: these make gcc to define
// MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
// and the __mingwthr_key_dtor() function from the MinGW
// CRT in its private gthr-win32.h header.
// Set VC specific compiler target macros.
// MS does not prefix symbols by underscores for 64-bit.
// As we have to support older gcc version, which are using underscores
// as symbol prefix for x64, we have to check here for the user label
// prefix defined by gcc.
// Special case nameless struct/union.
// MinGW-w64 has some additional C99 printf/scanf feature support.
// So we add some helper macros to ease recognition of them.
// If _FORTIFY_SOURCE is enabled, some inline functions may use
// __builtin_va_arg_pack(). GCC may report an error if the address
// of such a function is used. Set _FORTIFY_VA_ARG=0 in this case.
// Enable workaround for ABI incompatibility on affected platforms
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
// Templates won't work in C, will break if secure API is not enabled, disabled
// https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
// fallback on default implementation if we can't know the size of the destination
// Include _cygwin.h if we're building a Cygwin application.
// Target specific macro replacement for type "long". In the Windows API,
// the type long is always 32 bit, even if the target is 64 bit (LLP64).
// On 64 bit Cygwin, the type long is 64 bit (LP64). So, to get the right
// sized definitions and declarations, all usage of type long in the Windows
// headers have to be replaced by the below defined macro __LONG32.
// C/C++ specific language defines.
// Note the extern. This is needed to work around GCC's
// limitations in handling dllimport attribute.
// Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's
// variadiac macro facility, because variadic macros cause syntax
// errors with --traditional-cpp.
// High byte is the major version, low byte is the minor.
// Allow both 0x1400 and 0xE00 to identify UCRT
// ===-------- vadefs.h ---------------------------------------------------===
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===-----------------------------------------------------------------------===
// Only include this if we are aiming for MSVC compatibility.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// for backward compatibility
type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
type Ssize_t = int64 /* corecrt.h:45:35 */
type Rsize_t = Size_t /* corecrt.h:52:16 */
type Intptr_t = int64 /* corecrt.h:62:35 */
type Uintptr_t = uint64 /* corecrt.h:75:44 */
type Wint_t = uint16 /* corecrt.h:106:24 */
type Wctype_t = uint16 /* corecrt.h:107:24 */
type Errno_t = int32 /* corecrt.h:113:13 */
type X__time32_t = int32 /* corecrt.h:118:14 */
type X__time64_t = int64 /* corecrt.h:123:35 */
type Time_t = X__time64_t /* corecrt.h:138:20 */
type Threadlocaleinfostruct = struct {
F_locale_pctype uintptr
F_locale_mb_cur_max int32
F_locale_lc_codepage uint32
} /* corecrt.h:430:1 */
type Pthreadlocinfo = uintptr /* corecrt.h:432:39 */
type Pthreadmbcinfo = uintptr /* corecrt.h:433:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
} /* corecrt.h:436:9 */
type X_locale_tstruct = Localeinfo_struct /* corecrt.h:439:3 */
type X_locale_t = uintptr /* corecrt.h:439:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
} /* corecrt.h:443:9 */
type LC_ID = TagLC_ID /* corecrt.h:447:3 */
type LPLC_ID = uintptr /* corecrt.h:447:9 */
type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:482:3 */
// Posix thread extensions.
// Extension defined as by report VC 10+ defines error-numbers.
// Defined as WSAETIMEDOUT.
var _ int8 /* gen.c:2:13: */

5
vendor/modernc.org/libc/fcntl/capi_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo fcntl/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o fcntl/fcntl_linux_ppc64le.go -pkgname fcntl', DO NOT EDIT.
package fcntl
var CAPI = map[string]struct{}{}

5
vendor/modernc.org/libc/fcntl/capi_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo fcntl\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 fcntl\fcntl_windows_arm64.go -pkgname fcntl', DO NOT EDIT.
package fcntl
var CAPI = map[string]struct{}{}

1103
vendor/modernc.org/libc/fcntl/fcntl_linux_ppc64le.go generated vendored Normal file

File diff suppressed because it is too large Load diff

424
vendor/modernc.org/libc/fcntl/fcntl_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,424 @@
// Code generated by 'ccgo fcntl\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 fcntl\fcntl_windows_arm64.go -pkgname fcntl', DO NOT EDIT.
package fcntl
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
DUMMYSTRUCTNAME = 0
DUMMYSTRUCTNAME1 = 0
DUMMYSTRUCTNAME2 = 0
DUMMYSTRUCTNAME3 = 0
DUMMYSTRUCTNAME4 = 0
DUMMYSTRUCTNAME5 = 0
DUMMYUNIONNAME = 0
DUMMYUNIONNAME1 = 0
DUMMYUNIONNAME2 = 0
DUMMYUNIONNAME3 = 0
DUMMYUNIONNAME4 = 0
DUMMYUNIONNAME5 = 0
DUMMYUNIONNAME6 = 0
DUMMYUNIONNAME7 = 0
DUMMYUNIONNAME8 = 0
DUMMYUNIONNAME9 = 0
F_OK = 0
MINGW_DDK_H = 0
MINGW_HAS_DDK_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
O_ACCMODE = 3
O_APPEND = 8
O_BINARY = 32768
O_CREAT = 256
O_EXCL = 1024
O_NOINHERIT = 128
O_RANDOM = 16
O_RAW = 32768
O_RDONLY = 0
O_RDWR = 2
O_SEQUENTIAL = 32
O_TEMPORARY = 64
O_TEXT = 16384
O_TRUNC = 512
O_WRONLY = 1
R_OK = 4
UNALIGNED = 0
USE___UUIDOF = 0
WIN32 = 1
WIN64 = 1
WINNT = 1
W_OK = 2
X_OK = 1
X_AGLOBAL = 0
X_ANONYMOUS_STRUCT = 0
X_ANONYMOUS_UNION = 0
X_ARGMAX = 100
X_ARM64_ = 1
X_A_ARCH = 0x20
X_A_HIDDEN = 0x02
X_A_NORMAL = 0x00
X_A_RDONLY = 0x01
X_A_SUBDIR = 0x10
X_A_SYSTEM = 0x04
X_CONST_RETURN = 0
X_CRTNOALIAS = 0
X_CRTRESTRICT = 0
X_CRT_ALTERNATIVE_IMPORTED = 0
X_CRT_DIRECTORY_DEFINED = 0
X_CRT_MANAGED_HEAP_DEPRECATE = 0
X_CRT_MEMORY_DEFINED = 0
X_CRT_PACKING = 8
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0
X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP = 0
X_DLL = 0
X_ERRCODE_DEFINED = 0
X_FILE_OFFSET_BITS = 64
X_FILE_OFFSET_BITS_SET_LSEEK = 0
X_FILE_OFFSET_BITS_SET_OFFT = 0
X_FINDDATA_T_DEFINED = 0
X_FSIZE_T_DEFINED = 0
X_INC_CORECRT = 0
X_INC_CRTDEFS = 0
X_INC_CRTDEFS_MACRO = 0
X_INC_FCNTL = 0
X_INC_MINGW_SECAPI = 0
X_INC_STRING = 0
X_INC_STRING_S = 0
X_INC_VADEFS = 0
X_INC__MINGW_H = 0
X_INT128_DEFINED = 0
X_INTPTR_T_DEFINED = 0
X_IO_H_ = 0
X_MT = 0
X_M_ARM64 = 1
X_NLSCMPERROR = 2147483647
X_NLSCMP_DEFINED = 0
X_OFF64_T_DEFINED = 0
X_OFF_T_ = 0
X_OFF_T_DEFINED = 0
X_O_ACCMODE = 3
X_O_APPEND = 0x0008
X_O_BINARY = 0x8000
X_O_CREAT = 0x0100
X_O_EXCL = 0x0400
X_O_NOINHERIT = 0x0080
X_O_RANDOM = 0x0010
X_O_RAW = 32768
X_O_RDONLY = 0x0000
X_O_RDWR = 0x0002
X_O_SEQUENTIAL = 0x0020
X_O_SHORT_LIVED = 0x1000
X_O_TEMPORARY = 0x0040
X_O_TEXT = 0x4000
X_O_TRUNC = 0x0200
X_O_U16TEXT = 0x20000
X_O_U8TEXT = 0x40000
X_O_WRONLY = 0x0001
X_O_WTEXT = 0x10000
X_PGLOBAL = 0
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
X_RSIZE_T_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
X_SIZE_T_DEFINED = 0
X_SSIZE_T_DEFINED = 0
X_TAGLC_ID_DEFINED = 0
X_THREADLOCALEINFO = 0
X_TIME32_T_DEFINED = 0
X_TIME64_T_DEFINED = 0
X_TIME_T_DEFINED = 0
X_UCRT = 0
X_UINTPTR_T_DEFINED = 0
X_VA_LIST_DEFINED = 0
X_W64 = 0
X_WCHAR_T_DEFINED = 0
X_WCTYPE_T_DEFINED = 0
X_WConst_return = 0
X_WFINDDATA_T_DEFINED = 0
X_WIN32 = 1
X_WIN32_WINNT = 0x601
X_WIN64 = 1
X_WINT_T = 0
X_WIO_DEFINED = 0
X_WSTRING_DEFINED = 0
X_WSTRING_S_DEFINED = 0
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = uint16 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// This macro holds an monotonic increasing value, which indicates
// a specific fix/patch is present on trunk. This value isn't related to
// minor/major version-macros. It is increased on demand, if a big
// fix was applied to trunk. This macro gets just increased on trunk. For
// other branches its value won't be modified.
// mingw.org's version macros: these make gcc to define
// MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
// and the __mingwthr_key_dtor() function from the MinGW
// CRT in its private gthr-win32.h header.
// Set VC specific compiler target macros.
// MS does not prefix symbols by underscores for 64-bit.
// As we have to support older gcc version, which are using underscores
// as symbol prefix for x64, we have to check here for the user label
// prefix defined by gcc.
// Special case nameless struct/union.
// MinGW-w64 has some additional C99 printf/scanf feature support.
// So we add some helper macros to ease recognition of them.
// If _FORTIFY_SOURCE is enabled, some inline functions may use
// __builtin_va_arg_pack(). GCC may report an error if the address
// of such a function is used. Set _FORTIFY_VA_ARG=0 in this case.
// Enable workaround for ABI incompatibility on affected platforms
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
// Templates won't work in C, will break if secure API is not enabled, disabled
// https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
// fallback on default implementation if we can't know the size of the destination
// Include _cygwin.h if we're building a Cygwin application.
// Target specific macro replacement for type "long". In the Windows API,
// the type long is always 32 bit, even if the target is 64 bit (LLP64).
// On 64 bit Cygwin, the type long is 64 bit (LP64). So, to get the right
// sized definitions and declarations, all usage of type long in the Windows
// headers have to be replaced by the below defined macro __LONG32.
// C/C++ specific language defines.
// Note the extern. This is needed to work around GCC's
// limitations in handling dllimport attribute.
// Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's
// variadiac macro facility, because variadic macros cause syntax
// errors with --traditional-cpp.
// High byte is the major version, low byte is the minor.
// Allow both 0x1400 and 0xE00 to identify UCRT
// ===-------- vadefs.h ---------------------------------------------------===
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===-----------------------------------------------------------------------===
// Only include this if we are aiming for MSVC compatibility.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// for backward compatibility
type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
type Ssize_t = int64 /* corecrt.h:45:35 */
type Rsize_t = Size_t /* corecrt.h:52:16 */
type Intptr_t = int64 /* corecrt.h:62:35 */
type Uintptr_t = uint64 /* corecrt.h:75:44 */
type Wint_t = uint16 /* corecrt.h:106:24 */
type Wctype_t = uint16 /* corecrt.h:107:24 */
type Errno_t = int32 /* corecrt.h:113:13 */
type X__time32_t = int32 /* corecrt.h:118:14 */
type X__time64_t = int64 /* corecrt.h:123:35 */
type Time_t = X__time64_t /* corecrt.h:138:20 */
type Threadlocaleinfostruct = struct {
F_locale_pctype uintptr
F_locale_mb_cur_max int32
F_locale_lc_codepage uint32
} /* corecrt.h:430:1 */
type Pthreadlocinfo = uintptr /* corecrt.h:432:39 */
type Pthreadmbcinfo = uintptr /* corecrt.h:433:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
} /* corecrt.h:436:9 */
type X_locale_tstruct = Localeinfo_struct /* corecrt.h:439:3 */
type X_locale_t = uintptr /* corecrt.h:439:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
} /* corecrt.h:443:9 */
type LC_ID = TagLC_ID /* corecrt.h:447:3 */
type LPLC_ID = uintptr /* corecrt.h:447:9 */
type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:482:3 */
type X_fsize_t = uint32 /* io.h:29:25 */
type X_finddata32_t = struct {
Fattrib uint32
Ftime_create X__time32_t
Ftime_access X__time32_t
Ftime_write X__time32_t
Fsize X_fsize_t
Fname [260]int8
} /* io.h:35:3 */
type X_finddata32i64_t = struct {
Fattrib uint32
Ftime_create X__time32_t
Ftime_access X__time32_t
Ftime_write X__time32_t
Fsize int64
Fname [260]int8
F__ccgo_pad1 [4]byte
} /* io.h:44:3 */
type X_finddata64i32_t = struct {
Fattrib uint32
F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize X_fsize_t
Fname [260]int8
} /* io.h:53:3 */
type X__finddata64_t = struct {
Fattrib uint32
F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize int64
Fname [260]int8
F__ccgo_pad2 [4]byte
} /* io.h:62:3 */
type X_wfinddata32_t = struct {
Fattrib uint32
Ftime_create X__time32_t
Ftime_access X__time32_t
Ftime_write X__time32_t
Fsize X_fsize_t
Fname [260]Wchar_t
} /* io.h:94:3 */
type X_wfinddata32i64_t = struct {
Fattrib uint32
Ftime_create X__time32_t
Ftime_access X__time32_t
Ftime_write X__time32_t
Fsize int64
Fname [260]Wchar_t
} /* io.h:103:3 */
type X_wfinddata64i32_t = struct {
Fattrib uint32
F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize X_fsize_t
Fname [260]Wchar_t
F__ccgo_pad2 [4]byte
} /* io.h:112:3 */
type X_wfinddata64_t = struct {
Fattrib uint32
F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize int64
Fname [260]Wchar_t
} /* io.h:121:3 */
type X_off_t = int32 /* _mingw_off_t.h:5:16 */
type Off32_t = int32 /* _mingw_off_t.h:7:16 */
type X_off64_t = int64 /* _mingw_off_t.h:13:39 */
type Off64_t = int64 /* _mingw_off_t.h:15:39 */
type Off_t = Off64_t /* _mingw_off_t.h:24:17 */
var _ int8 /* gen.c:2:13: */

5
vendor/modernc.org/libc/fts/capi_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo fts/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o fts/fts_linux_ppc64le.go -pkgname fts', DO NOT EDIT.
package fts
var CAPI = map[string]struct{}{}

1911
vendor/modernc.org/libc/fts/fts_linux_ppc64le.go generated vendored Normal file

File diff suppressed because it is too large Load diff

5
vendor/modernc.org/libc/grp/capi_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo grp/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o grp/grp_linux_ppc64le.go -pkgname grp', DO NOT EDIT.
package grp
var CAPI = map[string]struct{}{}

791
vendor/modernc.org/libc/grp/grp_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,791 @@
// Code generated by 'ccgo grp/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o grp/grp_linux_ppc64le.go -pkgname grp', DO NOT EDIT.
package grp
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
NSS_BUFLEN_GROUP = 1024 // grp.h:114:1:
X_ARCH_PPC = 1 // <predefined>:198:1:
X_ARCH_PPC64 = 1 // <predefined>:402:1:
X_ARCH_PPCGR = 1 // <predefined>:15:1:
X_ARCH_PPCSQ = 1 // <predefined>:43:1:
X_ARCH_PWR4 = 1 // <predefined>:381:1:
X_ARCH_PWR5 = 1 // <predefined>:90:1:
X_ARCH_PWR5X = 1 // <predefined>:137:1:
X_ARCH_PWR6 = 1 // <predefined>:91:1:
X_ARCH_PWR7 = 1 // <predefined>:92:1:
X_ARCH_PWR8 = 1 // <predefined>:93:1:
X_ATFILE_SOURCE = 1 // features.h:342:1:
X_BITS_TIME64_H = 1 // time64.h:24:1:
X_BITS_TYPESIZES_H = 1 // typesizes.h:24:1:
X_BITS_TYPES_H = 1 // types.h:24:1:
X_BSD_SIZE_T_ = 0 // stddef.h:189:1:
X_BSD_SIZE_T_DEFINED_ = 0 // stddef.h:192:1:
X_CALL_ELF = 2 // <predefined>:415:1:
X_CALL_LINUX = 1 // <predefined>:123:1:
X_DEFAULT_SOURCE = 1 // features.h:227:1:
X_FEATURES_H = 1 // features.h:19:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_GCC_SIZE_T = 0 // stddef.h:195:1:
X_GRP_H = 1 // grp.h:23:1:
X_LITTLE_ENDIAN = 1 // <predefined>:37:1:
X_LP64 = 1 // <predefined>:335:1:
X_POSIX_C_SOURCE = 200809 // features.h:281:1:
X_POSIX_SOURCE = 1 // features.h:279:1:
X_SIZET_ = 0 // stddef.h:196:1:
X_SIZE_T = 0 // stddef.h:183:1:
X_SIZE_T_ = 0 // stddef.h:188:1:
X_SIZE_T_DECLARED = 0 // stddef.h:193:1:
X_SIZE_T_DEFINED = 0 // stddef.h:191:1:
X_SIZE_T_DEFINED_ = 0 // stddef.h:190:1:
X_STDC_PREDEF_H = 1 // <predefined>:203:1:
X_SYS_CDEFS_H = 1 // cdefs.h:19:1:
X_SYS_SIZE_T_H = 0 // stddef.h:184:1:
X_T_SIZE = 0 // stddef.h:186:1:
X_T_SIZE_ = 0 // stddef.h:185:1:
Linux = 1 // <predefined>:263:1:
Unix = 1 // <predefined>:222:1:
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__ieee128 = float64 /* <builtin>:47:21 */
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// POSIX Standard: 9.2.1 Group Database Access <grp.h>
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
//
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
// Extensions to ISO C11 from TS 18661-1:2014.
// __STDC_WANT_IEC_60559_FUNCS_EXT__
// Extensions to ISO C11 from TS 18661-4:2015.
// __STDC_WANT_IEC_60559_TYPES_EXT__
// Extensions to ISO C11 from TS 18661-3:2015.
//
// _POSIX_SOURCE IEEE Std 1003.1.
// _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
// if >=199309L, add IEEE Std 1003.1b-1993;
// if >=199506L, add IEEE Std 1003.1c-1995;
// if >=200112L, all of IEEE 1003.1-2004
// if >=200809L, all of IEEE 1003.1-2008
// _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if
// Single Unix conformance is wanted, to 600 for the
// sixth revision, to 700 for the seventh revision.
// _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
// _LARGEFILE_SOURCE Some more functions for correct standard I/O.
// _LARGEFILE64_SOURCE Additional functionality from LFS for large files.
// _FILE_OFFSET_BITS=N Select default filesystem interface.
// _ATFILE_SOURCE Additional *at interfaces.
// _GNU_SOURCE All of the above, plus GNU extensions.
// _DEFAULT_SOURCE The default set of features (taking precedence over
// __STRICT_ANSI__).
//
// _FORTIFY_SOURCE Add security hardening to many library functions.
// Set to 1 or 2; 2 performs stricter checks than 1.
//
// _REENTRANT, _THREAD_SAFE
// Obsolete; equivalent to _POSIX_C_SOURCE=199506L.
//
// The `-ansi' switch to the GNU C compiler, and standards conformance
// options such as `-std=c99', define __STRICT_ANSI__. If none of
// these are defined, or if _DEFAULT_SOURCE is defined, the default is
// to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to
// 200809L, as well as enabling miscellaneous functions from BSD and
// SVID. If more than one of these are defined, they accumulate. For
// example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together
// give you ISO C, 1003.1, and 1003.2, but nothing else.
//
// These are defined by this file and are used by the
// header files to decide what to declare or define:
//
// __GLIBC_USE (F) Define things from feature set F. This is defined
// to 1 or 0; the subsequent macros are either defined
// or undefined, and those tests should be moved to
// __GLIBC_USE.
// __USE_ISOC11 Define ISO C11 things.
// __USE_ISOC99 Define ISO C99 things.
// __USE_ISOC95 Define ISO C90 AMD1 (C95) things.
// __USE_ISOCXX11 Define ISO C++11 things.
// __USE_POSIX Define IEEE Std 1003.1 things.
// __USE_POSIX2 Define IEEE Std 1003.2 things.
// __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things.
// __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things.
// __USE_XOPEN Define XPG things.
// __USE_XOPEN_EXTENDED Define X/Open Unix things.
// __USE_UNIX98 Define Single Unix V2 things.
// __USE_XOPEN2K Define XPG6 things.
// __USE_XOPEN2KXSI Define XPG6 XSI things.
// __USE_XOPEN2K8 Define XPG7 things.
// __USE_XOPEN2K8XSI Define XPG7 XSI things.
// __USE_LARGEFILE Define correct standard I/O things.
// __USE_LARGEFILE64 Define LFS things with separate names.
// __USE_FILE_OFFSET64 Define 64bit interface as default.
// __USE_MISC Define things from 4.3BSD or System V Unix.
// __USE_ATFILE Define *at interfaces and AT_* constants for them.
// __USE_GNU Define GNU extensions.
// __USE_FORTIFY_LEVEL Additional security measures used, according to level.
//
// The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are
// defined by this file unconditionally. `__GNU_LIBRARY__' is provided
// only for compatibility. All new code should use the other symbols
// to test for features.
//
// All macros listed above as possibly being defined by this file are
// explicitly undefined if they are not explicitly defined.
// Feature-test macros that are not defined by the user or compiler
// but are implied by the other feature-test macros defined (or by the
// lack of any definitions) are defined by the file.
//
// ISO C feature test macros depend on the definition of the macro
// when an affected header is included, not when the first system
// header is included, and so they are handled in
// <bits/libc-header-start.h>, which does not have a multiple include
// guard. Feature test macros that can be handled from the first
// system header included are handled here.
// Undefine everything, so we get a clean slate.
// Suppress kernel-name space pollution unless user expressedly asks
// for it.
// Convenience macro to test the version of gcc.
// Use like this:
// #if __GNUC_PREREQ (2,8)
// ... code requiring gcc 2.8 or later ...
// #endif
// Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was
// added in 2.0.
// Similarly for clang. Features added to GCC after version 4.2 may
// or may not also be available in clang, and clang's definitions of
// __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such
// features can be queried via __has_extension/__has_feature.
// Whether to use feature set F.
// _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
// _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not
// issue a warning; the expectation is that the source is being
// transitioned to use the new macro.
// If _GNU_SOURCE was defined by the user, turn on all the other features.
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
// This is to enable the ISO C2X extension.
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
// This is to enable the ISO C90 Amendment 1:1995 extension.
// If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE
// is defined, use POSIX.1-2008 (or another version depending on
// _XOPEN_SOURCE).
// Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be
// defined in all multithreaded code. GNU libc has not required this
// for many years. We now treat them as compatibility synonyms for
// _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with
// comprehensive support for multithreaded code. Using them never
// lowers the selected level of POSIX conformance, only raises it.
// The function 'gets' existed in C89, but is impossible to use
// safely. It has been removed from ISO C11 and ISO C++14. Note: for
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
// GNU formerly extended the scanf functions with modified format
// specifiers %as, %aS, and %a[...] that allocate a buffer for the
// input using malloc. This extension conflicts with ISO C99, which
// defines %a as a standalone format specifier that reads a floating-
// point number; moreover, POSIX.1-2008 provides the same feature
// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
//
// We now follow C99 unless GNU extensions are active and the compiler
// is specifically in C89 or C++98 mode (strict or not). For
// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
// old extension.
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
// on. The use of this variable is deprecated. Use __GLIBC__ and
// __GLIBC_MINOR__ now (see below) when you want to test for a specific
// GNU C library version and use the values in <gnu/lib-names.h> to get
// the sonames of the shared libraries.
// Major and minor version number of the GNU C library package. Use
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
// The GNU libc does not support any K&R compilers or the traditional mode
// of ISO C compilers anymore. Check for some of the combinations not
// anymore supported.
// Some user header file might have defined this before.
// All functions, except those with callbacks or those that
// synchronize memory, are leaf functions.
// GCC can always grok prototypes. For C++ programs we add throw()
// to help it optimize the function calls. But this works only with
// gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions
// as non-throwing using a function attribute since programs can use
// the -fexceptions options for C code as well.
// Compilers that are not clang may object to
// #if defined __clang__ && __has_extension(...)
// even though they do not need to evaluate the right-hand side of the &&.
// These two macros are not used in glibc anymore. They are kept here
// only because some other projects expect the macros to be defined.
// For these things, GCC behaves the ANSI way normally,
// and the non-ANSI way under -traditional.
// This is not a typedef so `const __ptr_t' does the right thing.
// C++ needs to know that types and declarations are C, not C++.
// Fortify support.
// Support for flexible arrays.
// Headers that should use flexible arrays only if they're "real"
// (e.g. only if they won't affect sizeof()) should test
// #if __glibc_c99_flexarr_available.
// __asm__ ("xyz") is used throughout the headers to rename functions
// at the assembly language level. This is wrapped by the __REDIRECT
// macro, in order to support compilers that can do this some other
// way. When compilers don't support asm-names at all, we have to do
// preprocessor tricks instead (which don't have exactly the right
// semantics, but it's the best we can do).
//
// Example:
// int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid);
//
// #elif __SOME_OTHER_COMPILER__
//
// # define __REDIRECT(name, proto, alias) name proto; _Pragma("let " #name " = " #alias)
// GCC has various useful declarations that can be made with the
// `__attribute__' syntax. All of the ways we use this do fine if
// they are omitted for compilers that don't understand it.
// At some point during the gcc 2.96 development the `malloc' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// Tell the compiler which arguments to an allocation function
// indicate the size of the allocation.
// At some point during the gcc 2.96 development the `pure' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// This declaration tells the compiler that the value is constant.
// At some point during the gcc 3.1 development the `used' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// Since version 3.2, gcc allows marking deprecated functions.
// Since version 4.5, gcc also allows one to specify the message printed
// when a deprecated function is used. clang claims to be gcc 4.2, but
// may also support this feature.
// At some point during the gcc 2.8 development the `format_arg' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// If several `format_arg' attributes are given for the same function, in
// gcc-3.0 and older, all but the last one are ignored. In newer gccs,
// all designated arguments are considered.
// At some point during the gcc 2.97 development the `strfmon' format
// attribute for functions was introduced. We don't want to use it
// unconditionally (although this would be possible) since it
// generates warnings.
// The nonull function attribute allows to mark pointer parameters which
// must not be NULL.
// If fortification mode, we warn about unused results of certain
// function calls which can lead to problems.
// Forces a function to be always inlined.
// The Linux kernel defines __always_inline in stddef.h (283d7573), and
// it conflicts with this definition. Therefore undefine it first to
// allow either header to be included first.
// Associate error messages with the source location of the call site rather
// than with the source location inside the function.
// GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
// inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__
// or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
// older than 4.3 may define these macros and still not guarantee GNU inlining
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
// __extern_always_inline function to some other vararg function.
// It is possible to compile containing GCC extensions even if GCC is
// run in pedantic mode if the uses are carefully marked using the
// `__extension__' keyword. But this is not generally available before
// version 2.8.
// __restrict is known in EGCS 1.2 and above.
// ISO C99 also allows to declare arrays as non-overlapping. The syntax is
// array_name[restrict]
// GCC 3.1 supports this.
// Describes a char array whose address can safely be passed as the first
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
// Undefine (also defined in libc-symbols.h).
// Copies attributes from the declaration or type referenced by
// the argument.
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
//
// Note: MESSAGE must be a _single_ string; concatenation of string
// literals is not supported.
// Generic selection (ISO C11) is a C-only feature, available in GCC
// since version 4.9. Previous versions do not provide generic
// selection, even though they might set __STDC_VERSION__ to 201112L,
// when in -std=c11 mode. Thus, we must check for !defined __GNUC__
// when testing __STDC_VERSION__ for generic selection support.
// On the other hand, Clang also defines __GNUC__, so a clang-specific
// check is required to enable the use of generic selection.
// If we don't have __REDIRECT, prototypes will be missing if
// __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64].
// Decide whether we can define 'extern inline' functions in headers.
// This is here only because every header file already includes this one.
// Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
// <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
// that will always return failure (and set errno to ENOSYS).
// This file is automatically generated.
// This file selects the right generated file of `__stub_FUNCTION' macros
// based on the architecture being compiled for.
// Determine the wordsize from the preprocessor defines.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Bit size of the time_t type at glibc build time, general case.
// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
type X__u_char = uint8 /* types.h:31:23 */
type X__u_short = uint16 /* types.h:32:28 */
type X__u_int = uint32 /* types.h:33:22 */
type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
type X__int8_t = int8 /* types.h:37:21 */
type X__uint8_t = uint8 /* types.h:38:23 */
type X__int16_t = int16 /* types.h:39:26 */
type X__uint16_t = uint16 /* types.h:40:28 */
type X__int32_t = int32 /* types.h:41:20 */
type X__uint32_t = uint32 /* types.h:42:22 */
type X__int64_t = int64 /* types.h:44:25 */
type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
type X__int_least8_t = X__int8_t /* types.h:52:18 */
type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
type X__int_least16_t = X__int16_t /* types.h:54:19 */
type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
type X__int_least32_t = X__int32_t /* types.h:56:19 */
type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
type X__int_least64_t = X__int64_t /* types.h:58:19 */
type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
type X__quad_t = int64 /* types.h:63:18 */
type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
type X__intmax_t = int64 /* types.h:72:18 */
type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
// of those macros must use the following macros for underlying types.
// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
// variants of each of the following integer types on this machine.
//
// 16 -- "natural" 16-bit type (always short)
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
// conventional uses of `long' or `long long' type modifiers match the
// types we define, even when a less-adorned type would be the same size.
// This matters for (somewhat) portably writing printf/scanf formats for
// these types, where using the appropriate l or ll format modifiers can
// make the typedefs and the formats match up across all GNU platforms. If
// we used `long' when it's 64 bits where `long long' is expected, then the
// compiler would warn about the formats not matching the argument types,
// and the programmer changing them to shut up the compiler would break the
// program's portability.
//
// Here we assume what is presently the case in all the GCC configurations
// we support: long long is always 64 bits, long is always word/address size,
// and int is always 32 bits.
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Generic version.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Tell the libc code that off_t and off64_t are actually the same type
// for all ABI purposes, even if possibly expressed as different base types
// for C type-checking purposes.
// Same for ino_t and ino64_t.
// And for rlim_t and rlim64_t.
// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
// bits/time64.h -- underlying types for __time64_t. Generic version.
// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Define __TIME64_T_TYPE so that it is always a 64-bit type.
// If we already have 64-bit time type then use it.
type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
type X__blkcnt_t = int64 /* types.h:179:28 */
type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
type X__fsblkcnt_t = uint64 /* types.h:183:30 */
type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
type X__fsfilcnt_t = uint64 /* types.h:187:30 */
type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
type X__fsword_t = int64 /* types.h:191:28 */
type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
type X__sig_atomic_t = int32 /* types.h:214:13 */
// Wide character type.
// Locale-writers should change this as necessary to
// be big enough to hold unique values not between 0 and 127,
// and not (wchar_t) -1, for each defined multibyte character.
// Define this type if we are doing the whole job,
// or if we want this type in particular.
// A null pointer constant.
// For the Single Unix specification we must define this type here.
type Gid_t = X__gid_t /* grp.h:37:17 */
// The group structure.
type Group = struct {
Fgr_name uintptr
Fgr_passwd uintptr
Fgr_gid X__gid_t
F__ccgo_pad1 [4]byte
Fgr_mem uintptr
} /* grp.h:42:1 */
var _ uint8 /* gen.c:2:13: */

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo langinfo/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o langinfo/langinfo_linux_ppc64le.go -pkgname langinfo', DO NOT EDIT.
package langinfo
var CAPI = map[string]struct{}{}

File diff suppressed because it is too large Load diff

4
vendor/modernc.org/libc/libc64.go generated vendored
View file

@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build amd64 || arm64 || riscv64 || s390x
// +build amd64 arm64 riscv64 s390x
//go:build amd64 || arm64 || ppc64le || riscv64 || s390x
// +build amd64 arm64 ppc64le riscv64 s390x
package libc // import "modernc.org/libc"

View file

@ -2028,3 +2028,18 @@ func X__sincospif_stret(t *TLS, f float32) struct{ F__sinval, F__cosval float32
func X__sincospi_stret(t *TLS, f float64) struct{ F__sinval, F__cosval float64 } {
panic(todo(""))
}
// int __srget(FILE *);
func X__srget(t *TLS, f uintptr) int32 {
panic(todo(""))
}
// int __svfscanf(FILE *, const char *, va_list) __scanflike(2, 0);
func X__svfscanf(t *TLS, f uintptr, p, q uintptr) int32 {
panic(todo(""))
}
// int __swbuf(int, FILE *);
func X__swbuf(t *TLS, i int32, f uintptr) int32 {
panic(todo(""))
}

487
vendor/modernc.org/libc/libc_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,487 @@
// Copyright 2020 The Libc Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package libc // import "modernc.org/libc"
import (
"os"
"strings"
"unicode"
"unsafe"
"golang.org/x/sys/unix"
"modernc.org/libc/errno"
"modernc.org/libc/fcntl"
"modernc.org/libc/signal"
"modernc.org/libc/sys/types"
"modernc.org/libc/wctype"
)
// int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
func Xsigaction(t *TLS, signum int32, act, oldact uintptr) int32 {
// musl/arch/x86_64/ksigaction.h
//
// struct k_sigaction {
// void (*handler)(int);
// unsigned long flags;
// void (*restorer)(void);
// unsigned mask[2];
// };
type k_sigaction struct {
handler uintptr
flags ulong
restorer uintptr
mask [2]uint32
}
var kact, koldact uintptr
if act != 0 {
sz := int(unsafe.Sizeof(k_sigaction{}))
kact = t.Alloc(sz)
defer t.Free(sz)
*(*k_sigaction)(unsafe.Pointer(kact)) = k_sigaction{
handler: (*signal.Sigaction)(unsafe.Pointer(act)).F__sigaction_handler.Fsa_handler,
flags: ulong((*signal.Sigaction)(unsafe.Pointer(act)).Fsa_flags),
restorer: (*signal.Sigaction)(unsafe.Pointer(act)).Fsa_restorer,
}
Xmemcpy(t, kact+unsafe.Offsetof(k_sigaction{}.mask), act+unsafe.Offsetof(signal.Sigaction{}.Fsa_mask), types.Size_t(unsafe.Sizeof(k_sigaction{}.mask)))
}
if oldact != 0 {
panic(todo(""))
}
if _, _, err := unix.Syscall6(unix.SYS_RT_SIGACTION, uintptr(signum), kact, koldact, unsafe.Sizeof(k_sigaction{}.mask), 0, 0); err != 0 {
t.setErrno(err)
return -1
}
if oldact != 0 {
panic(todo(""))
}
return 0
}
// int fcntl(int fd, int cmd, ... /* arg */ );
func Xfcntl64(t *TLS, fd, cmd int32, args uintptr) int32 {
var arg uintptr
if args != 0 {
arg = *(*uintptr)(unsafe.Pointer(args))
}
switch cmd {
case unix.F_GETLK64: // 0xc
cmd = unix.F_GETLK // 0x5
case unix.F_SETLK64: // 0xd
cmd = unix.F_SETLK // 0x6
case unix.F_SETLKW64: // 0xe
cmd = unix.F_SETLKW // 0x7
}
if cmd == fcntl.F_SETFL {
arg |= unix.O_LARGEFILE
}
n, _, err := unix.Syscall(unix.SYS_FCNTL, uintptr(fd), uintptr(cmd), arg)
if err != 0 {
// if dmesgs {
// dmesg("%v: fd %v cmd %v", origin(1), fcntlCmdStr(fd), cmd)
// }
t.setErrno(err)
return -1
}
// if dmesgs {
// dmesg("%v: %d %s %#x: %d", origin(1), fd, fcntlCmdStr(cmd), arg, n)
// }
return int32(n)
}
// int lstat(const char *pathname, struct stat *statbuf);
func Xlstat64(t *TLS, pathname, statbuf uintptr) int32 {
if _, _, err := unix.Syscall(unix.SYS_LSTAT, pathname, statbuf, 0); err != 0 {
// if dmesgs {
// dmesg("%v: %q: %v", origin(1), GoString(pathname), err)
// }
t.setErrno(err)
return -1
}
// if dmesgs {
// dmesg("%v: %q: ok", origin(1), GoString(pathname))
// }
return 0
}
// int stat(const char *pathname, struct stat *statbuf);
func Xstat64(t *TLS, pathname, statbuf uintptr) int32 {
if _, _, err := unix.Syscall(unix.SYS_STAT, pathname, statbuf, 0); err != 0 {
// if dmesgs {
// dmesg("%v: %q: %v", origin(1), GoString(pathname), err)
// }
t.setErrno(err)
return -1
}
// if dmesgs {
// dmesg("%v: %q: ok", origin(1), GoString(pathname))
// }
return 0
}
// int fstat(int fd, struct stat *statbuf);
func Xfstat64(t *TLS, fd int32, statbuf uintptr) int32 {
if _, _, err := unix.Syscall(unix.SYS_FSTAT, uintptr(fd), statbuf, 0); err != 0 {
// if dmesgs {
// dmesg("%v: fd %d: %v", origin(1), fd, err)
// }
t.setErrno(err)
return -1
}
// if dmesgs {
// dmesg("%v: %d size %#x: ok\n%+v", origin(1), fd, (*stat.Stat)(unsafe.Pointer(statbuf)).Fst_size, (*stat.Stat)(unsafe.Pointer(statbuf)))
// }
return 0
}
func Xmmap(t *TLS, addr uintptr, length types.Size_t, prot, flags, fd int32, offset types.Off_t) uintptr {
return Xmmap64(t, addr, length, prot, flags, fd, offset)
}
// void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);
func Xmmap64(t *TLS, addr uintptr, length types.Size_t, prot, flags, fd int32, offset types.Off_t) uintptr {
data, _, err := unix.Syscall6(unix.SYS_MMAP, addr, uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))
if err != 0 {
// if dmesgs {
// dmesg("%v: %v", origin(1), err)
// }
t.setErrno(err)
return ^uintptr(0) // (void*)-1
}
// if dmesgs {
// dmesg("%v: %#x", origin(1), data)
// }
return data
}
// void *mremap(void *old_address, size_t old_size, size_t new_size, int flags, ... /* void *new_address */);
func Xmremap(t *TLS, old_address uintptr, old_size, new_size types.Size_t, flags int32, args uintptr) uintptr {
var arg uintptr
if args != 0 {
arg = *(*uintptr)(unsafe.Pointer(args))
}
data, _, err := unix.Syscall6(unix.SYS_MREMAP, old_address, uintptr(old_size), uintptr(new_size), uintptr(flags), arg, 0)
if err != 0 {
// if dmesgs {
// dmesg("%v: %v", origin(1), err)
// }
t.setErrno(err)
return ^uintptr(0) // (void*)-1
}
// if dmesgs {
// dmesg("%v: %#x", origin(1), data)
// }
return data
}
// int ftruncate(int fd, off_t length);
func Xftruncate64(t *TLS, fd int32, length types.Off_t) int32 {
if _, _, err := unix.Syscall(unix.SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0); err != 0 {
// if dmesgs {
// dmesg("%v: fd %d: %v", origin(1), fd, err)
// }
t.setErrno(err)
return -1
}
// if dmesgs {
// dmesg("%v: %d %#x: ok", origin(1), fd, length)
// }
return 0
}
// off64_t lseek64(int fd, off64_t offset, int whence);
func Xlseek64(t *TLS, fd int32, offset types.Off_t, whence int32) types.Off_t {
n, _, err := unix.Syscall(unix.SYS_LSEEK, uintptr(fd), uintptr(offset), uintptr(whence))
if err != 0 {
// if dmesgs {
// dmesg("%v: fd %v, off %#x, whence %v: %v", origin(1), fd, offset, whenceStr(whence), err)
// }
t.setErrno(err)
return -1
}
// if dmesgs {
// dmesg("%v: fd %v, off %#x, whence %v: %#x", origin(1), fd, offset, whenceStr(whence), n)
// }
return types.Off_t(n)
}
// int utime(const char *filename, const struct utimbuf *times);
func Xutime(t *TLS, filename, times uintptr) int32 {
if _, _, err := unix.Syscall(unix.SYS_UTIME, filename, times, 0); err != 0 {
t.setErrno(err)
return -1
}
return 0
}
// unsigned int alarm(unsigned int seconds);
func Xalarm(t *TLS, seconds uint32) uint32 {
n, _, err := unix.Syscall(unix.SYS_ALARM, uintptr(seconds), 0, 0)
if err != 0 {
panic(todo(""))
}
return uint32(n)
}
// time_t time(time_t *tloc);
func Xtime(t *TLS, tloc uintptr) types.Time_t {
n, _, err := unix.Syscall(unix.SYS_TIME, tloc, 0, 0)
if err != 0 {
t.setErrno(err)
return types.Time_t(-1)
}
if tloc != 0 {
*(*types.Time_t)(unsafe.Pointer(tloc)) = types.Time_t(n)
}
return types.Time_t(n)
}
// int getrlimit(int resource, struct rlimit *rlim);
func Xgetrlimit64(t *TLS, resource int32, rlim uintptr) int32 {
if _, _, err := unix.Syscall(unix.SYS_GETRLIMIT, uintptr(resource), uintptr(rlim), 0); err != 0 {
t.setErrno(err)
return -1
}
return 0
}
// int mkdir(const char *path, mode_t mode);
func Xmkdir(t *TLS, path uintptr, mode types.Mode_t) int32 {
if _, _, err := unix.Syscall(unix.SYS_MKDIR, path, uintptr(mode), 0); err != 0 {
t.setErrno(err)
return -1
}
// if dmesgs {
// dmesg("%v: %q: ok", origin(1), GoString(path))
// }
return 0
}
// int symlink(const char *target, const char *linkpath);
func Xsymlink(t *TLS, target, linkpath uintptr) int32 {
if _, _, err := unix.Syscall(unix.SYS_SYMLINK, target, linkpath, 0); err != 0 {
t.setErrno(err)
return -1
}
// if dmesgs {
// dmesg("%v: %q %q: ok", origin(1), GoString(target), GoString(linkpath))
// }
return 0
}
// int chmod(const char *pathname, mode_t mode)
func Xchmod(t *TLS, pathname uintptr, mode types.Mode_t) int32 {
if _, _, err := unix.Syscall(unix.SYS_CHMOD, pathname, uintptr(mode), 0); err != 0 {
t.setErrno(err)
return -1
}
// if dmesgs {
// dmesg("%v: %q %#o: ok", origin(1), GoString(pathname), mode)
// }
return 0
}
// int utimes(const char *filename, const struct timeval times[2]);
func Xutimes(t *TLS, filename, times uintptr) int32 {
if _, _, err := unix.Syscall(unix.SYS_UTIMES, filename, times, 0); err != 0 {
t.setErrno(err)
return -1
}
// if dmesgs {
// dmesg("%v: %q: ok", origin(1), GoString(filename))
// }
return 0
}
// int unlink(const char *pathname);
func Xunlink(t *TLS, pathname uintptr) int32 {
if _, _, err := unix.Syscall(unix.SYS_UNLINK, pathname, 0, 0); err != 0 {
t.setErrno(err)
return -1
}
// if dmesgs {
// dmesg("%v: %q: ok", origin(1), GoString(pathname))
// }
return 0
}
// int access(const char *pathname, int mode);
func Xaccess(t *TLS, pathname uintptr, mode int32) int32 {
if _, _, err := unix.Syscall(unix.SYS_ACCESS, pathname, uintptr(mode), 0); err != 0 {
// if dmesgs {
// dmesg("%v: %q: %v", origin(1), GoString(pathname), err)
// }
t.setErrno(err)
return -1
}
// if dmesgs {
// dmesg("%v: %q %#o: ok", origin(1), GoString(pathname), mode)
// }
return 0
}
// int rmdir(const char *pathname);
func Xrmdir(t *TLS, pathname uintptr) int32 {
if _, _, err := unix.Syscall(unix.SYS_RMDIR, pathname, 0, 0); err != 0 {
t.setErrno(err)
return -1
}
// if dmesgs {
// dmesg("%v: %q: ok", origin(1), GoString(pathname))
// }
return 0
}
// int rename(const char *oldpath, const char *newpath);
func Xrename(t *TLS, oldpath, newpath uintptr) int32 {
if _, _, err := unix.Syscall(unix.SYS_RENAME, oldpath, newpath, 0); err != 0 {
t.setErrno(err)
return -1
}
return 0
}
// int mknod(const char *pathname, mode_t mode, dev_t dev);
func Xmknod(t *TLS, pathname uintptr, mode types.Mode_t, dev types.Dev_t) int32 {
if _, _, err := unix.Syscall(unix.SYS_MKNOD, pathname, uintptr(mode), uintptr(dev)); err != 0 {
t.setErrno(err)
return -1
}
return 0
}
// int chown(const char *pathname, uid_t owner, gid_t group);
func Xchown(t *TLS, pathname uintptr, owner types.Uid_t, group types.Gid_t) int32 {
if _, _, err := unix.Syscall(unix.SYS_CHOWN, pathname, uintptr(owner), uintptr(group)); err != 0 {
t.setErrno(err)
return -1
}
return 0
}
// int link(const char *oldpath, const char *newpath);
func Xlink(t *TLS, oldpath, newpath uintptr) int32 {
if _, _, err := unix.Syscall(unix.SYS_LINK, oldpath, newpath, 0); err != 0 {
t.setErrno(err)
return -1
}
return 0
}
// int pipe(int pipefd[2]);
func Xpipe(t *TLS, pipefd uintptr) int32 {
if _, _, err := unix.Syscall(unix.SYS_PIPE, pipefd, 0, 0); err != 0 {
t.setErrno(err)
return -1
}
return 0
}
// int dup2(int oldfd, int newfd);
func Xdup2(t *TLS, oldfd, newfd int32) int32 {
n, _, err := unix.Syscall(unix.SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
if err != 0 {
t.setErrno(err)
return -1
}
return int32(n)
}
// ssize_t readlink(const char *restrict path, char *restrict buf, size_t bufsize);
func Xreadlink(t *TLS, path, buf uintptr, bufsize types.Size_t) types.Ssize_t {
n, _, err := unix.Syscall(unix.SYS_READLINK, path, buf, uintptr(bufsize))
if err != 0 {
t.setErrno(err)
return -1
}
return types.Ssize_t(n)
}
// FILE *fopen64(const char *pathname, const char *mode);
func Xfopen64(t *TLS, pathname, mode uintptr) uintptr {
m := strings.ReplaceAll(GoString(mode), "b", "")
var flags int
switch m {
case "r":
flags = os.O_RDONLY
case "r+":
flags = os.O_RDWR
case "w":
flags = os.O_WRONLY | os.O_CREATE | os.O_TRUNC
case "w+":
flags = os.O_RDWR | os.O_CREATE | os.O_TRUNC
case "a":
flags = os.O_WRONLY | os.O_CREATE | os.O_APPEND
case "a+":
flags = os.O_RDWR | os.O_CREATE | os.O_APPEND
default:
panic(m)
}
//TODO- flags |= fcntl.O_LARGEFILE
fd, _, err := unix.Syscall(unix.SYS_OPEN, pathname, uintptr(flags|unix.O_LARGEFILE), 0666)
if err != 0 {
t.setErrno(err)
return 0
}
if p := newFile(t, int32(fd)); p != 0 {
return p
}
Xclose(t, int32(fd))
t.setErrno(errno.ENOMEM)
return 0
}
// int iswspace(wint_t wc);
func Xiswspace(t *TLS, wc wctype.Wint_t) int32 {
return Bool32(unicode.IsSpace(rune(wc)))
}
// int iswalnum(wint_t wc);
func Xiswalnum(t *TLS, wc wctype.Wint_t) int32 {
return Bool32(unicode.IsLetter(rune(wc)) || unicode.IsNumber(rune(wc)))
}
func __syscall1(t *TLS, trap, p1 long) long {
return __syscall(unix.Syscall(uintptr(trap), uintptr(p1), 0, 0))
}
func __syscall3(t *TLS, trap, p1, p2, p3 long) long {
return __syscall(unix.Syscall(uintptr(trap), uintptr(p1), uintptr(p2), uintptr(p3)))
}
func __syscall4(t *TLS, trap, p1, p2, p3, p4 long) long {
return __syscall(unix.Syscall6(uintptr(trap), uintptr(p1), uintptr(p2), uintptr(p3), uintptr(p4), 0, 0))
}

View file

@ -5874,3 +5874,19 @@ func bootWinEnviron(t *TLS) {
}
func Xfabsl(t *TLS, x float64) float64 { return math.Abs(x) }
func X__stdio_common_vfprintf(t *TLS, args ...interface{}) int32 { panic("TODO") }
func X__stdio_common_vfprintf_p(t *TLS, args ...interface{}) int32 { panic("TODO") }
func X__stdio_common_vfprintf_s(t *TLS, args ...interface{}) int32 { panic("TODO") }
func X__stdio_common_vfscanf(t *TLS, args ...interface{}) int32 { panic("TODO") }
func X__stdio_common_vfwprintf_s(t *TLS, args ...interface{}) int32 { panic("TODO") }
func X__stdio_common_vfwscanf(t *TLS, args ...interface{}) int32 { panic("TODO") }
func X__stdio_common_vsnprintf_s(t *TLS, args ...interface{}) int32 { panic("TODO") }
func X__stdio_common_vsnwprintf_s(t *TLS, args ...interface{}) int32 { panic("TODO") }
func X__stdio_common_vsprintf(t *TLS, args ...interface{}) int32 { panic("TODO") }
func X__stdio_common_vsprintf_p(t *TLS, args ...interface{}) int32 { panic("TODO") }
func X__stdio_common_vsprintf_s(t *TLS, args ...interface{}) int32 { panic("TODO") }
func X__stdio_common_vsscanf(t *TLS, args ...interface{}) int32 { panic("TODO") }
func X__stdio_common_vswprintf(t *TLS, args ...interface{}) int32 { panic("TODO") }
func X__stdio_common_vswprintf_s(t *TLS, args ...interface{}) int32 { panic("TODO") }
func X__stdio_common_vswscanf(t *TLS, args ...interface{}) int32 { panic("TODO") }

513
vendor/modernc.org/libc/libc_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,513 @@
// Copyright 2020 The Libc Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package libc // import "modernc.org/libc"
import (
"modernc.org/libc/errno"
"modernc.org/libc/sys/types"
"os"
"strings"
"syscall"
"unsafe"
)
// int sigaction(int signum, const struct sigaction *act, struct sigaction *oldact);
func Xsigaction(t *TLS, signum int32, act, oldact uintptr) int32 {
panic(todo(""))
// musl/arch/x86_64/ksigaction.h
//
// struct k_sigaction {
// void (*handler)(int);
// unsigned long flags;
// void (*restorer)(void);
// unsigned mask[2];
// };
// type k_sigaction struct {
// handler uintptr
// flags ulong
// restorer uintptr
// mask [2]uint32
// }
// var kact, koldact uintptr
// if act != 0 {
// kact = t.Alloc(int(unsafe.Sizeof(k_sigaction{})))
// defer Xfree(t, kact)
// *(*k_sigaction)(unsafe.Pointer(kact)) = k_sigaction{
// handler: (*signal.Sigaction)(unsafe.Pointer(act)).F__sigaction_handler.Fsa_handler,
// flags: ulong((*signal.Sigaction)(unsafe.Pointer(act)).Fsa_flags),
// restorer: (*signal.Sigaction)(unsafe.Pointer(act)).Fsa_restorer,
// }
// Xmemcpy(t, kact+unsafe.Offsetof(k_sigaction{}.mask), act+unsafe.Offsetof(signal.Sigaction{}.Fsa_mask), types.Size_t(unsafe.Sizeof(k_sigaction{}.mask)))
// }
// if oldact != 0 {
// panic(todo(""))
// }
// if _, _, err := unix.Syscall6(unix.SYS_RT_SIGACTION, uintptr(signal.SIGABRT), kact, koldact, unsafe.Sizeof(k_sigaction{}.mask), 0, 0); err != 0 {
// t.setErrno(err)
// return -1
// }
// if oldact != 0 {
// panic(todo(""))
// }
// return 0
}
// int fcntl(int fd, int cmd, ... /* arg */ );
func Xfcntl64(t *TLS, fd, cmd int32, args uintptr) int32 {
panic(todo(""))
// var arg uintptr
// if args != 0 {
// arg = *(*uintptr)(unsafe.Pointer(args))
// }
// n, _, err := unix.Syscall(unix.SYS_FCNTL, uintptr(fd), uintptr(cmd), arg)
// if err != 0 {
// if dmesgs {
// dmesg("%v: fd %v cmd %v", origin(1), fcntlCmdStr(fd), cmd)
// }
// t.setErrno(err)
// return -1
// }
// if dmesgs {
// dmesg("%v: %d %s %#x: %d", origin(1), fd, fcntlCmdStr(cmd), arg, n)
// }
// return int32(n)
}
// int lstat(const char *pathname, struct stat *statbuf);
func Xlstat64(t *TLS, pathname, statbuf uintptr) int32 {
panic(todo(""))
// if _, _, err := unix.Syscall(unix.SYS_LSTAT, pathname, statbuf, 0); err != 0 {
// if dmesgs {
// dmesg("%v: %q: %v", origin(1), GoString(pathname), err)
// }
// t.setErrno(err)
// return -1
// }
// if dmesgs {
// dmesg("%v: %q: ok", origin(1), GoString(pathname))
// }
// return 0
}
// int stat(const char *pathname, struct stat *statbuf);
func Xstat64(t *TLS, pathname, statbuf uintptr) int32 {
panic(todo(""))
// if _, _, err := unix.Syscall(unix.SYS_STAT, pathname, statbuf, 0); err != 0 {
// if dmesgs {
// dmesg("%v: %q: %v", origin(1), GoString(pathname), err)
// }
// t.setErrno(err)
// return -1
// }
// if dmesgs {
// dmesg("%v: %q: ok", origin(1), GoString(pathname))
// }
// return 0
}
// int fstat(int fd, struct stat *statbuf);
func Xfstat64(t *TLS, fd int32, statbuf uintptr) int32 {
panic(todo(""))
// if _, _, err := unix.Syscall(unix.SYS_FSTAT, uintptr(fd), statbuf, 0); err != 0 {
// if dmesgs {
// dmesg("%v: fd %d: %v", origin(1), fd, err)
// }
// t.setErrno(err)
// return -1
// }
// if dmesgs {
// dmesg("%v: %d size %#x: ok\n%+v", origin(1), fd, (*stat.Stat)(unsafe.Pointer(statbuf)).Fst_size, (*stat.Stat)(unsafe.Pointer(statbuf)))
// }
// return 0
}
func Xmmap(t *TLS, addr uintptr, length types.Size_t, prot, flags, fd int32, offset types.Off_t) uintptr {
return Xmmap64(t, addr, length, prot, flags, fd, offset)
}
// void *mmap(void *addr, size_t length, int prot, int flags, int fd, off_t offset);
func Xmmap64(t *TLS, addr uintptr, length types.Size_t, prot, flags, fd int32, offset types.Off_t) uintptr {
panic(todo(""))
// data, _, err := unix.Syscall6(unix.SYS_MMAP, addr, uintptr(length), uintptr(prot), uintptr(flags), uintptr(fd), uintptr(offset))
// if err != 0 {
// if dmesgs {
// dmesg("%v: %v", origin(1), err)
// }
// t.setErrno(err)
// return ^uintptr(0) // (void*)-1
// }
// if dmesgs {
// dmesg("%v: %#x", origin(1), data)
// }
// return data
}
// void *mremap(void *old_address, size_t old_size, size_t new_size, int flags, ... /* void *new_address */);
func Xmremap(t *TLS, old_address uintptr, old_size, new_size types.Size_t, flags int32, args uintptr) uintptr {
panic(todo(""))
// var arg uintptr
// if args != 0 {
// arg = *(*uintptr)(unsafe.Pointer(args))
// }
// data, _, err := unix.Syscall6(unix.SYS_MREMAP, old_address, uintptr(old_size), uintptr(new_size), uintptr(flags), arg, 0)
// if err != 0 {
// if dmesgs {
// dmesg("%v: %v", origin(1), err)
// }
// t.setErrno(err)
// return ^uintptr(0) // (void*)-1
// }
// if dmesgs {
// dmesg("%v: %#x", origin(1), data)
// }
// return data
}
// int ftruncate(int fd, off_t length);
func Xftruncate64(t *TLS, fd int32, length types.Off_t) int32 {
panic(todo(""))
// if _, _, err := unix.Syscall(unix.SYS_FTRUNCATE, uintptr(fd), uintptr(length), 0); err != 0 {
// if dmesgs {
// dmesg("%v: fd %d: %v", origin(1), fd, err)
// }
// t.setErrno(err)
// return -1
// }
// if dmesgs {
// dmesg("%v: %d %#x: ok", origin(1), fd, length)
// }
// return 0
}
// off64_t lseek64(int fd, off64_t offset, int whence);
func Xlseek64(t *TLS, fd int32, offset types.Off_t, whence int32) types.Off_t {
f, ok := fdToFile(fd)
if !ok {
t.setErrno(errno.EBADF)
return -1
}
n, err := syscall.Seek(f.Handle, offset, int(whence))
if err != nil {
if dmesgs {
dmesg("%v: fd %v, off %#x, whence %v: %v", origin(1), f._fd, offset, whenceStr(whence), n)
}
t.setErrno(err)
return -1
}
if dmesgs {
dmesg("%v: fd %v, off %#x, whence %v: ok", origin(1), f._fd, offset, whenceStr(whence))
}
return n
}
// int utime(const char *filename, const struct utimbuf *times);
func Xutime(t *TLS, filename, times uintptr) int32 {
panic(todo(""))
// if _, _, err := unix.Syscall(unix.SYS_UTIME, filename, times, 0); err != 0 {
// t.setErrno(err)
// return -1
// }
// return 0
}
// unsigned int alarm(unsigned int seconds);
func Xalarm(t *TLS, seconds uint32) uint32 {
panic(todo(""))
// n, _, err := unix.Syscall(unix.SYS_ALARM, uintptr(seconds), 0, 0)
// if err != 0 {
// panic(todo(""))
// }
// return uint32(n)
}
// time_t time(time_t *tloc);
func Xtime(t *TLS, tloc uintptr) types.Time_t {
panic(todo(""))
// n, _, err := unix.Syscall(unix.SYS_TIME, tloc, 0, 0)
// if err != 0 {
// t.setErrno(err)
// return types.Time_t(-1)
// }
// if tloc != 0 {
// *(*types.Time_t)(unsafe.Pointer(tloc)) = types.Time_t(n)
// }
// return types.Time_t(n)
}
// int getrlimit(int resource, struct rlimit *rlim);
func Xgetrlimit64(t *TLS, resource int32, rlim uintptr) int32 {
panic(todo(""))
// if _, _, err := unix.Syscall(unix.SYS_GETRLIMIT, uintptr(resource), uintptr(rlim), 0); err != 0 {
// t.setErrno(err)
// return -1
// }
// return 0
}
// int mkdir(const char *path, mode_t mode);
func Xmkdir(t *TLS, path uintptr, mode types.Mode_t) int32 {
panic(todo(""))
// if _, _, err := unix.Syscall(unix.SYS_MKDIR, path, uintptr(mode), 0); err != 0 {
// t.setErrno(err)
// return -1
// }
// if dmesgs {
// dmesg("%v: %q: ok", origin(1), GoString(path))
// }
// return 0
}
// int symlink(const char *target, const char *linkpath);
func Xsymlink(t *TLS, target, linkpath uintptr) int32 {
panic(todo(""))
// if _, _, err := unix.Syscall(unix.SYS_SYMLINK, target, linkpath, 0); err != 0 {
// t.setErrno(err)
// return -1
// }
// if dmesgs {
// dmesg("%v: %q %q: ok", origin(1), GoString(target), GoString(linkpath))
// }
// return 0
}
// int utimes(const char *filename, const struct timeval times[2]);
func Xutimes(t *TLS, filename, times uintptr) int32 {
panic(todo(""))
// if _, _, err := unix.Syscall(unix.SYS_UTIMES, filename, times, 0); err != 0 {
// t.setErrno(err)
// return -1
// }
// if dmesgs {
// dmesg("%v: %q: ok", origin(1), GoString(filename))
// }
// return 0
}
// int unlink(const char *pathname);
func Xunlink(t *TLS, pathname uintptr) int32 {
err := syscall.DeleteFile((*uint16)(unsafe.Pointer(pathname)))
if err != nil {
t.setErrno(err)
return -1
}
if dmesgs {
dmesg("%v: %q: ok", origin(1), GoString(pathname))
}
return 0
}
// int access(const char *pathname, int mode);
func Xaccess(t *TLS, pathname uintptr, mode int32) int32 {
panic(todo(""))
// if _, _, err := unix.Syscall(unix.SYS_ACCESS, pathname, uintptr(mode), 0); err != 0 {
// if dmesgs {
// dmesg("%v: %q: %v", origin(1), GoString(pathname), err)
// }
// t.setErrno(err)
// return -1
// }
// if dmesgs {
// dmesg("%v: %q %#o: ok", origin(1), GoString(pathname), mode)
// }
// return 0
}
// int rmdir(const char *pathname);
func Xrmdir(t *TLS, pathname uintptr) int32 {
panic(todo(""))
// if _, _, err := unix.Syscall(unix.SYS_RMDIR, pathname, 0, 0); err != 0 {
// t.setErrno(err)
// return -1
// }
// if dmesgs {
// dmesg("%v: %q: ok", origin(1), GoString(pathname))
// }
// return 0
}
// int mknod(const char *pathname, mode_t mode, dev_t dev);
func Xmknod(t *TLS, pathname uintptr, mode types.Mode_t, dev types.Dev_t) int32 {
panic(todo(""))
// if _, _, err := unix.Syscall(unix.SYS_MKNOD, pathname, uintptr(mode), uintptr(dev)); err != 0 {
// t.setErrno(err)
// return -1
// }
// return 0
}
// // int chown(const char *pathname, uid_t owner, gid_t group);
// func Xchown(t *TLS, pathname uintptr, owner types.Uid_t, group types.Gid_t) int32 {
// panic(todo(""))
// // if _, _, err := unix.Syscall(unix.SYS_CHOWN, pathname, uintptr(owner), uintptr(group)); err != 0 {
// // t.setErrno(err)
// // return -1
// // }
//
// // return 0
// }
// int link(const char *oldpath, const char *newpath);
func Xlink(t *TLS, oldpath, newpath uintptr) int32 {
panic(todo(""))
// if _, _, err := unix.Syscall(unix.SYS_LINK, oldpath, newpath, 0); err != 0 {
// t.setErrno(err)
// return -1
// }
// return 0
}
// int pipe(int pipefd[2]);
func Xpipe(t *TLS, pipefd uintptr) int32 {
panic(todo(""))
// if _, _, err := unix.Syscall(unix.SYS_PIPE, pipefd, 0, 0); err != 0 {
// t.setErrno(err)
// return -1
// }
// return 0
}
// int dup2(int oldfd, int newfd);
func Xdup2(t *TLS, oldfd, newfd int32) int32 {
panic(todo(""))
// n, _, err := unix.Syscall(unix.SYS_DUP2, uintptr(oldfd), uintptr(newfd), 0)
// if err != 0 {
// t.setErrno(err)
// return -1
// }
// return int32(n)
}
// ssize_t readlink(const char *restrict path, char *restrict buf, size_t bufsize);
func Xreadlink(t *TLS, path, buf uintptr, bufsize types.Size_t) types.Ssize_t {
panic(todo(""))
// n, _, err := unix.Syscall(unix.SYS_READLINK, path, buf, uintptr(bufsize))
// if err != 0 {
// t.setErrno(err)
// return -1
// }
// return types.Ssize_t(n)
}
// FILE *fopen64(const char *pathname, const char *mode);
func Xfopen64(t *TLS, pathname, mode uintptr) uintptr {
m := strings.ReplaceAll(GoString(mode), "b", "")
var flags int
switch m {
case "r":
flags = os.O_RDONLY
case "r+":
flags = os.O_RDWR
case "w":
flags = os.O_WRONLY | os.O_CREATE | os.O_TRUNC
case "w+":
flags = os.O_RDWR | os.O_CREATE | os.O_TRUNC
case "a":
flags = os.O_WRONLY | os.O_CREATE | os.O_APPEND
case "a+":
flags = os.O_RDWR | os.O_CREATE | os.O_APPEND
default:
panic(m)
}
//TODO- flags |= fcntl.O_LARGEFILE
h, err := syscall.Open(GoString(pathname), int(flags), uint32(0666))
if err != nil {
t.setErrno(err)
return 0
}
p, _ := wrapFdHandle(h)
if p != 0 {
return p
}
_ = syscall.Close(h)
t.setErrno(errno.ENOMEM)
return 0
}
func Xrecv(t *TLS, sockfd uint64, buf uintptr, len, flags int32) int32 {
panic(todo(""))
}
func Xsend(t *TLS, sockfd uint64, buf uintptr, len, flags int32) int32 {
panic(todo(""))
}
func Xshutdown(t *TLS, sockfd uint64, how int32) int32 {
panic(todo(""))
}
func Xgetpeername(t *TLS, sockfd uint64, addr uintptr, addrlen uintptr) int32 {
panic(todo(""))
}
func Xgetsockname(t *TLS, sockfd uint64, addr, addrlen uintptr) int32 {
panic(todo(""))
}
func Xsocket(t *TLS, domain, type1, protocol int32) uint64 {
panic(todo(""))
}
func Xbind(t *TLS, sockfd uint64, addr uintptr, addrlen int32) int32 {
panic(todo(""))
}
func Xconnect(t *TLS, sockfd uint64, addr uintptr, addrlen int32) int32 {
panic(todo(""))
}
func Xlisten(t *TLS, sockfd uint64, backlog int32) int32 {
panic(todo(""))
}
func Xaccept(t *TLS, sockfd uint64, addr uintptr, addrlen uintptr) uint64 {
panic(todo(""))
}
// LRESULT LRESULT DefWindowProcW(
// HWND hWnd,
// UINT Msg,
// WPARAM wParam,
// LPARAM lParam
// );
func XDefWindowProcW(t *TLS, _ ...interface{}) int64 {
panic(todo(""))
}
func XSendMessageTimeoutW(t *TLS, _ ...interface{}) int64 {
panic(todo(""))
}

5
vendor/modernc.org/libc/limits/capi_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo limits/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o limits/limits_linux_ppc64le.go -pkgname limits', DO NOT EDIT.
package limits
var CAPI = map[string]struct{}{}

5
vendor/modernc.org/libc/limits/capi_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo limits\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 limits\limits_windows_arm64.go -pkgname limits', DO NOT EDIT.
package limits
var CAPI = map[string]struct{}{}

953
vendor/modernc.org/libc/limits/limits_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,953 @@
// Code generated by 'ccgo limits/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o limits/limits_linux_ppc64le.go -pkgname limits', DO NOT EDIT.
package limits
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
AIO_PRIO_DELTA_MAX = 20 // local_lim.h:78:1:
BC_BASE_MAX = 99 // posix2_lim.h:63:1:
BC_DIM_MAX = 2048 // posix2_lim.h:66:1:
BC_SCALE_MAX = 99 // posix2_lim.h:69:1:
BC_STRING_MAX = 1000 // posix2_lim.h:72:1:
CHARCLASS_NAME_MAX = 2048 // posix2_lim.h:84:1:
CHAR_BIT = 8 // limits.h:64:1:
CHAR_MAX = 255 // limits.h:94:1:
CHAR_MIN = 0 // limits.h:91:1:
COLL_WEIGHTS_MAX = 255 // posix2_lim.h:75:1:
DELAYTIMER_MAX = 2147483647 // local_lim.h:85:1:
EXPR_NEST_MAX = 32 // posix2_lim.h:78:1:
HOST_NAME_MAX = 64 // local_lim.h:94:1:
INT_MAX = 2147483647 // limits.h:120:1:
INT_MIN = -2147483648 // limits.h:118:1:
LINE_MAX = 2048 // posix2_lim.h:81:1:
LLONG_MAX = 9223372036854775807 // limits.h:142:1:
LLONG_MIN = -9223372036854775808 // limits.h:140:1:
LOGIN_NAME_MAX = 256 // local_lim.h:91:1:
LONG_MAX = 9223372036854775807 // limits.h:131:1:
LONG_MIN = -9223372036854775808 // limits.h:129:1:
MAX_CANON = 255 // limits.h:10:1:
MAX_INPUT = 255 // limits.h:11:1:
MB_LEN_MAX = 16 // limits.h:32:1:
MQ_PRIO_MAX = 32768 // local_lim.h:97:1:
NAME_MAX = 255 // limits.h:12:1:
NGROUPS_MAX = 65536 // limits.h:7:1:
PATH_MAX = 4096 // limits.h:13:1:
PIPE_BUF = 4096 // limits.h:14:1:
PTHREAD_DESTRUCTOR_ITERATIONS = 4 // local_lim.h:69:1:
PTHREAD_KEYS_MAX = 1024 // local_lim.h:64:1:
PTHREAD_STACK_MIN = 131072 // local_lim.h:82:1:
RE_DUP_MAX = 32767 // posix2_lim.h:88:1:
RTSIG_MAX = 32 // limits.h:19:1:
SCHAR_MAX = 127 // limits.h:75:1:
SCHAR_MIN = -128 // limits.h:73:1:
SEM_VALUE_MAX = 2147483647 // local_lim.h:100:1:
SHRT_MAX = 32767 // limits.h:106:1:
SHRT_MIN = -32768 // limits.h:104:1:
SSIZE_MAX = 9223372036854775807 // posix1_lim.h:169:1:
TTY_NAME_MAX = 32 // local_lim.h:88:1:
UCHAR_MAX = 255 // limits.h:82:1:
UINT_MAX = 4294967295 // limits.h:124:1:
ULLONG_MAX = 18446744073709551615 // limits.h:146:1:
ULONG_MAX = 18446744073709551615 // limits.h:135:1:
USHRT_MAX = 65535 // limits.h:113:1:
XATTR_LIST_MAX = 65536 // limits.h:17:1:
XATTR_NAME_MAX = 255 // limits.h:15:1:
XATTR_SIZE_MAX = 65536 // limits.h:16:1:
X_ARCH_PPC = 1 // <predefined>:198:1:
X_ARCH_PPC64 = 1 // <predefined>:402:1:
X_ARCH_PPCGR = 1 // <predefined>:15:1:
X_ARCH_PPCSQ = 1 // <predefined>:43:1:
X_ARCH_PWR4 = 1 // <predefined>:381:1:
X_ARCH_PWR5 = 1 // <predefined>:90:1:
X_ARCH_PWR5X = 1 // <predefined>:137:1:
X_ARCH_PWR6 = 1 // <predefined>:91:1:
X_ARCH_PWR7 = 1 // <predefined>:92:1:
X_ARCH_PWR8 = 1 // <predefined>:93:1:
X_ATFILE_SOURCE = 1 // features.h:342:1:
X_BITS_POSIX1_LIM_H = 1 // posix1_lim.h:25:1:
X_BITS_POSIX2_LIM_H = 1 // posix2_lim.h:23:1:
X_CALL_ELF = 2 // <predefined>:415:1:
X_CALL_LINUX = 1 // <predefined>:123:1:
X_DEFAULT_SOURCE = 1 // features.h:227:1:
X_FEATURES_H = 1 // features.h:19:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_GCC_LIMITS_H_ = 0 // limits.h:30:1:
X_LIBC_LIMITS_H_ = 1 // limits.h:23:1:
X_LIMITS_H___ = 0 // limits.h:60:1:
X_LINUX_LIMITS_H = 0 // limits.h:3:1:
X_LITTLE_ENDIAN = 1 // <predefined>:37:1:
X_LP64 = 1 // <predefined>:335:1:
X_POSIX2_BC_BASE_MAX = 99 // posix2_lim.h:27:1:
X_POSIX2_BC_DIM_MAX = 2048 // posix2_lim.h:30:1:
X_POSIX2_BC_SCALE_MAX = 99 // posix2_lim.h:33:1:
X_POSIX2_BC_STRING_MAX = 1000 // posix2_lim.h:36:1:
X_POSIX2_CHARCLASS_NAME_MAX = 14 // posix2_lim.h:55:1:
X_POSIX2_COLL_WEIGHTS_MAX = 2 // posix2_lim.h:40:1:
X_POSIX2_EXPR_NEST_MAX = 32 // posix2_lim.h:44:1:
X_POSIX2_LINE_MAX = 2048 // posix2_lim.h:47:1:
X_POSIX2_RE_DUP_MAX = 255 // posix2_lim.h:51:1:
X_POSIX_AIO_LISTIO_MAX = 2 // posix1_lim.h:32:1:
X_POSIX_AIO_MAX = 1 // posix1_lim.h:35:1:
X_POSIX_ARG_MAX = 4096 // posix1_lim.h:38:1:
X_POSIX_CHILD_MAX = 25 // posix1_lim.h:42:1:
X_POSIX_CLOCKRES_MIN = 20000000 // posix1_lim.h:157:1:
X_POSIX_C_SOURCE = 200809 // features.h:281:1:
X_POSIX_DELAYTIMER_MAX = 32 // posix1_lim.h:48:1:
X_POSIX_HOST_NAME_MAX = 255 // posix1_lim.h:52:1:
X_POSIX_LINK_MAX = 8 // posix1_lim.h:55:1:
X_POSIX_LOGIN_NAME_MAX = 9 // posix1_lim.h:58:1:
X_POSIX_MAX_CANON = 255 // posix1_lim.h:61:1:
X_POSIX_MAX_INPUT = 255 // posix1_lim.h:65:1:
X_POSIX_MQ_OPEN_MAX = 8 // posix1_lim.h:68:1:
X_POSIX_MQ_PRIO_MAX = 32 // posix1_lim.h:71:1:
X_POSIX_NAME_MAX = 14 // posix1_lim.h:74:1:
X_POSIX_NGROUPS_MAX = 8 // posix1_lim.h:78:1:
X_POSIX_OPEN_MAX = 20 // posix1_lim.h:85:1:
X_POSIX_PATH_MAX = 256 // posix1_lim.h:97:1:
X_POSIX_PIPE_BUF = 512 // posix1_lim.h:100:1:
X_POSIX_RE_DUP_MAX = 255 // posix1_lim.h:104:1:
X_POSIX_RTSIG_MAX = 8 // posix1_lim.h:107:1:
X_POSIX_SEM_NSEMS_MAX = 256 // posix1_lim.h:110:1:
X_POSIX_SEM_VALUE_MAX = 32767 // posix1_lim.h:113:1:
X_POSIX_SIGQUEUE_MAX = 32 // posix1_lim.h:116:1:
X_POSIX_SOURCE = 1 // features.h:279:1:
X_POSIX_SSIZE_MAX = 32767 // posix1_lim.h:119:1:
X_POSIX_STREAM_MAX = 8 // posix1_lim.h:122:1:
X_POSIX_SYMLINK_MAX = 255 // posix1_lim.h:125:1:
X_POSIX_SYMLOOP_MAX = 8 // posix1_lim.h:129:1:
X_POSIX_THREAD_DESTRUCTOR_ITERATIONS = 4 // local_lim.h:67:1:
X_POSIX_THREAD_KEYS_MAX = 128 // local_lim.h:62:1:
X_POSIX_THREAD_THREADS_MAX = 64 // local_lim.h:72:1:
X_POSIX_TIMER_MAX = 32 // posix1_lim.h:132:1:
X_POSIX_TTY_NAME_MAX = 9 // posix1_lim.h:135:1:
X_POSIX_TZNAME_MAX = 6 // posix1_lim.h:139:1:
X_STDC_PREDEF_H = 1 // <predefined>:203:1:
X_SYS_CDEFS_H = 1 // cdefs.h:19:1:
Linux = 1 // <predefined>:263:1:
Unix = 1 // <predefined>:222:1:
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__ieee128 = float64 /* <builtin>:47:21 */
// Copyright (C) 1992-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
// GCC is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 3, or (at your option) any later
// version.
//
// GCC is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// Under Section 7 of GPL version 3, you are granted additional
// permissions described in the GCC Runtime Library Exception, version
// 3.1, as published by the Free Software Foundation.
//
// You should have received a copy of the GNU General Public License and
// a copy of the GCC Runtime Library Exception along with this program;
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
// This administrivia gets added to the beginning of limits.h
// if the system has its own version of limits.h.
// We use _GCC_LIMITS_H_ because we want this not to match
// any macros that the system's limits.h uses for its own purposes.
// Use "..." so that we find syslimits.h only in this same directory.
// syslimits.h stands for the system's own limits.h file.
// If we can use it ok unmodified, then we install this text.
// If fixincludes fixes it, then the fixed version is installed
// instead of this text.
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types <limits.h>
// Handle feature test macros at the start of a header.
// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// This header is internal to glibc and should not be included outside
// of glibc headers. Headers including it must define
// __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header
// cannot have multiple include guards because ISO C feature test
// macros depend on the definition of the macro when an affected
// header is included, not when the first system header is
// included.
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
//
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
// Extensions to ISO C11 from TS 18661-1:2014.
// __STDC_WANT_IEC_60559_FUNCS_EXT__
// Extensions to ISO C11 from TS 18661-4:2015.
// __STDC_WANT_IEC_60559_TYPES_EXT__
// Extensions to ISO C11 from TS 18661-3:2015.
//
// _POSIX_SOURCE IEEE Std 1003.1.
// _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
// if >=199309L, add IEEE Std 1003.1b-1993;
// if >=199506L, add IEEE Std 1003.1c-1995;
// if >=200112L, all of IEEE 1003.1-2004
// if >=200809L, all of IEEE 1003.1-2008
// _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if
// Single Unix conformance is wanted, to 600 for the
// sixth revision, to 700 for the seventh revision.
// _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
// _LARGEFILE_SOURCE Some more functions for correct standard I/O.
// _LARGEFILE64_SOURCE Additional functionality from LFS for large files.
// _FILE_OFFSET_BITS=N Select default filesystem interface.
// _ATFILE_SOURCE Additional *at interfaces.
// _GNU_SOURCE All of the above, plus GNU extensions.
// _DEFAULT_SOURCE The default set of features (taking precedence over
// __STRICT_ANSI__).
//
// _FORTIFY_SOURCE Add security hardening to many library functions.
// Set to 1 or 2; 2 performs stricter checks than 1.
//
// _REENTRANT, _THREAD_SAFE
// Obsolete; equivalent to _POSIX_C_SOURCE=199506L.
//
// The `-ansi' switch to the GNU C compiler, and standards conformance
// options such as `-std=c99', define __STRICT_ANSI__. If none of
// these are defined, or if _DEFAULT_SOURCE is defined, the default is
// to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to
// 200809L, as well as enabling miscellaneous functions from BSD and
// SVID. If more than one of these are defined, they accumulate. For
// example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together
// give you ISO C, 1003.1, and 1003.2, but nothing else.
//
// These are defined by this file and are used by the
// header files to decide what to declare or define:
//
// __GLIBC_USE (F) Define things from feature set F. This is defined
// to 1 or 0; the subsequent macros are either defined
// or undefined, and those tests should be moved to
// __GLIBC_USE.
// __USE_ISOC11 Define ISO C11 things.
// __USE_ISOC99 Define ISO C99 things.
// __USE_ISOC95 Define ISO C90 AMD1 (C95) things.
// __USE_ISOCXX11 Define ISO C++11 things.
// __USE_POSIX Define IEEE Std 1003.1 things.
// __USE_POSIX2 Define IEEE Std 1003.2 things.
// __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things.
// __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things.
// __USE_XOPEN Define XPG things.
// __USE_XOPEN_EXTENDED Define X/Open Unix things.
// __USE_UNIX98 Define Single Unix V2 things.
// __USE_XOPEN2K Define XPG6 things.
// __USE_XOPEN2KXSI Define XPG6 XSI things.
// __USE_XOPEN2K8 Define XPG7 things.
// __USE_XOPEN2K8XSI Define XPG7 XSI things.
// __USE_LARGEFILE Define correct standard I/O things.
// __USE_LARGEFILE64 Define LFS things with separate names.
// __USE_FILE_OFFSET64 Define 64bit interface as default.
// __USE_MISC Define things from 4.3BSD or System V Unix.
// __USE_ATFILE Define *at interfaces and AT_* constants for them.
// __USE_GNU Define GNU extensions.
// __USE_FORTIFY_LEVEL Additional security measures used, according to level.
//
// The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are
// defined by this file unconditionally. `__GNU_LIBRARY__' is provided
// only for compatibility. All new code should use the other symbols
// to test for features.
//
// All macros listed above as possibly being defined by this file are
// explicitly undefined if they are not explicitly defined.
// Feature-test macros that are not defined by the user or compiler
// but are implied by the other feature-test macros defined (or by the
// lack of any definitions) are defined by the file.
//
// ISO C feature test macros depend on the definition of the macro
// when an affected header is included, not when the first system
// header is included, and so they are handled in
// <bits/libc-header-start.h>, which does not have a multiple include
// guard. Feature test macros that can be handled from the first
// system header included are handled here.
// Undefine everything, so we get a clean slate.
// Suppress kernel-name space pollution unless user expressedly asks
// for it.
// Convenience macro to test the version of gcc.
// Use like this:
// #if __GNUC_PREREQ (2,8)
// ... code requiring gcc 2.8 or later ...
// #endif
// Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was
// added in 2.0.
// Similarly for clang. Features added to GCC after version 4.2 may
// or may not also be available in clang, and clang's definitions of
// __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such
// features can be queried via __has_extension/__has_feature.
// Whether to use feature set F.
// _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
// _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not
// issue a warning; the expectation is that the source is being
// transitioned to use the new macro.
// If _GNU_SOURCE was defined by the user, turn on all the other features.
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
// This is to enable the ISO C2X extension.
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
// This is to enable the ISO C90 Amendment 1:1995 extension.
// If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE
// is defined, use POSIX.1-2008 (or another version depending on
// _XOPEN_SOURCE).
// Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be
// defined in all multithreaded code. GNU libc has not required this
// for many years. We now treat them as compatibility synonyms for
// _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with
// comprehensive support for multithreaded code. Using them never
// lowers the selected level of POSIX conformance, only raises it.
// The function 'gets' existed in C89, but is impossible to use
// safely. It has been removed from ISO C11 and ISO C++14. Note: for
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
// GNU formerly extended the scanf functions with modified format
// specifiers %as, %aS, and %a[...] that allocate a buffer for the
// input using malloc. This extension conflicts with ISO C99, which
// defines %a as a standalone format specifier that reads a floating-
// point number; moreover, POSIX.1-2008 provides the same feature
// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
//
// We now follow C99 unless GNU extensions are active and the compiler
// is specifically in C89 or C++98 mode (strict or not). For
// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
// old extension.
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
// on. The use of this variable is deprecated. Use __GLIBC__ and
// __GLIBC_MINOR__ now (see below) when you want to test for a specific
// GNU C library version and use the values in <gnu/lib-names.h> to get
// the sonames of the shared libraries.
// Major and minor version number of the GNU C library package. Use
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
// The GNU libc does not support any K&R compilers or the traditional mode
// of ISO C compilers anymore. Check for some of the combinations not
// anymore supported.
// Some user header file might have defined this before.
// All functions, except those with callbacks or those that
// synchronize memory, are leaf functions.
// GCC can always grok prototypes. For C++ programs we add throw()
// to help it optimize the function calls. But this works only with
// gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions
// as non-throwing using a function attribute since programs can use
// the -fexceptions options for C code as well.
// Compilers that are not clang may object to
// #if defined __clang__ && __has_extension(...)
// even though they do not need to evaluate the right-hand side of the &&.
// These two macros are not used in glibc anymore. They are kept here
// only because some other projects expect the macros to be defined.
// For these things, GCC behaves the ANSI way normally,
// and the non-ANSI way under -traditional.
// This is not a typedef so `const __ptr_t' does the right thing.
// C++ needs to know that types and declarations are C, not C++.
// Fortify support.
// Support for flexible arrays.
// Headers that should use flexible arrays only if they're "real"
// (e.g. only if they won't affect sizeof()) should test
// #if __glibc_c99_flexarr_available.
// __asm__ ("xyz") is used throughout the headers to rename functions
// at the assembly language level. This is wrapped by the __REDIRECT
// macro, in order to support compilers that can do this some other
// way. When compilers don't support asm-names at all, we have to do
// preprocessor tricks instead (which don't have exactly the right
// semantics, but it's the best we can do).
//
// Example:
// int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid);
//
// #elif __SOME_OTHER_COMPILER__
//
// # define __REDIRECT(name, proto, alias) name proto; _Pragma("let " #name " = " #alias)
// GCC has various useful declarations that can be made with the
// `__attribute__' syntax. All of the ways we use this do fine if
// they are omitted for compilers that don't understand it.
// At some point during the gcc 2.96 development the `malloc' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// Tell the compiler which arguments to an allocation function
// indicate the size of the allocation.
// At some point during the gcc 2.96 development the `pure' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// This declaration tells the compiler that the value is constant.
// At some point during the gcc 3.1 development the `used' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// Since version 3.2, gcc allows marking deprecated functions.
// Since version 4.5, gcc also allows one to specify the message printed
// when a deprecated function is used. clang claims to be gcc 4.2, but
// may also support this feature.
// At some point during the gcc 2.8 development the `format_arg' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// If several `format_arg' attributes are given for the same function, in
// gcc-3.0 and older, all but the last one are ignored. In newer gccs,
// all designated arguments are considered.
// At some point during the gcc 2.97 development the `strfmon' format
// attribute for functions was introduced. We don't want to use it
// unconditionally (although this would be possible) since it
// generates warnings.
// The nonull function attribute allows to mark pointer parameters which
// must not be NULL.
// If fortification mode, we warn about unused results of certain
// function calls which can lead to problems.
// Forces a function to be always inlined.
// The Linux kernel defines __always_inline in stddef.h (283d7573), and
// it conflicts with this definition. Therefore undefine it first to
// allow either header to be included first.
// Associate error messages with the source location of the call site rather
// than with the source location inside the function.
// GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
// inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__
// or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
// older than 4.3 may define these macros and still not guarantee GNU inlining
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
// __extern_always_inline function to some other vararg function.
// It is possible to compile containing GCC extensions even if GCC is
// run in pedantic mode if the uses are carefully marked using the
// `__extension__' keyword. But this is not generally available before
// version 2.8.
// __restrict is known in EGCS 1.2 and above.
// ISO C99 also allows to declare arrays as non-overlapping. The syntax is
// array_name[restrict]
// GCC 3.1 supports this.
// Describes a char array whose address can safely be passed as the first
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
// Undefine (also defined in libc-symbols.h).
// Copies attributes from the declaration or type referenced by
// the argument.
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
//
// Note: MESSAGE must be a _single_ string; concatenation of string
// literals is not supported.
// Generic selection (ISO C11) is a C-only feature, available in GCC
// since version 4.9. Previous versions do not provide generic
// selection, even though they might set __STDC_VERSION__ to 201112L,
// when in -std=c11 mode. Thus, we must check for !defined __GNUC__
// when testing __STDC_VERSION__ for generic selection support.
// On the other hand, Clang also defines __GNUC__, so a clang-specific
// check is required to enable the use of generic selection.
// If we don't have __REDIRECT, prototypes will be missing if
// __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64].
// Decide whether we can define 'extern inline' functions in headers.
// This is here only because every header file already includes this one.
// Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
// <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
// that will always return failure (and set errno to ENOSYS).
// This file is automatically generated.
// This file selects the right generated file of `__stub_FUNCTION' macros
// based on the architecture being compiled for.
// Determine the wordsize from the preprocessor defines.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
// ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
// macro.
// ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
// macro. Most but not all symbols enabled by that macro in TS
// 18661-1 are enabled unconditionally in C2X; the symbols in Annex F
// still require that macro in C2X.
// ISO/IEC TS 18661-4:2015 defines the
// __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction
// functions, the symbols from this TS are enabled unconditionally in
// C2X.
// ISO/IEC TS 18661-3:2015 defines the
// __STDC_WANT_IEC_60559_TYPES_EXT__ macro.
// Maximum length of any multibyte character in any locale.
// We define this value here since the gcc header does not define
// the correct value.
// If we are not using GNU CC we have to define all the symbols ourself.
// Otherwise use gcc's definitions (see below).
// Get the compiler's limits.h, which defines almost all the ISO constants.
//
// We put this #include_next outside the double inclusion check because
// it should be possible to include this file more than once and still get
// the definitions from gcc's header.
// The <limits.h> files in some gcc versions don't define LLONG_MIN,
// LLONG_MAX, and ULLONG_MAX. Instead only the values gcc defined for
// ages are available.
// The integer width macros are not defined by GCC's <limits.h> before
// GCC 7, or if _GNU_SOURCE rather than
// __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature.
// POSIX adds things to <limits.h>.
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// POSIX Standard: 2.9.2 Minimum Values Added to <limits.h>
//
// Never include this file directly; use <limits.h> instead.
// Determine the wordsize from the preprocessor defines.
// These are the standard-mandated minimum values.
// Minimum number of operations in one list I/O call.
// Minimal number of outstanding asynchronous I/O operations.
// Maximum length of arguments to `execve', including environment.
// Maximum simultaneous processes per real user ID.
// Minimal number of timer expiration overruns.
// Maximum length of a host name (not including the terminating null)
// as returned from the GETHOSTNAME function.
// Maximum link count of a file.
// Maximum length of login name.
// Number of bytes in a terminal canonical input queue.
// Number of bytes for which space will be
// available in a terminal input queue.
// Maximum number of message queues open for a process.
// Maximum number of supported message priorities.
// Number of bytes in a filename.
// Number of simultaneous supplementary group IDs per process.
// Number of files one process can have open at once.
// Number of bytes in a pathname.
// Number of bytes than can be written atomically to a pipe.
// The number of repeated occurrences of a BRE permitted by the
// REGEXEC and REGCOMP functions when using the interval notation.
// Minimal number of realtime signals reserved for the application.
// Number of semaphores a process can have.
// Maximal value of a semaphore.
// Number of pending realtime signals.
// Largest value of a `ssize_t'.
// Number of streams a process can have open at once.
// The number of bytes in a symbolic link.
// The number of symbolic links that can be traversed in the
// resolution of a pathname in the absence of a loop.
// Number of timer for a process.
// Maximum number of characters in a tty name.
// Maximum length of a timezone name (element of `tzname').
// Maximum clock resolution in nanoseconds.
// Get the implementation-specific values for the above.
// Minimum guaranteed maximum values for system limits. Linux/PPC version.
// Copyright (C) 1993-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of the
// License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; see the file COPYING.LIB. If
// not, see <https://www.gnu.org/licenses/>.
// The kernel header pollutes the namespace with the NR_OPEN symbol
// and defines LINK_MAX although filesystems have different maxima. A
// similar thing is true for OPEN_MAX: the limit can be changed at
// runtime and therefore the macro must not be defined. Remove this
// after including the header if necessary.
// The kernel sources contain a file with all the needed information.
// SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note
// Have to remove NR_OPEN?
// Have to remove LINK_MAX?
// Have to remove OPEN_MAX?
// Have to remove ARG_MAX?
// The number of data keys per process.
// This is the value this implementation supports.
// Controlling the iterations of destructors for thread-specific data.
// Number of iterations this implementation does.
// The number of threads per process.
// We have no predefined limit on the number of threads.
// Maximum amount by which a process can descrease its asynchronous I/O
// priority level.
// Minimum size for a thread. At least two pages for systems with 64k
// pages.
// Maximum number of timer expiration overruns.
// Maximum tty name length.
// Maximum login name length. This is arbitrary.
// Maximum host name length.
// Maximum message queue priority level.
// Maximum value the semaphore can have.
// ssize_t is not formally required to be the signed type
// corresponding to size_t, but it is for all configurations supported
// by glibc.
// This value is a guaranteed minimum maximum.
// The current maximum can be got from `sysconf'.
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; include <limits.h> instead.
// The maximum `ibase' and `obase' values allowed by the `bc' utility.
// The maximum number of elements allowed in an array by the `bc' utility.
// The maximum `scale' value allowed by the `bc' utility.
// The maximum length of a string constant accepted by the `bc' utility.
// The maximum number of weights that can be assigned to an entry of
// the LC_COLLATE `order' keyword in the locale definition file.
// The maximum number of expressions that can be nested
// within parentheses by the `expr' utility.
// The maximum length, in bytes, of an input line.
// The maximum number of repeated occurrences of a regular expression
// permitted when using the interval notation `\{M,N\}'.
// The maximum number of bytes in a character class name. We have no
// fixed limit, 2048 is a high number.
// These values are implementation-specific,
// and may vary within the implementation.
// Their precise values can be obtained from sysconf.
// This value is defined like this in regex.h.
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
// GCC is free software; you can redistribute it and/or modify it under
// the terms of the GNU General Public License as published by the Free
// Software Foundation; either version 3, or (at your option) any later
// version.
//
// GCC is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
// for more details.
//
// Under Section 7 of GPL version 3, you are granted additional
// permissions described in the GCC Runtime Library Exception, version
// 3.1, as published by the Free Software Foundation.
//
// You should have received a copy of the GNU General Public License and
// a copy of the GCC Runtime Library Exception along with this program;
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
// Number of bits in a `char'.
// Maximum length of a multibyte character.
// Minimum and maximum values a `signed char' can hold.
// Maximum value an `unsigned char' can hold. (Minimum is 0).
// Minimum and maximum values a `char' can hold.
// Minimum and maximum values a `signed short int' can hold.
// Maximum value an `unsigned short int' can hold. (Minimum is 0).
// Minimum and maximum values a `signed int' can hold.
// Maximum value an `unsigned int' can hold. (Minimum is 0).
// Minimum and maximum values a `signed long int' can hold.
// (Same as `int').
// Maximum value an `unsigned long int' can hold. (Minimum is 0).
// Minimum and maximum values a `signed long long int' can hold.
// Maximum value an `unsigned long long int' can hold. (Minimum is 0).
// This administrivia gets added to the end of limits.h
// if the system has its own version of limits.h.
var _ uint8 /* gen.c:2:13: */

102
vendor/modernc.org/libc/limits/limits_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,102 @@
// Code generated by 'ccgo limits\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 limits\limits_windows_arm64.go -pkgname limits', DO NOT EDIT.
package limits
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
CHAR_BIT = 8
CHAR_MAX = 127
CHAR_MIN = -128
INT_MAX = 2147483647
INT_MIN = -2147483648
LLONG_MAX = 9223372036854775807
LLONG_MIN = -9223372036854775808
LONG_LONG_MAX = 9223372036854775807
LONG_LONG_MIN = -9223372036854775808
LONG_MAX = 2147483647
LONG_MIN = -2147483648
MB_LEN_MAX = 1
PATH_MAX = 260
SCHAR_MAX = 127
SCHAR_MIN = -128
SHRT_MAX = 32767
SHRT_MIN = -32768
UCHAR_MAX = 255
UINT_MAX = 4294967295
ULLONG_MAX = 18446744073709551615
ULONG_LONG_MAX = 18446744073709551615
ULONG_MAX = 4294967295
USHRT_MAX = 65535
WIN32 = 1
WIN64 = 1
WINNT = 1
X_FILE_OFFSET_BITS = 64
X_GCC_LIMITS_H_ = 0
X_VA_LIST_DEFINED = 0
X_WIN32 = 1
X_WIN64 = 1
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = uint16 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
type Va_list = X__builtin_va_list /* <builtin>:50:27 */
//===---- limits.h - Standard header for integer sizes --------------------===* *
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
// \*===----------------------------------------------------------------------===
// The system's limits.h may, in turn, try to #include_next GCC's limits.h.
// Avert this #include_next madness.
// System headers include a number of constants from POSIX in <limits.h>.
// Include it if we're hosted.
// Many system headers try to "help us out" by defining these. No really, we
// know how big each datatype is.
// C90/99 5.2.4.2.1
// C2x 5.2.4.2.1
// FIXME: This is using the placeholder dates Clang produces for these macros
// in C2x mode; switch to the correct values once they've been published.
// C99 5.2.4.2.1: Added long long.
// C++11 18.3.3.2: same contents as the Standard C Library header <limits.h>.
//
// LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX are a GNU extension. It's too bad
// that we don't have something like #pragma poison that could be used to
// deprecate a macro - the code should just use LLONG_MAX and friends.
//
var _ int8 /* gen.c:2:13: */

View file

@ -2904,7 +2904,7 @@ func Xgethostbyaddr(tls *TLS, a uintptr, l socklen_t, af int32) uintptr { /* get
// var res uintptr at bp, 8
var err int32
for ok := true; ok; ok = err == 34 {
for __ccgo := true; __ccgo; __ccgo = err == 34 {
Xfree(tls, _sh)
_sh = Xmalloc(tls, AssignAddUint64(&size, size+uint64(1)))
if !(_sh != 0) {
@ -3019,7 +3019,7 @@ func Xgethostbyname2(tls *TLS, name uintptr, af int32) uintptr { /* gethostbynam
// var res uintptr at bp, 8
var err int32
for ok := true; ok; ok = err == 34 {
for __ccgo := true; __ccgo; __ccgo = err == 34 {
Xfree(tls, _sh1)
_sh1 = Xmalloc(tls, AssignAddUint64(&size, size+uint64(1)))
if !(_sh1 != 0) {
@ -3308,7 +3308,7 @@ type res_sym = struct {
func itoa(tls *TLS, p uintptr, x uint32) uintptr { /* getnameinfo.c:18:13: */
p += uintptr(uint64(3) * uint64(unsafe.Sizeof(int32(0))))
*(*int8)(unsafe.Pointer(PreDecUintptr(&p, 1))) = int8(0)
for ok := true; ok; ok = x != 0 {
for __ccgo := true; __ccgo; __ccgo = x != 0 {
*(*int8)(unsafe.Pointer(PreDecUintptr(&p, 1))) = int8(uint32('0') + x%uint32(10))
x = x / uint32(10)
}

7012
vendor/modernc.org/libc/musl_linux_ppc64le.go generated vendored Normal file

File diff suppressed because it is too large Load diff

1199
vendor/modernc.org/libc/musl_windows_arm64.go generated vendored Normal file

File diff suppressed because it is too large Load diff

5
vendor/modernc.org/libc/netdb/capi_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo netdb/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o netdb/netdb_linux_ppc64le.go -pkgname netdb', DO NOT EDIT.
package netdb
var CAPI = map[string]struct{}{}

3081
vendor/modernc.org/libc/netdb/netdb_linux_ppc64le.go generated vendored Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo netinet/in/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o netinet/in/in_linux_ppc64le.go -pkgname in', DO NOT EDIT.
package in
var CAPI = map[string]struct{}{}

2791
vendor/modernc.org/libc/netinet/in/in_linux_ppc64le.go generated vendored Normal file

File diff suppressed because it is too large Load diff

5
vendor/modernc.org/libc/poll/capi_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo poll/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o poll/poll_linux_ppc64le.go -pkgname poll', DO NOT EDIT.
package poll
var CAPI = map[string]struct{}{}

551
vendor/modernc.org/libc/poll/poll_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,551 @@
// Code generated by 'ccgo poll/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o poll/poll_linux_ppc64le.go -pkgname poll', DO NOT EDIT.
package poll
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
POLLERR = 0x008 // poll.h:47:1:
POLLHUP = 0x010 // poll.h:48:1:
POLLIN = 0x001 // poll.h:25:1:
POLLNVAL = 0x020 // poll.h:49:1:
POLLOUT = 0x004 // poll.h:27:1:
POLLPRI = 0x002 // poll.h:26:1:
POLLRDBAND = 0x080 // poll.h:32:1:
POLLRDNORM = 0x040 // poll.h:31:1:
POLLWRBAND = 0x200 // poll.h:34:1:
POLLWRNORM = 0x100 // poll.h:33:1:
X_ARCH_PPC = 1 // <predefined>:198:1:
X_ARCH_PPC64 = 1 // <predefined>:402:1:
X_ARCH_PPCGR = 1 // <predefined>:15:1:
X_ARCH_PPCSQ = 1 // <predefined>:43:1:
X_ARCH_PWR4 = 1 // <predefined>:381:1:
X_ARCH_PWR5 = 1 // <predefined>:90:1:
X_ARCH_PWR5X = 1 // <predefined>:137:1:
X_ARCH_PWR6 = 1 // <predefined>:91:1:
X_ARCH_PWR7 = 1 // <predefined>:92:1:
X_ARCH_PWR8 = 1 // <predefined>:93:1:
X_ATFILE_SOURCE = 1 // features.h:342:1:
X_CALL_ELF = 2 // <predefined>:415:1:
X_CALL_LINUX = 1 // <predefined>:123:1:
X_DEFAULT_SOURCE = 1 // features.h:227:1:
X_FEATURES_H = 1 // features.h:19:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_LITTLE_ENDIAN = 1 // <predefined>:37:1:
X_LP64 = 1 // <predefined>:335:1:
X_POSIX_C_SOURCE = 200809 // features.h:281:1:
X_POSIX_SOURCE = 1 // features.h:279:1:
X_STDC_PREDEF_H = 1 // <predefined>:203:1:
X_SYS_CDEFS_H = 1 // cdefs.h:19:1:
X_SYS_POLL_H = 1 // poll.h:20:1:
Linux = 1 // <predefined>:263:1:
Unix = 1 // <predefined>:222:1:
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__ieee128 = float64 /* <builtin>:47:21 */
// Compatibility definitions for System V `poll' interface.
// Copyright (C) 1994-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
//
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
// Extensions to ISO C11 from TS 18661-1:2014.
// __STDC_WANT_IEC_60559_FUNCS_EXT__
// Extensions to ISO C11 from TS 18661-4:2015.
// __STDC_WANT_IEC_60559_TYPES_EXT__
// Extensions to ISO C11 from TS 18661-3:2015.
//
// _POSIX_SOURCE IEEE Std 1003.1.
// _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
// if >=199309L, add IEEE Std 1003.1b-1993;
// if >=199506L, add IEEE Std 1003.1c-1995;
// if >=200112L, all of IEEE 1003.1-2004
// if >=200809L, all of IEEE 1003.1-2008
// _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if
// Single Unix conformance is wanted, to 600 for the
// sixth revision, to 700 for the seventh revision.
// _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
// _LARGEFILE_SOURCE Some more functions for correct standard I/O.
// _LARGEFILE64_SOURCE Additional functionality from LFS for large files.
// _FILE_OFFSET_BITS=N Select default filesystem interface.
// _ATFILE_SOURCE Additional *at interfaces.
// _GNU_SOURCE All of the above, plus GNU extensions.
// _DEFAULT_SOURCE The default set of features (taking precedence over
// __STRICT_ANSI__).
//
// _FORTIFY_SOURCE Add security hardening to many library functions.
// Set to 1 or 2; 2 performs stricter checks than 1.
//
// _REENTRANT, _THREAD_SAFE
// Obsolete; equivalent to _POSIX_C_SOURCE=199506L.
//
// The `-ansi' switch to the GNU C compiler, and standards conformance
// options such as `-std=c99', define __STRICT_ANSI__. If none of
// these are defined, or if _DEFAULT_SOURCE is defined, the default is
// to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to
// 200809L, as well as enabling miscellaneous functions from BSD and
// SVID. If more than one of these are defined, they accumulate. For
// example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together
// give you ISO C, 1003.1, and 1003.2, but nothing else.
//
// These are defined by this file and are used by the
// header files to decide what to declare or define:
//
// __GLIBC_USE (F) Define things from feature set F. This is defined
// to 1 or 0; the subsequent macros are either defined
// or undefined, and those tests should be moved to
// __GLIBC_USE.
// __USE_ISOC11 Define ISO C11 things.
// __USE_ISOC99 Define ISO C99 things.
// __USE_ISOC95 Define ISO C90 AMD1 (C95) things.
// __USE_ISOCXX11 Define ISO C++11 things.
// __USE_POSIX Define IEEE Std 1003.1 things.
// __USE_POSIX2 Define IEEE Std 1003.2 things.
// __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things.
// __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things.
// __USE_XOPEN Define XPG things.
// __USE_XOPEN_EXTENDED Define X/Open Unix things.
// __USE_UNIX98 Define Single Unix V2 things.
// __USE_XOPEN2K Define XPG6 things.
// __USE_XOPEN2KXSI Define XPG6 XSI things.
// __USE_XOPEN2K8 Define XPG7 things.
// __USE_XOPEN2K8XSI Define XPG7 XSI things.
// __USE_LARGEFILE Define correct standard I/O things.
// __USE_LARGEFILE64 Define LFS things with separate names.
// __USE_FILE_OFFSET64 Define 64bit interface as default.
// __USE_MISC Define things from 4.3BSD or System V Unix.
// __USE_ATFILE Define *at interfaces and AT_* constants for them.
// __USE_GNU Define GNU extensions.
// __USE_FORTIFY_LEVEL Additional security measures used, according to level.
//
// The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are
// defined by this file unconditionally. `__GNU_LIBRARY__' is provided
// only for compatibility. All new code should use the other symbols
// to test for features.
//
// All macros listed above as possibly being defined by this file are
// explicitly undefined if they are not explicitly defined.
// Feature-test macros that are not defined by the user or compiler
// but are implied by the other feature-test macros defined (or by the
// lack of any definitions) are defined by the file.
//
// ISO C feature test macros depend on the definition of the macro
// when an affected header is included, not when the first system
// header is included, and so they are handled in
// <bits/libc-header-start.h>, which does not have a multiple include
// guard. Feature test macros that can be handled from the first
// system header included are handled here.
// Undefine everything, so we get a clean slate.
// Suppress kernel-name space pollution unless user expressedly asks
// for it.
// Convenience macro to test the version of gcc.
// Use like this:
// #if __GNUC_PREREQ (2,8)
// ... code requiring gcc 2.8 or later ...
// #endif
// Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was
// added in 2.0.
// Similarly for clang. Features added to GCC after version 4.2 may
// or may not also be available in clang, and clang's definitions of
// __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such
// features can be queried via __has_extension/__has_feature.
// Whether to use feature set F.
// _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
// _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not
// issue a warning; the expectation is that the source is being
// transitioned to use the new macro.
// If _GNU_SOURCE was defined by the user, turn on all the other features.
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
// This is to enable the ISO C2X extension.
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
// This is to enable the ISO C90 Amendment 1:1995 extension.
// If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE
// is defined, use POSIX.1-2008 (or another version depending on
// _XOPEN_SOURCE).
// Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be
// defined in all multithreaded code. GNU libc has not required this
// for many years. We now treat them as compatibility synonyms for
// _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with
// comprehensive support for multithreaded code. Using them never
// lowers the selected level of POSIX conformance, only raises it.
// The function 'gets' existed in C89, but is impossible to use
// safely. It has been removed from ISO C11 and ISO C++14. Note: for
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
// GNU formerly extended the scanf functions with modified format
// specifiers %as, %aS, and %a[...] that allocate a buffer for the
// input using malloc. This extension conflicts with ISO C99, which
// defines %a as a standalone format specifier that reads a floating-
// point number; moreover, POSIX.1-2008 provides the same feature
// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
//
// We now follow C99 unless GNU extensions are active and the compiler
// is specifically in C89 or C++98 mode (strict or not). For
// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
// old extension.
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
// on. The use of this variable is deprecated. Use __GLIBC__ and
// __GLIBC_MINOR__ now (see below) when you want to test for a specific
// GNU C library version and use the values in <gnu/lib-names.h> to get
// the sonames of the shared libraries.
// Major and minor version number of the GNU C library package. Use
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
// The GNU libc does not support any K&R compilers or the traditional mode
// of ISO C compilers anymore. Check for some of the combinations not
// anymore supported.
// Some user header file might have defined this before.
// All functions, except those with callbacks or those that
// synchronize memory, are leaf functions.
// GCC can always grok prototypes. For C++ programs we add throw()
// to help it optimize the function calls. But this works only with
// gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions
// as non-throwing using a function attribute since programs can use
// the -fexceptions options for C code as well.
// Compilers that are not clang may object to
// #if defined __clang__ && __has_extension(...)
// even though they do not need to evaluate the right-hand side of the &&.
// These two macros are not used in glibc anymore. They are kept here
// only because some other projects expect the macros to be defined.
// For these things, GCC behaves the ANSI way normally,
// and the non-ANSI way under -traditional.
// This is not a typedef so `const __ptr_t' does the right thing.
// C++ needs to know that types and declarations are C, not C++.
// Fortify support.
// Support for flexible arrays.
// Headers that should use flexible arrays only if they're "real"
// (e.g. only if they won't affect sizeof()) should test
// #if __glibc_c99_flexarr_available.
// __asm__ ("xyz") is used throughout the headers to rename functions
// at the assembly language level. This is wrapped by the __REDIRECT
// macro, in order to support compilers that can do this some other
// way. When compilers don't support asm-names at all, we have to do
// preprocessor tricks instead (which don't have exactly the right
// semantics, but it's the best we can do).
//
// Example:
// int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid);
//
// #elif __SOME_OTHER_COMPILER__
//
// # define __REDIRECT(name, proto, alias) name proto; _Pragma("let " #name " = " #alias)
// GCC has various useful declarations that can be made with the
// `__attribute__' syntax. All of the ways we use this do fine if
// they are omitted for compilers that don't understand it.
// At some point during the gcc 2.96 development the `malloc' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// Tell the compiler which arguments to an allocation function
// indicate the size of the allocation.
// At some point during the gcc 2.96 development the `pure' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// This declaration tells the compiler that the value is constant.
// At some point during the gcc 3.1 development the `used' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// Since version 3.2, gcc allows marking deprecated functions.
// Since version 4.5, gcc also allows one to specify the message printed
// when a deprecated function is used. clang claims to be gcc 4.2, but
// may also support this feature.
// At some point during the gcc 2.8 development the `format_arg' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// If several `format_arg' attributes are given for the same function, in
// gcc-3.0 and older, all but the last one are ignored. In newer gccs,
// all designated arguments are considered.
// At some point during the gcc 2.97 development the `strfmon' format
// attribute for functions was introduced. We don't want to use it
// unconditionally (although this would be possible) since it
// generates warnings.
// The nonull function attribute allows to mark pointer parameters which
// must not be NULL.
// If fortification mode, we warn about unused results of certain
// function calls which can lead to problems.
// Forces a function to be always inlined.
// The Linux kernel defines __always_inline in stddef.h (283d7573), and
// it conflicts with this definition. Therefore undefine it first to
// allow either header to be included first.
// Associate error messages with the source location of the call site rather
// than with the source location inside the function.
// GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
// inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__
// or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
// older than 4.3 may define these macros and still not guarantee GNU inlining
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
// __extern_always_inline function to some other vararg function.
// It is possible to compile containing GCC extensions even if GCC is
// run in pedantic mode if the uses are carefully marked using the
// `__extension__' keyword. But this is not generally available before
// version 2.8.
// __restrict is known in EGCS 1.2 and above.
// ISO C99 also allows to declare arrays as non-overlapping. The syntax is
// array_name[restrict]
// GCC 3.1 supports this.
// Describes a char array whose address can safely be passed as the first
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
// Undefine (also defined in libc-symbols.h).
// Copies attributes from the declaration or type referenced by
// the argument.
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
//
// Note: MESSAGE must be a _single_ string; concatenation of string
// literals is not supported.
// Generic selection (ISO C11) is a C-only feature, available in GCC
// since version 4.9. Previous versions do not provide generic
// selection, even though they might set __STDC_VERSION__ to 201112L,
// when in -std=c11 mode. Thus, we must check for !defined __GNUC__
// when testing __STDC_VERSION__ for generic selection support.
// On the other hand, Clang also defines __GNUC__, so a clang-specific
// check is required to enable the use of generic selection.
// If we don't have __REDIRECT, prototypes will be missing if
// __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64].
// Decide whether we can define 'extern inline' functions in headers.
// This is here only because every header file already includes this one.
// Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
// <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
// that will always return failure (and set errno to ENOSYS).
// This file is automatically generated.
// This file selects the right generated file of `__stub_FUNCTION' macros
// based on the architecture being compiled for.
// Determine the wordsize from the preprocessor defines.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
// Get the platform dependent bits of `poll'.
// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Event types that can be polled for. These bits may be set in `events'
// to indicate the interesting event types; they will appear in `revents'
// to indicate the status of the file descriptor.
// These values are defined in XPG4.2.
// Event types always implicitly polled for. These bits need not be set in
// `events', but they will appear in `revents' to indicate the status of
// the file descriptor.
// Type used for the number of file descriptors.
type Nfds_t = uint64 /* poll.h:33:27 */
// Data structure describing a polling request.
type Pollfd = struct {
Ffd int32
Fevents int16
Frevents int16
} /* poll.h:36:1 */
// Define some inlines helping to catch common problems.
var _ uint8 /* gen.c:2:13: */

View file

@ -0,0 +1,5 @@
// 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 -ignore-unsupported-alignment -o pthread/pthread_linux_ppc64le.go -pkgname pthread', DO NOT EDIT.
package pthread
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,9 @@
// 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.
package pthread
var CAPI = map[string]struct{}{
"daylight": {},
"timezone": {},
"tzname": {},
}

1884
vendor/modernc.org/libc/pthread/pthread_linux_ppc64le.go generated vendored Normal file

File diff suppressed because it is too large Load diff

1050
vendor/modernc.org/libc/pthread/pthread_windows_arm64.go generated vendored Normal file

File diff suppressed because it is too large Load diff

5
vendor/modernc.org/libc/pwd/capi_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo pwd/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o pwd/pwd_linux_ppc64le.go -pkgname pwd', DO NOT EDIT.
package pwd
var CAPI = map[string]struct{}{}

796
vendor/modernc.org/libc/pwd/pwd_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,796 @@
// Code generated by 'ccgo pwd/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o pwd/pwd_linux_ppc64le.go -pkgname pwd', DO NOT EDIT.
package pwd
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
NSS_BUFLEN_PASSWD = 1024 // pwd.h:123:1:
X_ARCH_PPC = 1 // <predefined>:198:1:
X_ARCH_PPC64 = 1 // <predefined>:402:1:
X_ARCH_PPCGR = 1 // <predefined>:15:1:
X_ARCH_PPCSQ = 1 // <predefined>:43:1:
X_ARCH_PWR4 = 1 // <predefined>:381:1:
X_ARCH_PWR5 = 1 // <predefined>:90:1:
X_ARCH_PWR5X = 1 // <predefined>:137:1:
X_ARCH_PWR6 = 1 // <predefined>:91:1:
X_ARCH_PWR7 = 1 // <predefined>:92:1:
X_ARCH_PWR8 = 1 // <predefined>:93:1:
X_ATFILE_SOURCE = 1 // features.h:342:1:
X_BITS_TIME64_H = 1 // time64.h:24:1:
X_BITS_TYPESIZES_H = 1 // typesizes.h:24:1:
X_BITS_TYPES_H = 1 // types.h:24:1:
X_BSD_SIZE_T_ = 0 // stddef.h:189:1:
X_BSD_SIZE_T_DEFINED_ = 0 // stddef.h:192:1:
X_CALL_ELF = 2 // <predefined>:415:1:
X_CALL_LINUX = 1 // <predefined>:123:1:
X_DEFAULT_SOURCE = 1 // features.h:227:1:
X_FEATURES_H = 1 // features.h:19:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_GCC_SIZE_T = 0 // stddef.h:195:1:
X_LITTLE_ENDIAN = 1 // <predefined>:37:1:
X_LP64 = 1 // <predefined>:335:1:
X_POSIX_C_SOURCE = 200809 // features.h:281:1:
X_POSIX_SOURCE = 1 // features.h:279:1:
X_PWD_H = 1 // pwd.h:23:1:
X_SIZET_ = 0 // stddef.h:196:1:
X_SIZE_T = 0 // stddef.h:183:1:
X_SIZE_T_ = 0 // stddef.h:188:1:
X_SIZE_T_DECLARED = 0 // stddef.h:193:1:
X_SIZE_T_DEFINED = 0 // stddef.h:191:1:
X_SIZE_T_DEFINED_ = 0 // stddef.h:190:1:
X_STDC_PREDEF_H = 1 // <predefined>:203:1:
X_SYS_CDEFS_H = 1 // cdefs.h:19:1:
X_SYS_SIZE_T_H = 0 // stddef.h:184:1:
X_T_SIZE = 0 // stddef.h:186:1:
X_T_SIZE_ = 0 // stddef.h:185:1:
Linux = 1 // <predefined>:263:1:
Unix = 1 // <predefined>:222:1:
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__ieee128 = float64 /* <builtin>:47:21 */
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// POSIX Standard: 9.2.2 User Database Access <pwd.h>
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
//
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
// Extensions to ISO C11 from TS 18661-1:2014.
// __STDC_WANT_IEC_60559_FUNCS_EXT__
// Extensions to ISO C11 from TS 18661-4:2015.
// __STDC_WANT_IEC_60559_TYPES_EXT__
// Extensions to ISO C11 from TS 18661-3:2015.
//
// _POSIX_SOURCE IEEE Std 1003.1.
// _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
// if >=199309L, add IEEE Std 1003.1b-1993;
// if >=199506L, add IEEE Std 1003.1c-1995;
// if >=200112L, all of IEEE 1003.1-2004
// if >=200809L, all of IEEE 1003.1-2008
// _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if
// Single Unix conformance is wanted, to 600 for the
// sixth revision, to 700 for the seventh revision.
// _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
// _LARGEFILE_SOURCE Some more functions for correct standard I/O.
// _LARGEFILE64_SOURCE Additional functionality from LFS for large files.
// _FILE_OFFSET_BITS=N Select default filesystem interface.
// _ATFILE_SOURCE Additional *at interfaces.
// _GNU_SOURCE All of the above, plus GNU extensions.
// _DEFAULT_SOURCE The default set of features (taking precedence over
// __STRICT_ANSI__).
//
// _FORTIFY_SOURCE Add security hardening to many library functions.
// Set to 1 or 2; 2 performs stricter checks than 1.
//
// _REENTRANT, _THREAD_SAFE
// Obsolete; equivalent to _POSIX_C_SOURCE=199506L.
//
// The `-ansi' switch to the GNU C compiler, and standards conformance
// options such as `-std=c99', define __STRICT_ANSI__. If none of
// these are defined, or if _DEFAULT_SOURCE is defined, the default is
// to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to
// 200809L, as well as enabling miscellaneous functions from BSD and
// SVID. If more than one of these are defined, they accumulate. For
// example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together
// give you ISO C, 1003.1, and 1003.2, but nothing else.
//
// These are defined by this file and are used by the
// header files to decide what to declare or define:
//
// __GLIBC_USE (F) Define things from feature set F. This is defined
// to 1 or 0; the subsequent macros are either defined
// or undefined, and those tests should be moved to
// __GLIBC_USE.
// __USE_ISOC11 Define ISO C11 things.
// __USE_ISOC99 Define ISO C99 things.
// __USE_ISOC95 Define ISO C90 AMD1 (C95) things.
// __USE_ISOCXX11 Define ISO C++11 things.
// __USE_POSIX Define IEEE Std 1003.1 things.
// __USE_POSIX2 Define IEEE Std 1003.2 things.
// __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things.
// __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things.
// __USE_XOPEN Define XPG things.
// __USE_XOPEN_EXTENDED Define X/Open Unix things.
// __USE_UNIX98 Define Single Unix V2 things.
// __USE_XOPEN2K Define XPG6 things.
// __USE_XOPEN2KXSI Define XPG6 XSI things.
// __USE_XOPEN2K8 Define XPG7 things.
// __USE_XOPEN2K8XSI Define XPG7 XSI things.
// __USE_LARGEFILE Define correct standard I/O things.
// __USE_LARGEFILE64 Define LFS things with separate names.
// __USE_FILE_OFFSET64 Define 64bit interface as default.
// __USE_MISC Define things from 4.3BSD or System V Unix.
// __USE_ATFILE Define *at interfaces and AT_* constants for them.
// __USE_GNU Define GNU extensions.
// __USE_FORTIFY_LEVEL Additional security measures used, according to level.
//
// The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are
// defined by this file unconditionally. `__GNU_LIBRARY__' is provided
// only for compatibility. All new code should use the other symbols
// to test for features.
//
// All macros listed above as possibly being defined by this file are
// explicitly undefined if they are not explicitly defined.
// Feature-test macros that are not defined by the user or compiler
// but are implied by the other feature-test macros defined (or by the
// lack of any definitions) are defined by the file.
//
// ISO C feature test macros depend on the definition of the macro
// when an affected header is included, not when the first system
// header is included, and so they are handled in
// <bits/libc-header-start.h>, which does not have a multiple include
// guard. Feature test macros that can be handled from the first
// system header included are handled here.
// Undefine everything, so we get a clean slate.
// Suppress kernel-name space pollution unless user expressedly asks
// for it.
// Convenience macro to test the version of gcc.
// Use like this:
// #if __GNUC_PREREQ (2,8)
// ... code requiring gcc 2.8 or later ...
// #endif
// Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was
// added in 2.0.
// Similarly for clang. Features added to GCC after version 4.2 may
// or may not also be available in clang, and clang's definitions of
// __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such
// features can be queried via __has_extension/__has_feature.
// Whether to use feature set F.
// _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
// _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not
// issue a warning; the expectation is that the source is being
// transitioned to use the new macro.
// If _GNU_SOURCE was defined by the user, turn on all the other features.
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
// This is to enable the ISO C2X extension.
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
// This is to enable the ISO C90 Amendment 1:1995 extension.
// If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE
// is defined, use POSIX.1-2008 (or another version depending on
// _XOPEN_SOURCE).
// Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be
// defined in all multithreaded code. GNU libc has not required this
// for many years. We now treat them as compatibility synonyms for
// _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with
// comprehensive support for multithreaded code. Using them never
// lowers the selected level of POSIX conformance, only raises it.
// The function 'gets' existed in C89, but is impossible to use
// safely. It has been removed from ISO C11 and ISO C++14. Note: for
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
// GNU formerly extended the scanf functions with modified format
// specifiers %as, %aS, and %a[...] that allocate a buffer for the
// input using malloc. This extension conflicts with ISO C99, which
// defines %a as a standalone format specifier that reads a floating-
// point number; moreover, POSIX.1-2008 provides the same feature
// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
//
// We now follow C99 unless GNU extensions are active and the compiler
// is specifically in C89 or C++98 mode (strict or not). For
// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
// old extension.
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
// on. The use of this variable is deprecated. Use __GLIBC__ and
// __GLIBC_MINOR__ now (see below) when you want to test for a specific
// GNU C library version and use the values in <gnu/lib-names.h> to get
// the sonames of the shared libraries.
// Major and minor version number of the GNU C library package. Use
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
// The GNU libc does not support any K&R compilers or the traditional mode
// of ISO C compilers anymore. Check for some of the combinations not
// anymore supported.
// Some user header file might have defined this before.
// All functions, except those with callbacks or those that
// synchronize memory, are leaf functions.
// GCC can always grok prototypes. For C++ programs we add throw()
// to help it optimize the function calls. But this works only with
// gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions
// as non-throwing using a function attribute since programs can use
// the -fexceptions options for C code as well.
// Compilers that are not clang may object to
// #if defined __clang__ && __has_extension(...)
// even though they do not need to evaluate the right-hand side of the &&.
// These two macros are not used in glibc anymore. They are kept here
// only because some other projects expect the macros to be defined.
// For these things, GCC behaves the ANSI way normally,
// and the non-ANSI way under -traditional.
// This is not a typedef so `const __ptr_t' does the right thing.
// C++ needs to know that types and declarations are C, not C++.
// Fortify support.
// Support for flexible arrays.
// Headers that should use flexible arrays only if they're "real"
// (e.g. only if they won't affect sizeof()) should test
// #if __glibc_c99_flexarr_available.
// __asm__ ("xyz") is used throughout the headers to rename functions
// at the assembly language level. This is wrapped by the __REDIRECT
// macro, in order to support compilers that can do this some other
// way. When compilers don't support asm-names at all, we have to do
// preprocessor tricks instead (which don't have exactly the right
// semantics, but it's the best we can do).
//
// Example:
// int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid);
//
// #elif __SOME_OTHER_COMPILER__
//
// # define __REDIRECT(name, proto, alias) name proto; _Pragma("let " #name " = " #alias)
// GCC has various useful declarations that can be made with the
// `__attribute__' syntax. All of the ways we use this do fine if
// they are omitted for compilers that don't understand it.
// At some point during the gcc 2.96 development the `malloc' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// Tell the compiler which arguments to an allocation function
// indicate the size of the allocation.
// At some point during the gcc 2.96 development the `pure' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// This declaration tells the compiler that the value is constant.
// At some point during the gcc 3.1 development the `used' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// Since version 3.2, gcc allows marking deprecated functions.
// Since version 4.5, gcc also allows one to specify the message printed
// when a deprecated function is used. clang claims to be gcc 4.2, but
// may also support this feature.
// At some point during the gcc 2.8 development the `format_arg' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// If several `format_arg' attributes are given for the same function, in
// gcc-3.0 and older, all but the last one are ignored. In newer gccs,
// all designated arguments are considered.
// At some point during the gcc 2.97 development the `strfmon' format
// attribute for functions was introduced. We don't want to use it
// unconditionally (although this would be possible) since it
// generates warnings.
// The nonull function attribute allows to mark pointer parameters which
// must not be NULL.
// If fortification mode, we warn about unused results of certain
// function calls which can lead to problems.
// Forces a function to be always inlined.
// The Linux kernel defines __always_inline in stddef.h (283d7573), and
// it conflicts with this definition. Therefore undefine it first to
// allow either header to be included first.
// Associate error messages with the source location of the call site rather
// than with the source location inside the function.
// GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
// inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__
// or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
// older than 4.3 may define these macros and still not guarantee GNU inlining
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
// __extern_always_inline function to some other vararg function.
// It is possible to compile containing GCC extensions even if GCC is
// run in pedantic mode if the uses are carefully marked using the
// `__extension__' keyword. But this is not generally available before
// version 2.8.
// __restrict is known in EGCS 1.2 and above.
// ISO C99 also allows to declare arrays as non-overlapping. The syntax is
// array_name[restrict]
// GCC 3.1 supports this.
// Describes a char array whose address can safely be passed as the first
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
// Undefine (also defined in libc-symbols.h).
// Copies attributes from the declaration or type referenced by
// the argument.
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
//
// Note: MESSAGE must be a _single_ string; concatenation of string
// literals is not supported.
// Generic selection (ISO C11) is a C-only feature, available in GCC
// since version 4.9. Previous versions do not provide generic
// selection, even though they might set __STDC_VERSION__ to 201112L,
// when in -std=c11 mode. Thus, we must check for !defined __GNUC__
// when testing __STDC_VERSION__ for generic selection support.
// On the other hand, Clang also defines __GNUC__, so a clang-specific
// check is required to enable the use of generic selection.
// If we don't have __REDIRECT, prototypes will be missing if
// __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64].
// Decide whether we can define 'extern inline' functions in headers.
// This is here only because every header file already includes this one.
// Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
// <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
// that will always return failure (and set errno to ENOSYS).
// This file is automatically generated.
// This file selects the right generated file of `__stub_FUNCTION' macros
// based on the architecture being compiled for.
// Determine the wordsize from the preprocessor defines.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Bit size of the time_t type at glibc build time, general case.
// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
type X__u_char = uint8 /* types.h:31:23 */
type X__u_short = uint16 /* types.h:32:28 */
type X__u_int = uint32 /* types.h:33:22 */
type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
type X__int8_t = int8 /* types.h:37:21 */
type X__uint8_t = uint8 /* types.h:38:23 */
type X__int16_t = int16 /* types.h:39:26 */
type X__uint16_t = uint16 /* types.h:40:28 */
type X__int32_t = int32 /* types.h:41:20 */
type X__uint32_t = uint32 /* types.h:42:22 */
type X__int64_t = int64 /* types.h:44:25 */
type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
type X__int_least8_t = X__int8_t /* types.h:52:18 */
type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
type X__int_least16_t = X__int16_t /* types.h:54:19 */
type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
type X__int_least32_t = X__int32_t /* types.h:56:19 */
type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
type X__int_least64_t = X__int64_t /* types.h:58:19 */
type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
type X__quad_t = int64 /* types.h:63:18 */
type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
type X__intmax_t = int64 /* types.h:72:18 */
type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
// of those macros must use the following macros for underlying types.
// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
// variants of each of the following integer types on this machine.
//
// 16 -- "natural" 16-bit type (always short)
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
// conventional uses of `long' or `long long' type modifiers match the
// types we define, even when a less-adorned type would be the same size.
// This matters for (somewhat) portably writing printf/scanf formats for
// these types, where using the appropriate l or ll format modifiers can
// make the typedefs and the formats match up across all GNU platforms. If
// we used `long' when it's 64 bits where `long long' is expected, then the
// compiler would warn about the formats not matching the argument types,
// and the programmer changing them to shut up the compiler would break the
// program's portability.
//
// Here we assume what is presently the case in all the GCC configurations
// we support: long long is always 64 bits, long is always word/address size,
// and int is always 32 bits.
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Generic version.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Tell the libc code that off_t and off64_t are actually the same type
// for all ABI purposes, even if possibly expressed as different base types
// for C type-checking purposes.
// Same for ino_t and ino64_t.
// And for rlim_t and rlim64_t.
// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
// bits/time64.h -- underlying types for __time64_t. Generic version.
// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Define __TIME64_T_TYPE so that it is always a 64-bit type.
// If we already have 64-bit time type then use it.
type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
type X__blkcnt_t = int64 /* types.h:179:28 */
type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
type X__fsblkcnt_t = uint64 /* types.h:183:30 */
type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
type X__fsfilcnt_t = uint64 /* types.h:187:30 */
type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
type X__fsword_t = int64 /* types.h:191:28 */
type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
type X__sig_atomic_t = int32 /* types.h:214:13 */
// Wide character type.
// Locale-writers should change this as necessary to
// be big enough to hold unique values not between 0 and 127,
// and not (wchar_t) -1, for each defined multibyte character.
// Define this type if we are doing the whole job,
// or if we want this type in particular.
// A null pointer constant.
// The Single Unix specification says that some more types are
// available here.
type Gid_t = X__gid_t /* pwd.h:38:17 */
type Uid_t = X__uid_t /* pwd.h:43:17 */
// A record in the user database.
type Passwd = struct {
Fpw_name uintptr
Fpw_passwd uintptr
Fpw_uid X__uid_t
Fpw_gid X__gid_t
Fpw_gecos uintptr
Fpw_dir uintptr
Fpw_shell uintptr
} /* pwd.h:49:1 */
var _ uint8 /* gen.c:2:13: */

5
vendor/modernc.org/libc/signal/capi_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo signal/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o signal/signal_linux_ppc64le.go -pkgname signal', DO NOT EDIT.
package signal
var CAPI = map[string]struct{}{}

5
vendor/modernc.org/libc/signal/capi_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo signal\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 signal\signal_windows_arm64.go -pkgname signal', DO NOT EDIT.
package signal
var CAPI = map[string]struct{}{}

12
vendor/modernc.org/libc/signal/more_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,12 @@
// Copyright 2020 The Libc Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package signal
const (
// /usr/include/asm-generic/signal-defs.h:24:#define SIG_DFL ((__sighandler_t)0) /* default signal handling */
SIG_DFL = 0
// /usr/include/asm-generic/signal-defs.h:25:#define SIG_IGN ((__sighandler_t)1) /* ignore signal */
SIG_IGN = 1
)

2762
vendor/modernc.org/libc/signal/signal_linux_ppc64le.go generated vendored Normal file

File diff suppressed because it is too large Load diff

313
vendor/modernc.org/libc/signal/signal_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,313 @@
// Code generated by 'ccgo signal\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 signal\signal_windows_arm64.go -pkgname signal', DO NOT EDIT.
package signal
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
DUMMYSTRUCTNAME = 0
DUMMYSTRUCTNAME1 = 0
DUMMYSTRUCTNAME2 = 0
DUMMYSTRUCTNAME3 = 0
DUMMYSTRUCTNAME4 = 0
DUMMYSTRUCTNAME5 = 0
DUMMYUNIONNAME = 0
DUMMYUNIONNAME1 = 0
DUMMYUNIONNAME2 = 0
DUMMYUNIONNAME3 = 0
DUMMYUNIONNAME4 = 0
DUMMYUNIONNAME5 = 0
DUMMYUNIONNAME6 = 0
DUMMYUNIONNAME7 = 0
DUMMYUNIONNAME8 = 0
DUMMYUNIONNAME9 = 0
MINGW_DDK_H = 0
MINGW_HAS_DDK_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
NSIG = 23
SIGABRT = 22
SIGABRT2 = 22
SIGABRT_COMPAT = 6
SIGBREAK = 21
SIGFPE = 8
SIGILL = 4
SIGINT = 2
SIGSEGV = 11
SIGTERM = 15
UNALIGNED = 0
USE___UUIDOF = 0
WIN32 = 1
WIN64 = 1
WINNT = 1
WIN_PTHREADS_SIGNAL_H = 0
X_AGLOBAL = 0
X_ANONYMOUS_STRUCT = 0
X_ANONYMOUS_UNION = 0
X_ARGMAX = 100
X_ARM64_ = 1
X_CONST_RETURN = 0
X_CRTNOALIAS = 0
X_CRTRESTRICT = 0
X_CRT_ALTERNATIVE_IMPORTED = 0
X_CRT_MANAGED_HEAP_DEPRECATE = 0
X_CRT_PACKING = 8
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0
X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP = 0
X_DLL = 0
X_ERRCODE_DEFINED = 0
X_FILE_OFFSET_BITS = 64
X_INC_CORECRT = 0
X_INC_CRTDEFS = 0
X_INC_CRTDEFS_MACRO = 0
X_INC_MINGW_SECAPI = 0
X_INC_SIGNAL = 0
X_INC_VADEFS = 0
X_INC__MINGW_H = 0
X_INT128_DEFINED = 0
X_INTPTR_T_DEFINED = 0
X_MT = 0
X_M_ARM64 = 1
X_PGLOBAL = 0
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
X_RSIZE_T_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
X_SIG_ATOMIC_T_DEFINED = 0
X_SIZE_T_DEFINED = 0
X_SSIZE_T_DEFINED = 0
X_TAGLC_ID_DEFINED = 0
X_THREADLOCALEINFO = 0
X_TIME32_T_DEFINED = 0
X_TIME64_T_DEFINED = 0
X_TIME_T_DEFINED = 0
X_UCRT = 0
X_UINTPTR_T_DEFINED = 0
X_VA_LIST_DEFINED = 0
X_W64 = 0
X_WCHAR_T_DEFINED = 0
X_WCTYPE_T_DEFINED = 0
X_WIN32 = 1
X_WIN32_WINNT = 0x601
X_WIN64 = 1
X_WINT_T = 0
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = uint16 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// This macro holds an monotonic increasing value, which indicates
// a specific fix/patch is present on trunk. This value isn't related to
// minor/major version-macros. It is increased on demand, if a big
// fix was applied to trunk. This macro gets just increased on trunk. For
// other branches its value won't be modified.
// mingw.org's version macros: these make gcc to define
// MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
// and the __mingwthr_key_dtor() function from the MinGW
// CRT in its private gthr-win32.h header.
// Set VC specific compiler target macros.
// MS does not prefix symbols by underscores for 64-bit.
// As we have to support older gcc version, which are using underscores
// as symbol prefix for x64, we have to check here for the user label
// prefix defined by gcc.
// Special case nameless struct/union.
// MinGW-w64 has some additional C99 printf/scanf feature support.
// So we add some helper macros to ease recognition of them.
// If _FORTIFY_SOURCE is enabled, some inline functions may use
// __builtin_va_arg_pack(). GCC may report an error if the address
// of such a function is used. Set _FORTIFY_VA_ARG=0 in this case.
// Enable workaround for ABI incompatibility on affected platforms
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
// Templates won't work in C, will break if secure API is not enabled, disabled
// https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
// fallback on default implementation if we can't know the size of the destination
// Include _cygwin.h if we're building a Cygwin application.
// Target specific macro replacement for type "long". In the Windows API,
// the type long is always 32 bit, even if the target is 64 bit (LLP64).
// On 64 bit Cygwin, the type long is 64 bit (LP64). So, to get the right
// sized definitions and declarations, all usage of type long in the Windows
// headers have to be replaced by the below defined macro __LONG32.
// C/C++ specific language defines.
// Note the extern. This is needed to work around GCC's
// limitations in handling dllimport attribute.
// Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's
// variadiac macro facility, because variadic macros cause syntax
// errors with --traditional-cpp.
// High byte is the major version, low byte is the minor.
// Allow both 0x1400 and 0xE00 to identify UCRT
// ===-------- vadefs.h ---------------------------------------------------===
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===-----------------------------------------------------------------------===
// Only include this if we are aiming for MSVC compatibility.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// for backward compatibility
type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
type Ssize_t = int64 /* corecrt.h:45:35 */
type Rsize_t = Size_t /* corecrt.h:52:16 */
type Intptr_t = int64 /* corecrt.h:62:35 */
type Uintptr_t = uint64 /* corecrt.h:75:44 */
type Wint_t = uint16 /* corecrt.h:106:24 */
type Wctype_t = uint16 /* corecrt.h:107:24 */
type Errno_t = int32 /* corecrt.h:113:13 */
type X__time32_t = int32 /* corecrt.h:118:14 */
type X__time64_t = int64 /* corecrt.h:123:35 */
type Time_t = X__time64_t /* corecrt.h:138:20 */
type Threadlocaleinfostruct = struct {
F_locale_pctype uintptr
F_locale_mb_cur_max int32
F_locale_lc_codepage uint32
} /* corecrt.h:430:1 */
type Pthreadlocinfo = uintptr /* corecrt.h:432:39 */
type Pthreadmbcinfo = uintptr /* corecrt.h:433:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
} /* corecrt.h:436:9 */
type X_locale_tstruct = Localeinfo_struct /* corecrt.h:439:3 */
type X_locale_t = uintptr /* corecrt.h:439:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
} /* corecrt.h:443:9 */
type LC_ID = TagLC_ID /* corecrt.h:447:3 */
type LPLC_ID = uintptr /* corecrt.h:447:9 */
type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:482:3 */
//
// Copyright (c) 2013-2016 mingw-w64 project
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the "Software"),
// to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
// and/or sell copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
// Windows has rudimentary signals support.
type Sig_atomic_t = int32 /* signal.h:18:15 */
type X__p_sig_fn_t = uintptr /* signal.h:48:16 */
var _ int8 /* gen.c:2:13: */

5
vendor/modernc.org/libc/stdio/capi_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo stdio/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o stdio/stdio_linux_ppc64le.go -pkgname stdio', DO NOT EDIT.
package stdio
var CAPI = map[string]struct{}{}

5
vendor/modernc.org/libc/stdio/capi_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo stdio\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 stdio\stdio_windows_arm64.go -pkgname stdio', DO NOT EDIT.
package stdio
var CAPI = map[string]struct{}{}

546
vendor/modernc.org/libc/stdio/stdio_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,546 @@
// Code generated by 'ccgo stdio/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o stdio/stdio_linux_ppc64le.go -pkgname stdio', DO NOT EDIT.
package stdio
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
BUFSIZ = 8192 // stdio.h:99:1:
EOF = -1 // stdio.h:104:1:
FILENAME_MAX = 4096 // stdio_lim.h:27:1:
FOPEN_MAX = 16 // stdio_lim.h:37:1:
L_ctermid = 9 // stdio_lim.h:30:1:
L_tmpnam = 20 // stdio_lim.h:25:1:
P_tmpdir = "/tmp" // stdio.h:120:1:
SEEK_CUR = 1 // stdio.h:110:1:
SEEK_END = 2 // stdio.h:111:1:
SEEK_SET = 0 // stdio.h:109:1:
TMP_MAX = 238328 // stdio_lim.h:26:1:
X_ARCH_PPC = 1 // <predefined>:198:1:
X_ARCH_PPC64 = 1 // <predefined>:402:1:
X_ARCH_PPCGR = 1 // <predefined>:15:1:
X_ARCH_PPCSQ = 1 // <predefined>:43:1:
X_ARCH_PWR4 = 1 // <predefined>:381:1:
X_ARCH_PWR5 = 1 // <predefined>:90:1:
X_ARCH_PWR5X = 1 // <predefined>:137:1:
X_ARCH_PWR6 = 1 // <predefined>:91:1:
X_ARCH_PWR7 = 1 // <predefined>:92:1:
X_ARCH_PWR8 = 1 // <predefined>:93:1:
X_ATFILE_SOURCE = 1 // features.h:342:1:
X_BITS_STDIO_LIM_H = 1 // stdio_lim.h:19:1:
X_BITS_TIME64_H = 1 // time64.h:24:1:
X_BITS_TYPESIZES_H = 1 // typesizes.h:24:1:
X_BITS_TYPES_H = 1 // types.h:24:1:
X_BSD_SIZE_T_ = 0 // stddef.h:189:1:
X_BSD_SIZE_T_DEFINED_ = 0 // stddef.h:192:1:
X_CALL_ELF = 2 // <predefined>:415:1:
X_CALL_LINUX = 1 // <predefined>:123:1:
X_DEFAULT_SOURCE = 1 // features.h:227:1:
X_FEATURES_H = 1 // features.h:19:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_GCC_SIZE_T = 0 // stddef.h:195:1:
X_IOFBF = 0 // stdio.h:93:1:
X_IOLBF = 1 // stdio.h:94:1:
X_IONBF = 2 // stdio.h:95:1:
X_IO_EOF_SEEN = 0x0010 // struct_FILE.h:111:1:
X_IO_ERR_SEEN = 0x0020 // struct_FILE.h:114:1:
X_IO_USER_LOCK = 0x8000 // struct_FILE.h:117:1:
X_LITTLE_ENDIAN = 1 // <predefined>:37:1:
X_LP64 = 1 // <predefined>:335:1:
X_POSIX_C_SOURCE = 200809 // features.h:281:1:
X_POSIX_SOURCE = 1 // features.h:279:1:
X_SIZET_ = 0 // stddef.h:196:1:
X_SIZE_T = 0 // stddef.h:183:1:
X_SIZE_T_ = 0 // stddef.h:188:1:
X_SIZE_T_DECLARED = 0 // stddef.h:193:1:
X_SIZE_T_DEFINED = 0 // stddef.h:191:1:
X_SIZE_T_DEFINED_ = 0 // stddef.h:190:1:
X_STDC_PREDEF_H = 1 // <predefined>:203:1:
X_STDIO_H = 1 // stdio.h:24:1:
X_SYS_CDEFS_H = 1 // cdefs.h:19:1:
X_SYS_SIZE_T_H = 0 // stddef.h:184:1:
X_T_SIZE = 0 // stddef.h:186:1:
X_T_SIZE_ = 0 // stddef.h:185:1:
X_VA_LIST_DEFINED = 0 // stdio.h:53:1:
Linux = 1 // <predefined>:263:1:
Unix = 1 // <predefined>:222:1:
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__ieee128 = float64 /* <builtin>:47:21 */
// Wide character type.
// Locale-writers should change this as necessary to
// be big enough to hold unique values not between 0 and 127,
// and not (wchar_t) -1, for each defined multibyte character.
// Define this type if we are doing the whole job,
// or if we want this type in particular.
// A null pointer constant.
// Copyright (C) 1989-2020 Free Software Foundation, Inc.
//
// This file is part of GCC.
//
// GCC is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 3, or (at your option)
// any later version.
//
// GCC is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// Under Section 7 of GPL version 3, you are granted additional
// permissions described in the GCC Runtime Library Exception, version
// 3.1, as published by the Free Software Foundation.
//
// You should have received a copy of the GNU General Public License and
// a copy of the GCC Runtime Library Exception along with this program;
// see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
// <http://www.gnu.org/licenses/>.
// ISO C Standard: 7.15 Variable arguments <stdarg.h>
// Define __gnuc_va_list.
type X__gnuc_va_list = X__builtin_va_list /* stdarg.h:40:27 */
// Define the standard macros for the user,
// if this invocation was from the user program.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Bit size of the time_t type at glibc build time, general case.
// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
type X__u_char = uint8 /* types.h:31:23 */
type X__u_short = uint16 /* types.h:32:28 */
type X__u_int = uint32 /* types.h:33:22 */
type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
type X__int8_t = int8 /* types.h:37:21 */
type X__uint8_t = uint8 /* types.h:38:23 */
type X__int16_t = int16 /* types.h:39:26 */
type X__uint16_t = uint16 /* types.h:40:28 */
type X__int32_t = int32 /* types.h:41:20 */
type X__uint32_t = uint32 /* types.h:42:22 */
type X__int64_t = int64 /* types.h:44:25 */
type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
type X__int_least8_t = X__int8_t /* types.h:52:18 */
type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
type X__int_least16_t = X__int16_t /* types.h:54:19 */
type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
type X__int_least32_t = X__int32_t /* types.h:56:19 */
type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
type X__int_least64_t = X__int64_t /* types.h:58:19 */
type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
type X__quad_t = int64 /* types.h:63:18 */
type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
type X__intmax_t = int64 /* types.h:72:18 */
type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
// of those macros must use the following macros for underlying types.
// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
// variants of each of the following integer types on this machine.
//
// 16 -- "natural" 16-bit type (always short)
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
// conventional uses of `long' or `long long' type modifiers match the
// types we define, even when a less-adorned type would be the same size.
// This matters for (somewhat) portably writing printf/scanf formats for
// these types, where using the appropriate l or ll format modifiers can
// make the typedefs and the formats match up across all GNU platforms. If
// we used `long' when it's 64 bits where `long long' is expected, then the
// compiler would warn about the formats not matching the argument types,
// and the programmer changing them to shut up the compiler would break the
// program's portability.
//
// Here we assume what is presently the case in all the GCC configurations
// we support: long long is always 64 bits, long is always word/address size,
// and int is always 32 bits.
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Generic version.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Tell the libc code that off_t and off64_t are actually the same type
// for all ABI purposes, even if possibly expressed as different base types
// for C type-checking purposes.
// Same for ino_t and ino64_t.
// And for rlim_t and rlim64_t.
// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
// bits/time64.h -- underlying types for __time64_t. Generic version.
// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Define __TIME64_T_TYPE so that it is always a 64-bit type.
// If we already have 64-bit time type then use it.
type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
type X__blkcnt_t = int64 /* types.h:179:28 */
type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
type X__fsblkcnt_t = uint64 /* types.h:183:30 */
type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
type X__fsfilcnt_t = uint64 /* types.h:187:30 */
type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
type X__fsword_t = int64 /* types.h:191:28 */
type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
type X__sig_atomic_t = int32 /* types.h:214:13 */
// Seconds since the Epoch, visible to user code when time_t is too
// narrow only for consistency with the old way of widening too-narrow
// types. User code should never use __time64_t.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Integral type unchanged by default argument promotions that can
// hold any value corresponding to members of the extended character
// set, as well as at least one value that does not correspond to any
// member of the extended character set.
// Conversion state information.
type X__mbstate_t = struct {
F__count int32
F__value struct{ F__wch uint32 }
} /* __mbstate_t.h:21:3 */
// The tag name of this struct is _G_fpos_t to preserve historic
// C++ mangled names for functions taking fpos_t arguments.
// That name should not be used in new code.
type X_G_fpos_t = struct {
F__pos X__off_t
F__state X__mbstate_t
} /* __fpos_t.h:10:9 */
// The tag name of this struct is _G_fpos_t to preserve historic
// C++ mangled names for functions taking fpos_t arguments.
// That name should not be used in new code.
type X__fpos_t = X_G_fpos_t /* __fpos_t.h:14:3 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// The tag name of this struct is _G_fpos64_t to preserve historic
// C++ mangled names for functions taking fpos_t and/or fpos64_t
// arguments. That name should not be used in new code.
type X_G_fpos64_t = struct {
F__pos X__off64_t
F__state X__mbstate_t
} /* __fpos64_t.h:10:9 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// The tag name of this struct is _G_fpos64_t to preserve historic
// C++ mangled names for functions taking fpos_t and/or fpos64_t
// arguments. That name should not be used in new code.
type X__fpos64_t = X_G_fpos64_t /* __fpos64_t.h:14:3 */
type X_IO_FILE = struct {
F_flags int32
F__ccgo_pad1 [4]byte
F_IO_read_ptr uintptr
F_IO_read_end uintptr
F_IO_read_base uintptr
F_IO_write_base uintptr
F_IO_write_ptr uintptr
F_IO_write_end uintptr
F_IO_buf_base uintptr
F_IO_buf_end uintptr
F_IO_save_base uintptr
F_IO_backup_base uintptr
F_IO_save_end uintptr
F_markers uintptr
F_chain uintptr
F_fileno int32
F_flags2 int32
F_old_offset X__off_t
F_cur_column uint16
F_vtable_offset int8
F_shortbuf [1]uint8
F__ccgo_pad2 [4]byte
F_lock uintptr
F_offset X__off64_t
F_codecvt uintptr
F_wide_data uintptr
F_freeres_list uintptr
F_freeres_buf uintptr
F__pad5 Size_t
F_mode int32
F_unused2 [20]uint8
} /* __FILE.h:4:1 */
type X__FILE = X_IO_FILE /* __FILE.h:5:25 */
// The opaque type of streams. This is the definition used elsewhere.
type FILE = X_IO_FILE /* FILE.h:7:25 */
// These macros are used by bits/stdio.h and internal headers.
// Many more flag bits are defined internally.
type Va_list = X__gnuc_va_list /* stdio.h:52:24 */
type Off_t = X__off64_t /* stdio.h:65:19 */
type Ssize_t = X__ssize_t /* stdio.h:77:19 */
// The type of the second argument to `fgetpos' and `fsetpos'.
type Fpos_t = X__fpos64_t /* stdio.h:86:20 */
// If we are compiling with optimizing read this file. It contains
// several optimizing inline functions and macros.
var _ uint8 /* gen.c:2:13: */

348
vendor/modernc.org/libc/stdio/stdio_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,348 @@
// Code generated by 'ccgo stdio\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 stdio\stdio_windows_arm64.go -pkgname stdio', DO NOT EDIT.
package stdio
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
BUFSIZ = 512
DUMMYSTRUCTNAME = 0
DUMMYSTRUCTNAME1 = 0
DUMMYSTRUCTNAME2 = 0
DUMMYSTRUCTNAME3 = 0
DUMMYSTRUCTNAME4 = 0
DUMMYSTRUCTNAME5 = 0
DUMMYUNIONNAME = 0
DUMMYUNIONNAME1 = 0
DUMMYUNIONNAME2 = 0
DUMMYUNIONNAME3 = 0
DUMMYUNIONNAME4 = 0
DUMMYUNIONNAME5 = 0
DUMMYUNIONNAME6 = 0
DUMMYUNIONNAME7 = 0
DUMMYUNIONNAME8 = 0
DUMMYUNIONNAME9 = 0
EOF = -1
FILENAME_MAX = 260
FOPEN_MAX = 20
MINGW_DDK_H = 0
MINGW_HAS_DDK_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
SEEK_CUR = 1
SEEK_END = 2
SEEK_SET = 0
STDERR_FILENO = 2
STDIN_FILENO = 0
STDOUT_FILENO = 1
SYS_OPEN = 20
TMP_MAX = 32767
TMP_MAX_S = 32767
UNALIGNED = 0
USE___UUIDOF = 0
WIN32 = 1
WIN64 = 1
WINNT = 1
X_AGLOBAL = 0
X_ANONYMOUS_STRUCT = 0
X_ANONYMOUS_UNION = 0
X_ARGMAX = 100
X_ARM64_ = 1
X_CONST_RETURN = 0
X_CRTNOALIAS = 0
X_CRTRESTRICT = 0
X_CRT_ALTERNATIVE_IMPORTED = 0
X_CRT_DIRECTORY_DEFINED = 0
X_CRT_INTERNAL_LOCAL_PRINTF_OPTIONS = 4
X_CRT_INTERNAL_LOCAL_SCANF_OPTIONS = 2
X_CRT_INTERNAL_PRINTF_LEGACY_MSVCRT_COMPATIBILITY = 0x0008
X_CRT_INTERNAL_PRINTF_LEGACY_THREE_DIGIT_EXPONENTS = 0x0010
X_CRT_INTERNAL_PRINTF_LEGACY_VSPRINTF_NULL_TERMINATION = 0x0001
X_CRT_INTERNAL_PRINTF_LEGACY_WIDE_SPECIFIERS = 0x0004
X_CRT_INTERNAL_PRINTF_STANDARD_SNPRINTF_BEHAVIOR = 0x0002
X_CRT_INTERNAL_SCANF_LEGACY_MSVCRT_COMPATIBILITY = 0x0004
X_CRT_INTERNAL_SCANF_LEGACY_WIDE_SPECIFIERS = 0x0002
X_CRT_INTERNAL_SCANF_SECURECRT = 0x0001
X_CRT_MANAGED_HEAP_DEPRECATE = 0
X_CRT_PACKING = 8
X_CRT_PERROR_DEFINED = 0
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0
X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP = 0
X_CRT_WPERROR_DEFINED = 0
X_DLL = 0
X_ERRCODE_DEFINED = 0
X_FILE_DEFINED = 0
X_FILE_OFFSET_BITS = 64
X_FILE_OFFSET_BITS_SET_FSEEKO = 0
X_FILE_OFFSET_BITS_SET_FTELLO = 0
X_FILE_OFFSET_BITS_SET_OFFT = 0
X_FPOS_T_DEFINED = 0
X_INC_CORECRT = 0
X_INC_CRTDEFS_MACRO = 0
X_INC_MINGW_SECAPI = 0
X_INC_STDIO = 0
X_INC_STDIO_S = 0
X_INC_SWPRINTF_INL = 0
X_INC_VADEFS = 0
X_INC__MINGW_H = 0
X_INT128_DEFINED = 0
X_INTPTR_T_DEFINED = 0
X_IOB_ENTRIES = 20
X_IOFBF = 0x0000
X_IOLBF = 0x0040
X_IONBF = 0x0004
X_MT = 0
X_M_ARM64 = 1
X_NFILE = 512
X_NSTREAM_ = 512
X_OFF64_T_DEFINED = 0
X_OFF_T_ = 0
X_OFF_T_DEFINED = 0
X_OLD_P_OVERLAY = 2
X_PGLOBAL = 0
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
X_P_DETACH = 4
X_P_NOWAIT = 1
X_P_NOWAITO = 3
X_P_OVERLAY = 2
X_P_WAIT = 0
X_P_tmpdir = "\\"
X_RSIZE_T_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
X_SIZE_T_DEFINED = 0
X_SPAWNV_DEFINED = 0
X_SSIZE_T_DEFINED = 0
X_STDIO_CONFIG_DEFINED = 0
X_STDIO_DEFINED = 0
X_STDIO_S_DEFINED = 0
X_STDSTREAM_DEFINED = 0
X_SYS_OPEN = 20
X_TAGLC_ID_DEFINED = 0
X_THREADLOCALEINFO = 0
X_TIME32_T_DEFINED = 0
X_TIME64_T_DEFINED = 0
X_TIME_T_DEFINED = 0
X_TWO_DIGIT_EXPONENT = 0x1
X_UCRT = 0
X_UINTPTR_T_DEFINED = 0
X_VA_LIST_DEFINED = 0
X_W64 = 0
X_WAIT_CHILD = 0
X_WAIT_GRANDCHILD = 1
X_WCHAR_T_DEFINED = 0
X_WCTYPE_T_DEFINED = 0
X_WIN32 = 1
X_WIN32_WINNT = 0x601
X_WIN64 = 1
X_WINT_T = 0
X_WSPAWN_DEFINED = 0
X_WSTDIO_DEFINED = 0
X_WSTDIO_S_DEFINED = 0
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = uint16 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the Wine project.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// This macro holds an monotonic increasing value, which indicates
// a specific fix/patch is present on trunk. This value isn't related to
// minor/major version-macros. It is increased on demand, if a big
// fix was applied to trunk. This macro gets just increased on trunk. For
// other branches its value won't be modified.
// mingw.org's version macros: these make gcc to define
// MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
// and the __mingwthr_key_dtor() function from the MinGW
// CRT in its private gthr-win32.h header.
// Set VC specific compiler target macros.
// MS does not prefix symbols by underscores for 64-bit.
// As we have to support older gcc version, which are using underscores
// as symbol prefix for x64, we have to check here for the user label
// prefix defined by gcc.
// Special case nameless struct/union.
// MinGW-w64 has some additional C99 printf/scanf feature support.
// So we add some helper macros to ease recognition of them.
// If _FORTIFY_SOURCE is enabled, some inline functions may use
// __builtin_va_arg_pack(). GCC may report an error if the address
// of such a function is used. Set _FORTIFY_VA_ARG=0 in this case.
// Enable workaround for ABI incompatibility on affected platforms
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
// Templates won't work in C, will break if secure API is not enabled, disabled
// https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
// fallback on default implementation if we can't know the size of the destination
// Include _cygwin.h if we're building a Cygwin application.
// Target specific macro replacement for type "long". In the Windows API,
// the type long is always 32 bit, even if the target is 64 bit (LLP64).
// On 64 bit Cygwin, the type long is 64 bit (LP64). So, to get the right
// sized definitions and declarations, all usage of type long in the Windows
// headers have to be replaced by the below defined macro __LONG32.
// C/C++ specific language defines.
// Note the extern. This is needed to work around GCC's
// limitations in handling dllimport attribute.
// Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's
// variadiac macro facility, because variadic macros cause syntax
// errors with --traditional-cpp.
// High byte is the major version, low byte is the minor.
// Allow both 0x1400 and 0xE00 to identify UCRT
// ===-------- vadefs.h ---------------------------------------------------===
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===-----------------------------------------------------------------------===
// Only include this if we are aiming for MSVC compatibility.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// for backward compatibility
type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
type Ssize_t = int64 /* corecrt.h:45:35 */
type Rsize_t = Size_t /* corecrt.h:52:16 */
type Intptr_t = int64 /* corecrt.h:62:35 */
type Uintptr_t = uint64 /* corecrt.h:75:44 */
type Wint_t = uint16 /* corecrt.h:106:24 */
type Wctype_t = uint16 /* corecrt.h:107:24 */
type Errno_t = int32 /* corecrt.h:113:13 */
type X__time32_t = int32 /* corecrt.h:118:14 */
type X__time64_t = int64 /* corecrt.h:123:35 */
type Time_t = X__time64_t /* corecrt.h:138:20 */
type Threadlocaleinfostruct = struct {
F_locale_pctype uintptr
F_locale_mb_cur_max int32
F_locale_lc_codepage uint32
} /* corecrt.h:430:1 */
type Pthreadlocinfo = uintptr /* corecrt.h:432:39 */
type Pthreadmbcinfo = uintptr /* corecrt.h:433:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
} /* corecrt.h:436:9 */
type X_locale_tstruct = Localeinfo_struct /* corecrt.h:439:3 */
type X_locale_t = uintptr /* corecrt.h:439:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
} /* corecrt.h:443:9 */
type LC_ID = TagLC_ID /* corecrt.h:447:3 */
type LPLC_ID = uintptr /* corecrt.h:447:9 */
type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:482:3 */
type X_iobuf = struct{ F_Placeholder uintptr } /* stdio.h:33:3 */
type FILE = X_iobuf /* stdio.h:47:25 */
type X_off_t = int32 /* _mingw_off_t.h:5:16 */
type Off32_t = int32 /* _mingw_off_t.h:7:16 */
type X_off64_t = int64 /* _mingw_off_t.h:13:39 */
type Off64_t = int64 /* _mingw_off_t.h:15:39 */
type Off_t = Off64_t /* _mingw_off_t.h:24:17 */
type Fpos_t = int64 /* stdio.h:115:37 */
var _ int8 /* gen.c:2:13: */

5
vendor/modernc.org/libc/stdlib/capi_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// 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 -ignore-unsupported-alignment -o stdlib/stdlib_linux_ppc64le.go -pkgname stdlib', DO NOT EDIT.
package stdlib
var CAPI = map[string]struct{}{}

5
vendor/modernc.org/libc/stdlib/capi_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// 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.
package stdlib
var CAPI = map[string]struct{}{}

1552
vendor/modernc.org/libc/stdlib/stdlib_linux_ppc64le.go generated vendored Normal file

File diff suppressed because it is too large Load diff

459
vendor/modernc.org/libc/stdlib/stdlib_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,459 @@
// 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.
package stdlib
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
CHAR_BIT = 8
CHAR_MAX = 127
CHAR_MIN = -128
DUMMYSTRUCTNAME = 0
DUMMYSTRUCTNAME1 = 0
DUMMYSTRUCTNAME2 = 0
DUMMYSTRUCTNAME3 = 0
DUMMYSTRUCTNAME4 = 0
DUMMYSTRUCTNAME5 = 0
DUMMYUNIONNAME = 0
DUMMYUNIONNAME1 = 0
DUMMYUNIONNAME2 = 0
DUMMYUNIONNAME3 = 0
DUMMYUNIONNAME4 = 0
DUMMYUNIONNAME5 = 0
DUMMYUNIONNAME6 = 0
DUMMYUNIONNAME7 = 0
DUMMYUNIONNAME8 = 0
DUMMYUNIONNAME9 = 0
EXIT_FAILURE = 1
EXIT_SUCCESS = 0
INT_MAX = 2147483647
INT_MIN = -2147483648
LLONG_MAX = 9223372036854775807
LLONG_MIN = -9223372036854775808
LONG_LONG_MAX = 9223372036854775807
LONG_LONG_MIN = -9223372036854775808
LONG_MAX = 2147483647
LONG_MIN = -2147483648
MB_LEN_MAX = 1
MINGW_DDK_H = 0
MINGW_HAS_DDK_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
RAND_MAX = 0x7fff
SCHAR_MAX = 127
SCHAR_MIN = -128
SHRT_MAX = 32767
SHRT_MIN = -32768
UCHAR_MAX = 255
UINT_MAX = 4294967295
ULLONG_MAX = 18446744073709551615
ULONG_LONG_MAX = 18446744073709551615
ULONG_MAX = 4294967295
UNALIGNED = 0
USE___UUIDOF = 0
USHRT_MAX = 65535
WIN32 = 1
WIN64 = 1
WINNT = 1
X_AGLOBAL = 0
X_ALLOCA_S_HEAP_MARKER = 0xDDDD
X_ALLOCA_S_MARKER_SIZE = 16
X_ALLOCA_S_STACK_MARKER = 0xCCCC
X_ALLOCA_S_THRESHOLD = 1024
X_ANONYMOUS_STRUCT = 0
X_ANONYMOUS_UNION = 0
X_ARGMAX = 100
X_ARM64_ = 1
X_CALL_REPORTFAULT = 0x2
X_CONST_RETURN = 0
X_CRTNOALIAS = 0
X_CRTRESTRICT = 0
X_CRT_ABS_DEFINED = 0
X_CRT_ALGO_DEFINED = 0
X_CRT_ALLOCATION_DEFINED = 0
X_CRT_ALTERNATIVE_IMPORTED = 0
X_CRT_ATOF_DEFINED = 0
X_CRT_DOUBLE_DEC = 0
X_CRT_ERRNO_DEFINED = 0
X_CRT_MANAGED_HEAP_DEPRECATE = 0
X_CRT_PACKING = 8
X_CRT_PERROR_DEFINED = 0
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0
X_CRT_SWAB_DEFINED = 0
X_CRT_SYSTEM_DEFINED = 0
X_CRT_TERMINATE_DEFINED = 0
X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP = 0
X_CRT_WPERROR_DEFINED = 0
X_CRT_WSYSTEM_DEFINED = 0
X_CVTBUFSIZE = 349
X_DIV_T_DEFINED = 0
X_DLL = 0
X_ERRCODE_DEFINED = 0
X_FILE_OFFSET_BITS = 64
X_FREEA_INLINE = 0
X_FREEENTRY = 0
X_GCC_LIMITS_H_ = 0
X_HEAPBADBEGIN = -3
X_HEAPBADNODE = -4
X_HEAPBADPTR = -6
X_HEAPEMPTY = -1
X_HEAPEND = -5
X_HEAPINFO_DEFINED = 0
X_HEAPOK = -2
X_HEAP_MAXREQ = 0xFFFFFFFFFFFFFFE0
X_INC_CORECRT = 0
X_INC_CORECRT_WSTDLIB = 0
X_INC_CRTDEFS = 0
X_INC_CRTDEFS_MACRO = 0
X_INC_MINGW_SECAPI = 0
X_INC_STDLIB = 0
X_INC_STDLIB_S = 0
X_INC_VADEFS = 0
X_INC__MINGW_H = 0
X_INT128_DEFINED = 0
X_INTPTR_T_DEFINED = 0
X_MALLOC_H_ = 0
X_MAX_DIR = 256
X_MAX_DRIVE = 3
X_MAX_ENV = 32767
X_MAX_EXT = 256
X_MAX_FNAME = 256
X_MAX_PATH = 260
X_MAX_WAIT_MALLOC_CRT = 60000
X_MT = 0
X_M_ARM64 = 1
X_ONEXIT_T_DEFINED = 0
X_OUT_TO_DEFAULT = 0
X_OUT_TO_MSGBOX = 2
X_OUT_TO_STDERR = 1
X_PGLOBAL = 0
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
X_QSORT_S_DEFINED = 0
X_REPORT_ERRMODE = 3
X_RSIZE_T_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
X_SIZE_T_DEFINED = 0
X_SSIZE_T_DEFINED = 0
X_TAGLC_ID_DEFINED = 0
X_THREADLOCALEINFO = 0
X_TIME32_T_DEFINED = 0
X_TIME64_T_DEFINED = 0
X_TIME_T_DEFINED = 0
X_UCRT = 0
X_UINTPTR_T_DEFINED = 0
X_USEDENTRY = 1
X_VA_LIST_DEFINED = 0
X_W64 = 0
X_WCHAR_T_DEFINED = 0
X_WCTYPE_T_DEFINED = 0
X_WIN32 = 1
X_WIN32_WINNT = 0x601
X_WIN64 = 1
X_WINT_T = 0
X_WRITE_ABORT_MSG = 0x1
X_WSTDLIBP_DEFINED = 0
X_WSTDLIB_DEFINED = 0
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = uint16 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// This macro holds an monotonic increasing value, which indicates
// a specific fix/patch is present on trunk. This value isn't related to
// minor/major version-macros. It is increased on demand, if a big
// fix was applied to trunk. This macro gets just increased on trunk. For
// other branches its value won't be modified.
// mingw.org's version macros: these make gcc to define
// MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
// and the __mingwthr_key_dtor() function from the MinGW
// CRT in its private gthr-win32.h header.
// Set VC specific compiler target macros.
// MS does not prefix symbols by underscores for 64-bit.
// As we have to support older gcc version, which are using underscores
// as symbol prefix for x64, we have to check here for the user label
// prefix defined by gcc.
// Special case nameless struct/union.
// MinGW-w64 has some additional C99 printf/scanf feature support.
// So we add some helper macros to ease recognition of them.
// If _FORTIFY_SOURCE is enabled, some inline functions may use
// __builtin_va_arg_pack(). GCC may report an error if the address
// of such a function is used. Set _FORTIFY_VA_ARG=0 in this case.
// Enable workaround for ABI incompatibility on affected platforms
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
// Templates won't work in C, will break if secure API is not enabled, disabled
// https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
// fallback on default implementation if we can't know the size of the destination
// Include _cygwin.h if we're building a Cygwin application.
// Target specific macro replacement for type "long". In the Windows API,
// the type long is always 32 bit, even if the target is 64 bit (LLP64).
// On 64 bit Cygwin, the type long is 64 bit (LP64). So, to get the right
// sized definitions and declarations, all usage of type long in the Windows
// headers have to be replaced by the below defined macro __LONG32.
// C/C++ specific language defines.
// Note the extern. This is needed to work around GCC's
// limitations in handling dllimport attribute.
// Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's
// variadiac macro facility, because variadic macros cause syntax
// errors with --traditional-cpp.
// High byte is the major version, low byte is the minor.
// Allow both 0x1400 and 0xE00 to identify UCRT
// ===-------- vadefs.h ---------------------------------------------------===
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===-----------------------------------------------------------------------===
// Only include this if we are aiming for MSVC compatibility.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// for backward compatibility
type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
type Ssize_t = int64 /* corecrt.h:45:35 */
type Rsize_t = Size_t /* corecrt.h:52:16 */
type Intptr_t = int64 /* corecrt.h:62:35 */
type Uintptr_t = uint64 /* corecrt.h:75:44 */
type Wint_t = uint16 /* corecrt.h:106:24 */
type Wctype_t = uint16 /* corecrt.h:107:24 */
type Errno_t = int32 /* corecrt.h:113:13 */
type X__time32_t = int32 /* corecrt.h:118:14 */
type X__time64_t = int64 /* corecrt.h:123:35 */
type Time_t = X__time64_t /* corecrt.h:138:20 */
type Threadlocaleinfostruct = struct {
F_locale_pctype uintptr
F_locale_mb_cur_max int32
F_locale_lc_codepage uint32
} /* corecrt.h:430:1 */
type Pthreadlocinfo = uintptr /* corecrt.h:432:39 */
type Pthreadmbcinfo = uintptr /* corecrt.h:433:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
} /* corecrt.h:436:9 */
type X_locale_tstruct = Localeinfo_struct /* corecrt.h:439:3 */
type X_locale_t = uintptr /* corecrt.h:439:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
} /* corecrt.h:443:9 */
type LC_ID = TagLC_ID /* corecrt.h:447:3 */
type LPLC_ID = uintptr /* corecrt.h:447:9 */
type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:482:3 */
//===---- limits.h - Standard header for integer sizes --------------------===* *
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
// \*===----------------------------------------------------------------------===
// The system's limits.h may, in turn, try to #include_next GCC's limits.h.
// Avert this #include_next madness.
// System headers include a number of constants from POSIX in <limits.h>.
// Include it if we're hosted.
// Many system headers try to "help us out" by defining these. No really, we
// know how big each datatype is.
// C90/99 5.2.4.2.1
// C2x 5.2.4.2.1
// FIXME: This is using the placeholder dates Clang produces for these macros
// in C2x mode; switch to the correct values once they've been published.
// C99 5.2.4.2.1: Added long long.
// C++11 18.3.3.2: same contents as the Standard C Library header <limits.h>.
//
// LONG_LONG_MIN/LONG_LONG_MAX/ULONG_LONG_MAX are a GNU extension. It's too bad
// that we don't have something like #pragma poison that could be used to
// deprecate a macro - the code should just use LLONG_MAX and friends.
//
type X_onexit_t = uintptr /* stdlib.h:50:15 */
type X_div_t = struct {
Fquot int32
Frem int32
} /* stdlib.h:60:11 */
type Div_t = X_div_t /* stdlib.h:63:5 */
type X_ldiv_t = struct {
Fquot int32
Frem int32
} /* stdlib.h:65:11 */
type Ldiv_t = X_ldiv_t /* stdlib.h:68:5 */
type X_LDOUBLE = struct{ Fld [10]uint8 } /* stdlib.h:77:5 */
type X_CRT_DOUBLE = struct{ Fx float64 } /* stdlib.h:84:5 */
type X_CRT_FLOAT = struct{ Ff float32 } /* stdlib.h:88:5 */
type X_LONGDOUBLE = struct{ Fx float64 } /* stdlib.h:95:5 */
type X_LDBL12 = struct{ Fld12 [12]uint8 } /* stdlib.h:102:5 */
type X_purecall_handler = uintptr /* stdlib.h:143:16 */
type X_invalid_parameter_handler = uintptr /* stdlib.h:148:16 */
type Lldiv_t = struct {
Fquot int64
Frem int64
} /* stdlib.h:724:61 */
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// Return codes for _heapwalk()
// Values for _heapinfo.useflag
// The structure used to walk through the heap with _heapwalk.
type X_heapinfo = struct {
F_pentry uintptr
F_size Size_t
F_useflag int32
F__ccgo_pad1 [4]byte
} /* malloc.h:46:11 */
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// Return codes for _heapwalk()
// Values for _heapinfo.useflag
// The structure used to walk through the heap with _heapwalk.
type X_HEAPINFO = X_heapinfo /* malloc.h:50:5 */
var _ int8 /* gen.c:2:13: */

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo sys/socket/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o sys/socket/socket_linux_ppc64le.go -pkgname socket', DO NOT EDIT.
package socket
var CAPI = map[string]struct{}{}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo sys/stat/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o sys/stat/stat_linux_ppc64le.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo sys\stat\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 sys\stat\stat_windows_arm64.go -pkgname stat', DO NOT EDIT.
package stat
var CAPI = map[string]struct{}{}

961
vendor/modernc.org/libc/sys/stat/stat_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,961 @@
// Code generated by 'ccgo sys/stat/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o sys/stat/stat_linux_ppc64le.go -pkgname stat', DO NOT EDIT.
package stat
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
ACCESSPERMS = 511 // stat.h:195:1:
ALLPERMS = 4095 // stat.h:196:1:
DEFFILEMODE = 438 // stat.h:197:1:
S_BLKSIZE = 512 // stat.h:199:1:
S_IEXEC = 64 // stat.h:177:1:
S_IFBLK = 24576 // stat.h:107:1:
S_IFCHR = 8192 // stat.h:106:1:
S_IFDIR = 16384 // stat.h:105:1:
S_IFIFO = 4096 // stat.h:110:1:
S_IFLNK = 40960 // stat.h:113:1:
S_IFMT = 61440 // stat.h:104:1:
S_IFREG = 32768 // stat.h:108:1:
S_IFSOCK = 49152 // stat.h:117:1:
S_IREAD = 256 // stat.h:175:1:
S_IRGRP = 32 // stat.h:180:1:
S_IROTH = 4 // stat.h:186:1:
S_IRUSR = 256 // stat.h:168:1:
S_IRWXG = 56 // stat.h:184:1:
S_IRWXO = 7 // stat.h:190:1:
S_IRWXU = 448 // stat.h:172:1:
S_ISGID = 1024 // stat.h:161:1:
S_ISUID = 2048 // stat.h:160:1:
S_ISVTX = 512 // stat.h:165:1:
S_IWGRP = 16 // stat.h:181:1:
S_IWOTH = 2 // stat.h:187:1:
S_IWRITE = 128 // stat.h:176:1:
S_IWUSR = 128 // stat.h:169:1:
S_IXGRP = 8 // stat.h:182:1:
S_IXOTH = 1 // stat.h:188:1:
S_IXUSR = 64 // stat.h:170:1:
UTIME_NOW = 1073741823 // stat.h:271:1:
UTIME_OMIT = 1073741822 // stat.h:272:1:
X_ARCH_PPC = 1 // <predefined>:198:1:
X_ARCH_PPC64 = 1 // <predefined>:402:1:
X_ARCH_PPCGR = 1 // <predefined>:15:1:
X_ARCH_PPCSQ = 1 // <predefined>:43:1:
X_ARCH_PWR4 = 1 // <predefined>:381:1:
X_ARCH_PWR5 = 1 // <predefined>:90:1:
X_ARCH_PWR5X = 1 // <predefined>:137:1:
X_ARCH_PWR6 = 1 // <predefined>:91:1:
X_ARCH_PWR7 = 1 // <predefined>:92:1:
X_ARCH_PWR8 = 1 // <predefined>:93:1:
X_ATFILE_SOURCE = 1 // features.h:342:1:
X_BITS_ENDIANNESS_H = 1 // endianness.h:2:1:
X_BITS_ENDIAN_H = 1 // endian.h:20:1:
X_BITS_STAT_H = 1 // stat.h:23:1:
X_BITS_TIME64_H = 1 // time64.h:24:1:
X_BITS_TYPESIZES_H = 1 // typesizes.h:24:1:
X_BITS_TYPES_H = 1 // types.h:24:1:
X_CALL_ELF = 2 // <predefined>:415:1:
X_CALL_LINUX = 1 // <predefined>:123:1:
X_DEFAULT_SOURCE = 1 // features.h:227:1:
X_FEATURES_H = 1 // features.h:19:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_LITTLE_ENDIAN = 1 // <predefined>:37:1:
X_LP64 = 1 // <predefined>:335:1:
X_MKNOD_VER = 1 // stat.h:41:1:
X_MKNOD_VER_LINUX = 1 // stat.h:39:1:
X_MKNOD_VER_SVR4 = 2 // stat.h:40:1:
X_POSIX_C_SOURCE = 200809 // features.h:281:1:
X_POSIX_SOURCE = 1 // features.h:279:1:
X_STATBUF_ST_BLKSIZE = 0 // stat.h:237:1:
X_STATBUF_ST_NSEC = 0 // stat.h:240:1:
X_STATBUF_ST_RDEV = 0 // stat.h:238:1:
X_STAT_VER = 1 // stat.h:35:1:
X_STAT_VER_KERNEL = 1 // stat.h:29:1:
X_STAT_VER_LINUX = 3 // stat.h:31:1:
X_STAT_VER_LINUX_OLD = 1 // stat.h:28:1:
X_STAT_VER_SVR4 = 2 // stat.h:30:1:
X_STDC_PREDEF_H = 1 // <predefined>:203:1:
X_STRUCT_TIMESPEC = 1 // struct_timespec.h:3:1:
X_SYS_CDEFS_H = 1 // cdefs.h:19:1:
X_SYS_STAT_H = 1 // stat.h:23:1:
Linux = 1 // <predefined>:263:1:
Unix = 1 // <predefined>:222:1:
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__ieee128 = float64 /* <builtin>:47:21 */
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// POSIX Standard: 5.6 File Characteristics <sys/stat.h>
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
//
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
// Extensions to ISO C11 from TS 18661-1:2014.
// __STDC_WANT_IEC_60559_FUNCS_EXT__
// Extensions to ISO C11 from TS 18661-4:2015.
// __STDC_WANT_IEC_60559_TYPES_EXT__
// Extensions to ISO C11 from TS 18661-3:2015.
//
// _POSIX_SOURCE IEEE Std 1003.1.
// _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
// if >=199309L, add IEEE Std 1003.1b-1993;
// if >=199506L, add IEEE Std 1003.1c-1995;
// if >=200112L, all of IEEE 1003.1-2004
// if >=200809L, all of IEEE 1003.1-2008
// _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if
// Single Unix conformance is wanted, to 600 for the
// sixth revision, to 700 for the seventh revision.
// _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
// _LARGEFILE_SOURCE Some more functions for correct standard I/O.
// _LARGEFILE64_SOURCE Additional functionality from LFS for large files.
// _FILE_OFFSET_BITS=N Select default filesystem interface.
// _ATFILE_SOURCE Additional *at interfaces.
// _GNU_SOURCE All of the above, plus GNU extensions.
// _DEFAULT_SOURCE The default set of features (taking precedence over
// __STRICT_ANSI__).
//
// _FORTIFY_SOURCE Add security hardening to many library functions.
// Set to 1 or 2; 2 performs stricter checks than 1.
//
// _REENTRANT, _THREAD_SAFE
// Obsolete; equivalent to _POSIX_C_SOURCE=199506L.
//
// The `-ansi' switch to the GNU C compiler, and standards conformance
// options such as `-std=c99', define __STRICT_ANSI__. If none of
// these are defined, or if _DEFAULT_SOURCE is defined, the default is
// to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to
// 200809L, as well as enabling miscellaneous functions from BSD and
// SVID. If more than one of these are defined, they accumulate. For
// example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together
// give you ISO C, 1003.1, and 1003.2, but nothing else.
//
// These are defined by this file and are used by the
// header files to decide what to declare or define:
//
// __GLIBC_USE (F) Define things from feature set F. This is defined
// to 1 or 0; the subsequent macros are either defined
// or undefined, and those tests should be moved to
// __GLIBC_USE.
// __USE_ISOC11 Define ISO C11 things.
// __USE_ISOC99 Define ISO C99 things.
// __USE_ISOC95 Define ISO C90 AMD1 (C95) things.
// __USE_ISOCXX11 Define ISO C++11 things.
// __USE_POSIX Define IEEE Std 1003.1 things.
// __USE_POSIX2 Define IEEE Std 1003.2 things.
// __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things.
// __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things.
// __USE_XOPEN Define XPG things.
// __USE_XOPEN_EXTENDED Define X/Open Unix things.
// __USE_UNIX98 Define Single Unix V2 things.
// __USE_XOPEN2K Define XPG6 things.
// __USE_XOPEN2KXSI Define XPG6 XSI things.
// __USE_XOPEN2K8 Define XPG7 things.
// __USE_XOPEN2K8XSI Define XPG7 XSI things.
// __USE_LARGEFILE Define correct standard I/O things.
// __USE_LARGEFILE64 Define LFS things with separate names.
// __USE_FILE_OFFSET64 Define 64bit interface as default.
// __USE_MISC Define things from 4.3BSD or System V Unix.
// __USE_ATFILE Define *at interfaces and AT_* constants for them.
// __USE_GNU Define GNU extensions.
// __USE_FORTIFY_LEVEL Additional security measures used, according to level.
//
// The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are
// defined by this file unconditionally. `__GNU_LIBRARY__' is provided
// only for compatibility. All new code should use the other symbols
// to test for features.
//
// All macros listed above as possibly being defined by this file are
// explicitly undefined if they are not explicitly defined.
// Feature-test macros that are not defined by the user or compiler
// but are implied by the other feature-test macros defined (or by the
// lack of any definitions) are defined by the file.
//
// ISO C feature test macros depend on the definition of the macro
// when an affected header is included, not when the first system
// header is included, and so they are handled in
// <bits/libc-header-start.h>, which does not have a multiple include
// guard. Feature test macros that can be handled from the first
// system header included are handled here.
// Undefine everything, so we get a clean slate.
// Suppress kernel-name space pollution unless user expressedly asks
// for it.
// Convenience macro to test the version of gcc.
// Use like this:
// #if __GNUC_PREREQ (2,8)
// ... code requiring gcc 2.8 or later ...
// #endif
// Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was
// added in 2.0.
// Similarly for clang. Features added to GCC after version 4.2 may
// or may not also be available in clang, and clang's definitions of
// __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such
// features can be queried via __has_extension/__has_feature.
// Whether to use feature set F.
// _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
// _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not
// issue a warning; the expectation is that the source is being
// transitioned to use the new macro.
// If _GNU_SOURCE was defined by the user, turn on all the other features.
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
// This is to enable the ISO C2X extension.
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
// This is to enable the ISO C90 Amendment 1:1995 extension.
// If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE
// is defined, use POSIX.1-2008 (or another version depending on
// _XOPEN_SOURCE).
// Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be
// defined in all multithreaded code. GNU libc has not required this
// for many years. We now treat them as compatibility synonyms for
// _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with
// comprehensive support for multithreaded code. Using them never
// lowers the selected level of POSIX conformance, only raises it.
// The function 'gets' existed in C89, but is impossible to use
// safely. It has been removed from ISO C11 and ISO C++14. Note: for
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
// GNU formerly extended the scanf functions with modified format
// specifiers %as, %aS, and %a[...] that allocate a buffer for the
// input using malloc. This extension conflicts with ISO C99, which
// defines %a as a standalone format specifier that reads a floating-
// point number; moreover, POSIX.1-2008 provides the same feature
// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
//
// We now follow C99 unless GNU extensions are active and the compiler
// is specifically in C89 or C++98 mode (strict or not). For
// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
// old extension.
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
// on. The use of this variable is deprecated. Use __GLIBC__ and
// __GLIBC_MINOR__ now (see below) when you want to test for a specific
// GNU C library version and use the values in <gnu/lib-names.h> to get
// the sonames of the shared libraries.
// Major and minor version number of the GNU C library package. Use
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
// The GNU libc does not support any K&R compilers or the traditional mode
// of ISO C compilers anymore. Check for some of the combinations not
// anymore supported.
// Some user header file might have defined this before.
// All functions, except those with callbacks or those that
// synchronize memory, are leaf functions.
// GCC can always grok prototypes. For C++ programs we add throw()
// to help it optimize the function calls. But this works only with
// gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions
// as non-throwing using a function attribute since programs can use
// the -fexceptions options for C code as well.
// Compilers that are not clang may object to
// #if defined __clang__ && __has_extension(...)
// even though they do not need to evaluate the right-hand side of the &&.
// These two macros are not used in glibc anymore. They are kept here
// only because some other projects expect the macros to be defined.
// For these things, GCC behaves the ANSI way normally,
// and the non-ANSI way under -traditional.
// This is not a typedef so `const __ptr_t' does the right thing.
// C++ needs to know that types and declarations are C, not C++.
// Fortify support.
// Support for flexible arrays.
// Headers that should use flexible arrays only if they're "real"
// (e.g. only if they won't affect sizeof()) should test
// #if __glibc_c99_flexarr_available.
// __asm__ ("xyz") is used throughout the headers to rename functions
// at the assembly language level. This is wrapped by the __REDIRECT
// macro, in order to support compilers that can do this some other
// way. When compilers don't support asm-names at all, we have to do
// preprocessor tricks instead (which don't have exactly the right
// semantics, but it's the best we can do).
//
// Example:
// int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid);
//
// #elif __SOME_OTHER_COMPILER__
//
// # define __REDIRECT(name, proto, alias) name proto; _Pragma("let " #name " = " #alias)
// GCC has various useful declarations that can be made with the
// `__attribute__' syntax. All of the ways we use this do fine if
// they are omitted for compilers that don't understand it.
// At some point during the gcc 2.96 development the `malloc' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// Tell the compiler which arguments to an allocation function
// indicate the size of the allocation.
// At some point during the gcc 2.96 development the `pure' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// This declaration tells the compiler that the value is constant.
// At some point during the gcc 3.1 development the `used' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// Since version 3.2, gcc allows marking deprecated functions.
// Since version 4.5, gcc also allows one to specify the message printed
// when a deprecated function is used. clang claims to be gcc 4.2, but
// may also support this feature.
// At some point during the gcc 2.8 development the `format_arg' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// If several `format_arg' attributes are given for the same function, in
// gcc-3.0 and older, all but the last one are ignored. In newer gccs,
// all designated arguments are considered.
// At some point during the gcc 2.97 development the `strfmon' format
// attribute for functions was introduced. We don't want to use it
// unconditionally (although this would be possible) since it
// generates warnings.
// The nonull function attribute allows to mark pointer parameters which
// must not be NULL.
// If fortification mode, we warn about unused results of certain
// function calls which can lead to problems.
// Forces a function to be always inlined.
// The Linux kernel defines __always_inline in stddef.h (283d7573), and
// it conflicts with this definition. Therefore undefine it first to
// allow either header to be included first.
// Associate error messages with the source location of the call site rather
// than with the source location inside the function.
// GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
// inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__
// or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
// older than 4.3 may define these macros and still not guarantee GNU inlining
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
// __extern_always_inline function to some other vararg function.
// It is possible to compile containing GCC extensions even if GCC is
// run in pedantic mode if the uses are carefully marked using the
// `__extension__' keyword. But this is not generally available before
// version 2.8.
// __restrict is known in EGCS 1.2 and above.
// ISO C99 also allows to declare arrays as non-overlapping. The syntax is
// array_name[restrict]
// GCC 3.1 supports this.
// Describes a char array whose address can safely be passed as the first
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
// Undefine (also defined in libc-symbols.h).
// Copies attributes from the declaration or type referenced by
// the argument.
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
//
// Note: MESSAGE must be a _single_ string; concatenation of string
// literals is not supported.
// Generic selection (ISO C11) is a C-only feature, available in GCC
// since version 4.9. Previous versions do not provide generic
// selection, even though they might set __STDC_VERSION__ to 201112L,
// when in -std=c11 mode. Thus, we must check for !defined __GNUC__
// when testing __STDC_VERSION__ for generic selection support.
// On the other hand, Clang also defines __GNUC__, so a clang-specific
// check is required to enable the use of generic selection.
// If we don't have __REDIRECT, prototypes will be missing if
// __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64].
// Decide whether we can define 'extern inline' functions in headers.
// This is here only because every header file already includes this one.
// Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
// <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
// that will always return failure (and set errno to ENOSYS).
// This file is automatically generated.
// This file selects the right generated file of `__stub_FUNCTION' macros
// based on the architecture being compiled for.
// Determine the wordsize from the preprocessor defines.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Bit size of the time_t type at glibc build time, general case.
// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
type X__u_char = uint8 /* types.h:31:23 */
type X__u_short = uint16 /* types.h:32:28 */
type X__u_int = uint32 /* types.h:33:22 */
type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
type X__int8_t = int8 /* types.h:37:21 */
type X__uint8_t = uint8 /* types.h:38:23 */
type X__int16_t = int16 /* types.h:39:26 */
type X__uint16_t = uint16 /* types.h:40:28 */
type X__int32_t = int32 /* types.h:41:20 */
type X__uint32_t = uint32 /* types.h:42:22 */
type X__int64_t = int64 /* types.h:44:25 */
type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
type X__int_least8_t = X__int8_t /* types.h:52:18 */
type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
type X__int_least16_t = X__int16_t /* types.h:54:19 */
type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
type X__int_least32_t = X__int32_t /* types.h:56:19 */
type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
type X__int_least64_t = X__int64_t /* types.h:58:19 */
type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
type X__quad_t = int64 /* types.h:63:18 */
type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
type X__intmax_t = int64 /* types.h:72:18 */
type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
// of those macros must use the following macros for underlying types.
// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
// variants of each of the following integer types on this machine.
//
// 16 -- "natural" 16-bit type (always short)
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
// conventional uses of `long' or `long long' type modifiers match the
// types we define, even when a less-adorned type would be the same size.
// This matters for (somewhat) portably writing printf/scanf formats for
// these types, where using the appropriate l or ll format modifiers can
// make the typedefs and the formats match up across all GNU platforms. If
// we used `long' when it's 64 bits where `long long' is expected, then the
// compiler would warn about the formats not matching the argument types,
// and the programmer changing them to shut up the compiler would break the
// program's portability.
//
// Here we assume what is presently the case in all the GCC configurations
// we support: long long is always 64 bits, long is always word/address size,
// and int is always 32 bits.
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Generic version.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Tell the libc code that off_t and off64_t are actually the same type
// for all ABI purposes, even if possibly expressed as different base types
// for C type-checking purposes.
// Same for ino_t and ino64_t.
// And for rlim_t and rlim64_t.
// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
// bits/time64.h -- underlying types for __time64_t. Generic version.
// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Define __TIME64_T_TYPE so that it is always a 64-bit type.
// If we already have 64-bit time type then use it.
type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
type X__blkcnt_t = int64 /* types.h:179:28 */
type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
type X__fsblkcnt_t = uint64 /* types.h:183:30 */
type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
type X__fsfilcnt_t = uint64 /* types.h:187:30 */
type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
type X__fsword_t = int64 /* types.h:191:28 */
type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
type X__sig_atomic_t = int32 /* types.h:214:13 */
// Seconds since the Epoch, visible to user code when time_t is too
// narrow only for consistency with the old way of widening too-narrow
// types. User code should never use __time64_t.
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Endian macros for string.h functions
// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Definitions for byte order, according to significance of bytes,
// from low addresses to high addresses. The value is what you get by
// putting '4' in the most significant byte, '3' in the second most
// significant byte, '2' in the second least significant byte, and '1'
// in the least significant byte, and then writing down one digit for
// each byte, starting with the byte at the lowest address at the left,
// and proceeding to the byte with the highest address at the right.
// This file defines `__BYTE_ORDER' for the particular machine.
// PowerPC has selectable endianness.
// Some machines may need to use a different endianness for floating point
// values.
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
} /* struct_timespec.h:10:1 */
// The Single Unix specification says that some more types are
// available here.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Returned by `time'.
type Time_t = X__time_t /* time_t.h:7:18 */
type Dev_t = X__dev_t /* stat.h:40:17 */
type Gid_t = X__gid_t /* stat.h:45:17 */
type Ino_t = X__ino64_t /* stat.h:53:19 */
type Mode_t = X__mode_t /* stat.h:59:18 */
type Nlink_t = X__nlink_t /* stat.h:64:19 */
type Off_t = X__off64_t /* stat.h:72:19 */
type Uid_t = X__uid_t /* stat.h:78:17 */
// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Versions of the `struct stat' data structure.
// Versions of the `xmknod' interface.
type Stat = struct {
Fst_dev X__dev_t
Fst_ino X__ino64_t
Fst_nlink X__nlink_t
Fst_mode X__mode_t
Fst_uid X__uid_t
Fst_gid X__gid_t
F__pad2 int32
Fst_rdev X__dev_t
Fst_size X__off64_t
Fst_blksize X__blksize_t
Fst_blocks X__blkcnt64_t
Fst_atim struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
}
Fst_mtim struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
}
Fst_ctim struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
}
F__glibc_reserved4 uint64
F__glibc_reserved5 uint64
F__glibc_reserved6 uint64
} /* stat.h:141:1 */
var _ uint8 /* gen.c:2:13: */

559
vendor/modernc.org/libc/sys/stat/stat_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,559 @@
// Code generated by 'ccgo sys\stat\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 sys\stat\stat_windows_arm64.go -pkgname stat', DO NOT EDIT.
package stat
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
DUMMYSTRUCTNAME = 0
DUMMYSTRUCTNAME1 = 0
DUMMYSTRUCTNAME2 = 0
DUMMYSTRUCTNAME3 = 0
DUMMYSTRUCTNAME4 = 0
DUMMYSTRUCTNAME5 = 0
DUMMYUNIONNAME = 0
DUMMYUNIONNAME1 = 0
DUMMYUNIONNAME2 = 0
DUMMYUNIONNAME3 = 0
DUMMYUNIONNAME4 = 0
DUMMYUNIONNAME5 = 0
DUMMYUNIONNAME6 = 0
DUMMYUNIONNAME7 = 0
DUMMYUNIONNAME8 = 0
DUMMYUNIONNAME9 = 0
F_OK = 0
MINGW_DDK_H = 0
MINGW_HAS_DDK_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
R_OK = 4
S_IEXEC = 64
S_IFBLK = 12288
S_IFCHR = 8192
S_IFDIR = 16384
S_IFIFO = 4096
S_IFMT = 61440
S_IFREG = 32768
S_IREAD = 256
S_IRGRP = 32
S_IROTH = 4
S_IRUSR = 256
S_IRWXG = 56
S_IRWXO = 7
S_IRWXU = 448
S_IWGRP = 16
S_IWOTH = 2
S_IWRITE = 128
S_IWUSR = 128
S_IXGRP = 8
S_IXOTH = 1
S_IXUSR = 64
UNALIGNED = 0
USE___UUIDOF = 0
WIN32 = 1
WIN64 = 1
WINNT = 1
W_OK = 2
X_OK = 1
X_AGLOBAL = 0
X_ANONYMOUS_STRUCT = 0
X_ANONYMOUS_UNION = 0
X_ARGMAX = 100
X_ARM64_ = 1
X_A_ARCH = 0x20
X_A_HIDDEN = 0x02
X_A_NORMAL = 0x00
X_A_RDONLY = 0x01
X_A_SUBDIR = 0x10
X_A_SYSTEM = 0x04
X_CONST_RETURN = 0
X_CRTNOALIAS = 0
X_CRTRESTRICT = 0
X_CRT_ALTERNATIVE_IMPORTED = 0
X_CRT_DIRECTORY_DEFINED = 0
X_CRT_MANAGED_HEAP_DEPRECATE = 0
X_CRT_MEMORY_DEFINED = 0
X_CRT_PACKING = 8
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0
X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP = 0
X_DEV_T_DEFINED = 0
X_DLL = 0
X_ERRCODE_DEFINED = 0
X_FILE_OFFSET_BITS = 64
X_FILE_OFFSET_BITS_SET_LSEEK = 0
X_FILE_OFFSET_BITS_SET_OFFT = 0
X_FINDDATA_T_DEFINED = 0
X_FSIZE_T_DEFINED = 0
X_INC_CORECRT = 0
X_INC_CRTDEFS = 0
X_INC_CRTDEFS_MACRO = 0
X_INC_MINGW_SECAPI = 0
X_INC_STAT = 0
X_INC_STRING = 0
X_INC_STRING_S = 0
X_INC_TYPES = 0
X_INC_VADEFS = 0
X_INC__MINGW_H = 0
X_INO_T_DEFINED = 0
X_INT128_DEFINED = 0
X_INTPTR_T_DEFINED = 0
X_IO_H_ = 0
X_MODE_T_ = 0
X_MT = 0
X_M_ARM64 = 1
X_NLSCMPERROR = 2147483647
X_NLSCMP_DEFINED = 0
X_OFF64_T_DEFINED = 0
X_OFF_T_ = 0
X_OFF_T_DEFINED = 0
X_PGLOBAL = 0
X_PID_T_ = 0
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
X_RSIZE_T_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
X_SIGSET_T_ = 0
X_SIZE_T_DEFINED = 0
X_SSIZE_T_DEFINED = 0
X_STAT_DEFINED = 0
X_S_IEXEC = 0x0040
X_S_IFBLK = 0x3000
X_S_IFCHR = 0x2000
X_S_IFDIR = 0x4000
X_S_IFIFO = 0x1000
X_S_IFMT = 0xF000
X_S_IFREG = 0x8000
X_S_IREAD = 0x0100
X_S_IRUSR = 256
X_S_IRWXU = 448
X_S_IWRITE = 0x0080
X_S_IWUSR = 128
X_S_IXUSR = 64
X_TAGLC_ID_DEFINED = 0
X_THREADLOCALEINFO = 0
X_TIME32_T_DEFINED = 0
X_TIME64_T_DEFINED = 0
X_TIMESPEC_DEFINED = 0
X_TIME_T_DEFINED = 0
X_UCRT = 0
X_UINTPTR_T_DEFINED = 0
X_VA_LIST_DEFINED = 0
X_W64 = 0
X_WCHAR_T_DEFINED = 0
X_WCTYPE_T_DEFINED = 0
X_WConst_return = 0
X_WFINDDATA_T_DEFINED = 0
X_WIN32 = 1
X_WIN32_WINNT = 0x601
X_WIN64 = 1
X_WINT_T = 0
X_WIO_DEFINED = 0
X_WSTAT_DEFINED = 0
X_WSTRING_DEFINED = 0
X_WSTRING_S_DEFINED = 0
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = uint16 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// This macro holds an monotonic increasing value, which indicates
// a specific fix/patch is present on trunk. This value isn't related to
// minor/major version-macros. It is increased on demand, if a big
// fix was applied to trunk. This macro gets just increased on trunk. For
// other branches its value won't be modified.
// mingw.org's version macros: these make gcc to define
// MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
// and the __mingwthr_key_dtor() function from the MinGW
// CRT in its private gthr-win32.h header.
// Set VC specific compiler target macros.
// MS does not prefix symbols by underscores for 64-bit.
// As we have to support older gcc version, which are using underscores
// as symbol prefix for x64, we have to check here for the user label
// prefix defined by gcc.
// Special case nameless struct/union.
// MinGW-w64 has some additional C99 printf/scanf feature support.
// So we add some helper macros to ease recognition of them.
// If _FORTIFY_SOURCE is enabled, some inline functions may use
// __builtin_va_arg_pack(). GCC may report an error if the address
// of such a function is used. Set _FORTIFY_VA_ARG=0 in this case.
// Enable workaround for ABI incompatibility on affected platforms
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
// Templates won't work in C, will break if secure API is not enabled, disabled
// https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
// fallback on default implementation if we can't know the size of the destination
// Include _cygwin.h if we're building a Cygwin application.
// Target specific macro replacement for type "long". In the Windows API,
// the type long is always 32 bit, even if the target is 64 bit (LLP64).
// On 64 bit Cygwin, the type long is 64 bit (LP64). So, to get the right
// sized definitions and declarations, all usage of type long in the Windows
// headers have to be replaced by the below defined macro __LONG32.
// C/C++ specific language defines.
// Note the extern. This is needed to work around GCC's
// limitations in handling dllimport attribute.
// Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's
// variadiac macro facility, because variadic macros cause syntax
// errors with --traditional-cpp.
// High byte is the major version, low byte is the minor.
// Allow both 0x1400 and 0xE00 to identify UCRT
// ===-------- vadefs.h ---------------------------------------------------===
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===-----------------------------------------------------------------------===
// Only include this if we are aiming for MSVC compatibility.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// for backward compatibility
type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
type Ssize_t = int64 /* corecrt.h:45:35 */
type Rsize_t = Size_t /* corecrt.h:52:16 */
type Intptr_t = int64 /* corecrt.h:62:35 */
type Uintptr_t = uint64 /* corecrt.h:75:44 */
type Wint_t = uint16 /* corecrt.h:106:24 */
type Wctype_t = uint16 /* corecrt.h:107:24 */
type Errno_t = int32 /* corecrt.h:113:13 */
type X__time32_t = int32 /* corecrt.h:118:14 */
type X__time64_t = int64 /* corecrt.h:123:35 */
type Time_t = X__time64_t /* corecrt.h:138:20 */
type Threadlocaleinfostruct = struct {
F_locale_pctype uintptr
F_locale_mb_cur_max int32
F_locale_lc_codepage uint32
} /* corecrt.h:430:1 */
type Pthreadlocinfo = uintptr /* corecrt.h:432:39 */
type Pthreadmbcinfo = uintptr /* corecrt.h:433:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
} /* corecrt.h:436:9 */
type X_locale_tstruct = Localeinfo_struct /* corecrt.h:439:3 */
type X_locale_t = uintptr /* corecrt.h:439:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
} /* corecrt.h:443:9 */
type LC_ID = TagLC_ID /* corecrt.h:447:3 */
type LPLC_ID = uintptr /* corecrt.h:447:9 */
type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:482:3 */
type X_fsize_t = uint32 /* io.h:29:25 */
type X_finddata32_t = struct {
Fattrib uint32
Ftime_create X__time32_t
Ftime_access X__time32_t
Ftime_write X__time32_t
Fsize X_fsize_t
Fname [260]int8
} /* io.h:35:3 */
type X_finddata32i64_t = struct {
Fattrib uint32
Ftime_create X__time32_t
Ftime_access X__time32_t
Ftime_write X__time32_t
Fsize int64
Fname [260]int8
F__ccgo_pad1 [4]byte
} /* io.h:44:3 */
type X_finddata64i32_t = struct {
Fattrib uint32
F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize X_fsize_t
Fname [260]int8
} /* io.h:53:3 */
type X__finddata64_t = struct {
Fattrib uint32
F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize int64
Fname [260]int8
F__ccgo_pad2 [4]byte
} /* io.h:62:3 */
type X_wfinddata32_t = struct {
Fattrib uint32
Ftime_create X__time32_t
Ftime_access X__time32_t
Ftime_write X__time32_t
Fsize X_fsize_t
Fname [260]Wchar_t
} /* io.h:94:3 */
type X_wfinddata32i64_t = struct {
Fattrib uint32
Ftime_create X__time32_t
Ftime_access X__time32_t
Ftime_write X__time32_t
Fsize int64
Fname [260]Wchar_t
} /* io.h:103:3 */
type X_wfinddata64i32_t = struct {
Fattrib uint32
F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize X_fsize_t
Fname [260]Wchar_t
F__ccgo_pad2 [4]byte
} /* io.h:112:3 */
type X_wfinddata64_t = struct {
Fattrib uint32
F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize int64
Fname [260]Wchar_t
} /* io.h:121:3 */
type X_off_t = int32 /* _mingw_off_t.h:5:16 */
type Off32_t = int32 /* _mingw_off_t.h:7:16 */
type X_off64_t = int64 /* _mingw_off_t.h:13:39 */
type Off64_t = int64 /* _mingw_off_t.h:15:39 */
type Off_t = Off64_t /* _mingw_off_t.h:24:17 */
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
type X_ino_t = uint16 /* types.h:43:24 */
type Ino_t = uint16 /* types.h:45:24 */
type X_dev_t = uint32 /* types.h:51:22 */
type Dev_t = uint32 /* types.h:53:22 */
type X_pid_t = int64 /* types.h:63:17 */
type Pid_t = X_pid_t /* types.h:68:16 */
type X_mode_t = uint16 /* types.h:74:24 */
type Mode_t = X_mode_t /* types.h:77:17 */
type Useconds_t = uint32 /* types.h:84:22 */
type Timespec = struct {
Ftv_sec Time_t
Ftv_nsec int32
F__ccgo_pad1 [4]byte
} /* types.h:89:1 */
type Itimerspec = struct {
Fit_interval struct {
Ftv_sec Time_t
Ftv_nsec int32
F__ccgo_pad1 [4]byte
}
Fit_value struct {
Ftv_sec Time_t
Ftv_nsec int32
F__ccgo_pad1 [4]byte
}
} /* types.h:94:1 */
type X_sigset_t = uint64 /* types.h:104:28 */
type X_stat32 = struct {
Fst_dev X_dev_t
Fst_ino X_ino_t
Fst_mode uint16
Fst_nlink int16
Fst_uid int16
Fst_gid int16
F__ccgo_pad1 [2]byte
Fst_rdev X_dev_t
Fst_size X_off_t
Fst_atime X__time32_t
Fst_mtime X__time32_t
Fst_ctime X__time32_t
} /* _mingw_stat64.h:25:3 */
type Stat = struct {
Fst_dev X_dev_t
Fst_ino X_ino_t
Fst_mode uint16
Fst_nlink int16
Fst_uid int16
Fst_gid int16
F__ccgo_pad1 [2]byte
Fst_rdev X_dev_t
Fst_size X_off_t
Fst_atime Time_t
Fst_mtime Time_t
Fst_ctime Time_t
} /* _mingw_stat64.h:40:3 */
type X_stat32i64 = struct {
Fst_dev X_dev_t
Fst_ino X_ino_t
Fst_mode uint16
Fst_nlink int16
Fst_uid int16
Fst_gid int16
F__ccgo_pad1 [2]byte
Fst_rdev X_dev_t
F__ccgo_pad2 [4]byte
Fst_size int64
Fst_atime X__time32_t
Fst_mtime X__time32_t
Fst_ctime X__time32_t
F__ccgo_pad3 [4]byte
} /* _mingw_stat64.h:55:3 */
type X_stat64i32 = struct {
Fst_dev X_dev_t
Fst_ino X_ino_t
Fst_mode uint16
Fst_nlink int16
Fst_uid int16
Fst_gid int16
F__ccgo_pad1 [2]byte
Fst_rdev X_dev_t
Fst_size X_off_t
Fst_atime X__time64_t
Fst_mtime X__time64_t
Fst_ctime X__time64_t
} /* _mingw_stat64.h:69:3 */
type X_stat64 = struct {
Fst_dev X_dev_t
Fst_ino X_ino_t
Fst_mode uint16
Fst_nlink int16
Fst_uid int16
Fst_gid int16
F__ccgo_pad1 [2]byte
Fst_rdev X_dev_t
F__ccgo_pad2 [4]byte
Fst_size int64
Fst_atime X__time64_t
Fst_mtime X__time64_t
Fst_ctime X__time64_t
} /* _mingw_stat64.h:83:3 */
var _ int8 /* gen.c:2:13: */

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo sys/types/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o sys/types/types_linux_ppc64le.go -pkgname types', DO NOT EDIT.
package types
var CAPI = map[string]struct{}{}

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo sys\types\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 sys\types\types_windows_arm64.go -pkgname types', DO NOT EDIT.
package types
var CAPI = map[string]struct{}{}

1511
vendor/modernc.org/libc/sys/types/types_linux_ppc64le.go generated vendored Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,329 @@
// Code generated by 'ccgo sys\types\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 sys\types\types_windows_arm64.go -pkgname types', DO NOT EDIT.
package types
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
DUMMYSTRUCTNAME = 0
DUMMYSTRUCTNAME1 = 0
DUMMYSTRUCTNAME2 = 0
DUMMYSTRUCTNAME3 = 0
DUMMYSTRUCTNAME4 = 0
DUMMYSTRUCTNAME5 = 0
DUMMYUNIONNAME = 0
DUMMYUNIONNAME1 = 0
DUMMYUNIONNAME2 = 0
DUMMYUNIONNAME3 = 0
DUMMYUNIONNAME4 = 0
DUMMYUNIONNAME5 = 0
DUMMYUNIONNAME6 = 0
DUMMYUNIONNAME7 = 0
DUMMYUNIONNAME8 = 0
DUMMYUNIONNAME9 = 0
MINGW_DDK_H = 0
MINGW_HAS_DDK_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
UNALIGNED = 0
USE___UUIDOF = 0
WIN32 = 1
WIN64 = 1
WINNT = 1
X_AGLOBAL = 0
X_ANONYMOUS_STRUCT = 0
X_ANONYMOUS_UNION = 0
X_ARGMAX = 100
X_ARM64_ = 1
X_CONST_RETURN = 0
X_CRTNOALIAS = 0
X_CRTRESTRICT = 0
X_CRT_ALTERNATIVE_IMPORTED = 0
X_CRT_MANAGED_HEAP_DEPRECATE = 0
X_CRT_PACKING = 8
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0
X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP = 0
X_DEV_T_DEFINED = 0
X_DLL = 0
X_ERRCODE_DEFINED = 0
X_FILE_OFFSET_BITS = 64
X_FILE_OFFSET_BITS_SET_OFFT = 0
X_INC_CORECRT = 0
X_INC_CRTDEFS = 0
X_INC_CRTDEFS_MACRO = 0
X_INC_MINGW_SECAPI = 0
X_INC_TYPES = 0
X_INC_VADEFS = 0
X_INC__MINGW_H = 0
X_INO_T_DEFINED = 0
X_INT128_DEFINED = 0
X_INTPTR_T_DEFINED = 0
X_MODE_T_ = 0
X_MT = 0
X_M_ARM64 = 1
X_OFF64_T_DEFINED = 0
X_OFF_T_ = 0
X_OFF_T_DEFINED = 0
X_PGLOBAL = 0
X_PID_T_ = 0
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
X_RSIZE_T_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
X_SIGSET_T_ = 0
X_SIZE_T_DEFINED = 0
X_SSIZE_T_DEFINED = 0
X_TAGLC_ID_DEFINED = 0
X_THREADLOCALEINFO = 0
X_TIME32_T_DEFINED = 0
X_TIME64_T_DEFINED = 0
X_TIMESPEC_DEFINED = 0
X_TIME_T_DEFINED = 0
X_UCRT = 0
X_UINTPTR_T_DEFINED = 0
X_VA_LIST_DEFINED = 0
X_W64 = 0
X_WCHAR_T_DEFINED = 0
X_WCTYPE_T_DEFINED = 0
X_WIN32 = 1
X_WIN32_WINNT = 0x601
X_WIN64 = 1
X_WINT_T = 0
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = uint16 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// This macro holds an monotonic increasing value, which indicates
// a specific fix/patch is present on trunk. This value isn't related to
// minor/major version-macros. It is increased on demand, if a big
// fix was applied to trunk. This macro gets just increased on trunk. For
// other branches its value won't be modified.
// mingw.org's version macros: these make gcc to define
// MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
// and the __mingwthr_key_dtor() function from the MinGW
// CRT in its private gthr-win32.h header.
// Set VC specific compiler target macros.
// MS does not prefix symbols by underscores for 64-bit.
// As we have to support older gcc version, which are using underscores
// as symbol prefix for x64, we have to check here for the user label
// prefix defined by gcc.
// Special case nameless struct/union.
// MinGW-w64 has some additional C99 printf/scanf feature support.
// So we add some helper macros to ease recognition of them.
// If _FORTIFY_SOURCE is enabled, some inline functions may use
// __builtin_va_arg_pack(). GCC may report an error if the address
// of such a function is used. Set _FORTIFY_VA_ARG=0 in this case.
// Enable workaround for ABI incompatibility on affected platforms
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
// Templates won't work in C, will break if secure API is not enabled, disabled
// https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
// fallback on default implementation if we can't know the size of the destination
// Include _cygwin.h if we're building a Cygwin application.
// Target specific macro replacement for type "long". In the Windows API,
// the type long is always 32 bit, even if the target is 64 bit (LLP64).
// On 64 bit Cygwin, the type long is 64 bit (LP64). So, to get the right
// sized definitions and declarations, all usage of type long in the Windows
// headers have to be replaced by the below defined macro __LONG32.
// C/C++ specific language defines.
// Note the extern. This is needed to work around GCC's
// limitations in handling dllimport attribute.
// Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's
// variadiac macro facility, because variadic macros cause syntax
// errors with --traditional-cpp.
// High byte is the major version, low byte is the minor.
// Allow both 0x1400 and 0xE00 to identify UCRT
// ===-------- vadefs.h ---------------------------------------------------===
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===-----------------------------------------------------------------------===
// Only include this if we are aiming for MSVC compatibility.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// for backward compatibility
type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
type Ssize_t = int64 /* corecrt.h:45:35 */
type Rsize_t = Size_t /* corecrt.h:52:16 */
type Intptr_t = int64 /* corecrt.h:62:35 */
type Uintptr_t = uint64 /* corecrt.h:75:44 */
type Wint_t = uint16 /* corecrt.h:106:24 */
type Wctype_t = uint16 /* corecrt.h:107:24 */
type Errno_t = int32 /* corecrt.h:113:13 */
type X__time32_t = int32 /* corecrt.h:118:14 */
type X__time64_t = int64 /* corecrt.h:123:35 */
type Time_t = X__time64_t /* corecrt.h:138:20 */
type Threadlocaleinfostruct = struct {
F_locale_pctype uintptr
F_locale_mb_cur_max int32
F_locale_lc_codepage uint32
} /* corecrt.h:430:1 */
type Pthreadlocinfo = uintptr /* corecrt.h:432:39 */
type Pthreadmbcinfo = uintptr /* corecrt.h:433:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
} /* corecrt.h:436:9 */
type X_locale_tstruct = Localeinfo_struct /* corecrt.h:439:3 */
type X_locale_t = uintptr /* corecrt.h:439:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
} /* corecrt.h:443:9 */
type LC_ID = TagLC_ID /* corecrt.h:447:3 */
type LPLC_ID = uintptr /* corecrt.h:447:9 */
type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:482:3 */
type X_ino_t = uint16 /* types.h:43:24 */
type Ino_t = uint16 /* types.h:45:24 */
type X_dev_t = uint32 /* types.h:51:22 */
type Dev_t = uint32 /* types.h:53:22 */
type X_pid_t = int64 /* types.h:63:17 */
type Pid_t = X_pid_t /* types.h:68:16 */
type X_mode_t = uint16 /* types.h:74:24 */
type Mode_t = X_mode_t /* types.h:77:17 */
type X_off_t = int32 /* _mingw_off_t.h:5:16 */
type Off32_t = int32 /* _mingw_off_t.h:7:16 */
type X_off64_t = int64 /* _mingw_off_t.h:13:39 */
type Off64_t = int64 /* _mingw_off_t.h:15:39 */
type Off_t = Off64_t /* _mingw_off_t.h:24:17 */
type Useconds_t = uint32 /* types.h:84:22 */
type Timespec = struct {
Ftv_sec Time_t
Ftv_nsec int32
F__ccgo_pad1 [4]byte
} /* types.h:89:1 */
type Itimerspec = struct {
Fit_interval struct {
Ftv_sec Time_t
Ftv_nsec int32
F__ccgo_pad1 [4]byte
}
Fit_value struct {
Ftv_sec Time_t
Ftv_nsec int32
F__ccgo_pad1 [4]byte
}
} /* types.h:94:1 */
type X_sigset_t = uint64 /* types.h:104:28 */
var _ int8 /* gen.c:2:13: */

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo termios/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o termios/termios_linux_ppc64le.go -pkgname termios', DO NOT EDIT.
package termios
var CAPI = map[string]struct{}{}

1236
vendor/modernc.org/libc/termios/termios_linux_ppc64le.go generated vendored Normal file

File diff suppressed because it is too large Load diff

5
vendor/modernc.org/libc/time/capi_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo time/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o time/time_linux_ppc64le.go -pkgname time', DO NOT EDIT.
package time
var CAPI = map[string]struct{}{}

9
vendor/modernc.org/libc/time/capi_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,9 @@
// Code generated by 'ccgo time\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 time\time_windows_arm64.go -pkgname time', DO NOT EDIT.
package time
var CAPI = map[string]struct{}{
"daylight": {},
"timezone": {},
"tzname": {},
}

688
vendor/modernc.org/libc/time/time_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,688 @@
// Code generated by 'ccgo time/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o time/time_linux_ppc64le.go -pkgname time', DO NOT EDIT.
package time
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
CLOCK_BOOTTIME = 7 // time.h:60:1:
CLOCK_BOOTTIME_ALARM = 9 // time.h:64:1:
CLOCK_MONOTONIC = 1 // time.h:48:1:
CLOCK_MONOTONIC_COARSE = 6 // time.h:58:1:
CLOCK_MONOTONIC_RAW = 4 // time.h:54:1:
CLOCK_PROCESS_CPUTIME_ID = 2 // time.h:50:1:
CLOCK_REALTIME = 0 // time.h:46:1:
CLOCK_REALTIME_ALARM = 8 // time.h:62:1:
CLOCK_REALTIME_COARSE = 5 // time.h:56:1:
CLOCK_TAI = 11 // time.h:66:1:
CLOCK_THREAD_CPUTIME_ID = 3 // time.h:52:1:
TIMER_ABSTIME = 1 // time.h:69:1:
TIME_UTC = 1 // time.h:65:1:
X_ARCH_PPC = 1 // <predefined>:198:1:
X_ARCH_PPC64 = 1 // <predefined>:402:1:
X_ARCH_PPCGR = 1 // <predefined>:15:1:
X_ARCH_PPCSQ = 1 // <predefined>:43:1:
X_ARCH_PWR4 = 1 // <predefined>:381:1:
X_ARCH_PWR5 = 1 // <predefined>:90:1:
X_ARCH_PWR5X = 1 // <predefined>:137:1:
X_ARCH_PWR6 = 1 // <predefined>:91:1:
X_ARCH_PWR7 = 1 // <predefined>:92:1:
X_ARCH_PWR8 = 1 // <predefined>:93:1:
X_ATFILE_SOURCE = 1 // features.h:342:1:
X_BITS_ENDIANNESS_H = 1 // endianness.h:2:1:
X_BITS_ENDIAN_H = 1 // endian.h:20:1:
X_BITS_TIME64_H = 1 // time64.h:24:1:
X_BITS_TIME_H = 1 // time.h:24:1:
X_BITS_TYPESIZES_H = 1 // typesizes.h:24:1:
X_BITS_TYPES_H = 1 // types.h:24:1:
X_BITS_TYPES_LOCALE_T_H = 1 // locale_t.h:20:1:
X_BITS_TYPES___LOCALE_T_H = 1 // __locale_t.h:21:1:
X_BSD_SIZE_T_ = 0 // stddef.h:189:1:
X_BSD_SIZE_T_DEFINED_ = 0 // stddef.h:192:1:
X_CALL_ELF = 2 // <predefined>:415:1:
X_CALL_LINUX = 1 // <predefined>:123:1:
X_DEFAULT_SOURCE = 1 // features.h:227:1:
X_FEATURES_H = 1 // features.h:19:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_GCC_SIZE_T = 0 // stddef.h:195:1:
X_LITTLE_ENDIAN = 1 // <predefined>:37:1:
X_LP64 = 1 // <predefined>:335:1:
X_POSIX_C_SOURCE = 200809 // features.h:281:1:
X_POSIX_SOURCE = 1 // features.h:279:1:
X_SIZET_ = 0 // stddef.h:196:1:
X_SIZE_T = 0 // stddef.h:183:1:
X_SIZE_T_ = 0 // stddef.h:188:1:
X_SIZE_T_DECLARED = 0 // stddef.h:193:1:
X_SIZE_T_DEFINED = 0 // stddef.h:191:1:
X_SIZE_T_DEFINED_ = 0 // stddef.h:190:1:
X_STDC_PREDEF_H = 1 // <predefined>:203:1:
X_STRUCT_TIMESPEC = 1 // struct_timespec.h:3:1:
X_SYS_CDEFS_H = 1 // cdefs.h:19:1:
X_SYS_SIZE_T_H = 0 // stddef.h:184:1:
X_TIME_H = 1 // time.h:23:1:
X_T_SIZE = 0 // stddef.h:186:1:
X_T_SIZE_ = 0 // stddef.h:185:1:
Linux = 1 // <predefined>:263:1:
Unix = 1 // <predefined>:222:1:
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__ieee128 = float64 /* <builtin>:47:21 */
// Wide character type.
// Locale-writers should change this as necessary to
// be big enough to hold unique values not between 0 and 127,
// and not (wchar_t) -1, for each defined multibyte character.
// Define this type if we are doing the whole job,
// or if we want this type in particular.
// A null pointer constant.
// This defines CLOCKS_PER_SEC, which is the number of processor clock
// ticks per second, and possibly a number of other constants.
// System-dependent timing definitions. Linux version.
// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <time.h> instead.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Bit size of the time_t type at glibc build time, general case.
// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
type X__u_char = uint8 /* types.h:31:23 */
type X__u_short = uint16 /* types.h:32:28 */
type X__u_int = uint32 /* types.h:33:22 */
type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
type X__int8_t = int8 /* types.h:37:21 */
type X__uint8_t = uint8 /* types.h:38:23 */
type X__int16_t = int16 /* types.h:39:26 */
type X__uint16_t = uint16 /* types.h:40:28 */
type X__int32_t = int32 /* types.h:41:20 */
type X__uint32_t = uint32 /* types.h:42:22 */
type X__int64_t = int64 /* types.h:44:25 */
type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
type X__int_least8_t = X__int8_t /* types.h:52:18 */
type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
type X__int_least16_t = X__int16_t /* types.h:54:19 */
type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
type X__int_least32_t = X__int32_t /* types.h:56:19 */
type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
type X__int_least64_t = X__int64_t /* types.h:58:19 */
type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
type X__quad_t = int64 /* types.h:63:18 */
type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
type X__intmax_t = int64 /* types.h:72:18 */
type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
// of those macros must use the following macros for underlying types.
// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
// variants of each of the following integer types on this machine.
//
// 16 -- "natural" 16-bit type (always short)
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
// conventional uses of `long' or `long long' type modifiers match the
// types we define, even when a less-adorned type would be the same size.
// This matters for (somewhat) portably writing printf/scanf formats for
// these types, where using the appropriate l or ll format modifiers can
// make the typedefs and the formats match up across all GNU platforms. If
// we used `long' when it's 64 bits where `long long' is expected, then the
// compiler would warn about the formats not matching the argument types,
// and the programmer changing them to shut up the compiler would break the
// program's portability.
//
// Here we assume what is presently the case in all the GCC configurations
// we support: long long is always 64 bits, long is always word/address size,
// and int is always 32 bits.
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Generic version.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Tell the libc code that off_t and off64_t are actually the same type
// for all ABI purposes, even if possibly expressed as different base types
// for C type-checking purposes.
// Same for ino_t and ino64_t.
// And for rlim_t and rlim64_t.
// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
// bits/time64.h -- underlying types for __time64_t. Generic version.
// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Define __TIME64_T_TYPE so that it is always a 64-bit type.
// If we already have 64-bit time type then use it.
type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
type X__blkcnt_t = int64 /* types.h:179:28 */
type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
type X__fsblkcnt_t = uint64 /* types.h:183:30 */
type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
type X__fsfilcnt_t = uint64 /* types.h:187:30 */
type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
type X__fsword_t = int64 /* types.h:191:28 */
type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
type X__sig_atomic_t = int32 /* types.h:214:13 */
// Seconds since the Epoch, visible to user code when time_t is too
// narrow only for consistency with the old way of widening too-narrow
// types. User code should never use __time64_t.
// ISO/IEC 9899:1999 7.23.1: Components of time
// The macro `CLOCKS_PER_SEC' is an expression with type `clock_t' that is
// the number per second of the value returned by the `clock' function.
// CAE XSH, Issue 4, Version 2: <time.h>
// The value of CLOCKS_PER_SEC is required to be 1 million on all
// XSI-conformant systems.
// Identifier for system-wide realtime clock.
// Monotonic system-wide clock.
// High-resolution timer from the CPU.
// Thread-specific CPU-time clock.
// Monotonic system-wide clock, not adjusted for frequency scaling.
// Identifier for system-wide realtime clock, updated only on ticks.
// Monotonic system-wide clock, updated only on ticks.
// Monotonic system-wide clock that includes time spent in suspension.
// Like CLOCK_REALTIME but also wakes suspended system.
// Like CLOCK_BOOTTIME but also wakes suspended system.
// Like CLOCK_REALTIME but in International Atomic Time.
// Flag to indicate time is absolute.
// Many of the typedefs and structs whose official home is this header
// may also need to be defined by other headers.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Returned by `clock'.
type Clock_t = X__clock_t /* clock_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Returned by `time'.
type Time_t = X__time_t /* time_t.h:7:18 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// ISO C `broken-down time' structure.
type Tm = struct {
Ftm_sec int32
Ftm_min int32
Ftm_hour int32
Ftm_mday int32
Ftm_mon int32
Ftm_year int32
Ftm_wday int32
Ftm_yday int32
Ftm_isdst int32
F__ccgo_pad1 [4]byte
Ftm_gmtoff int64
Ftm_zone uintptr
} /* struct_tm.h:7:1 */
// NB: Include guard matches what <linux/time.h> uses.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Endian macros for string.h functions
// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Definitions for byte order, according to significance of bytes,
// from low addresses to high addresses. The value is what you get by
// putting '4' in the most significant byte, '3' in the second most
// significant byte, '2' in the second least significant byte, and '1'
// in the least significant byte, and then writing down one digit for
// each byte, starting with the byte at the lowest address at the left,
// and proceeding to the byte with the highest address at the right.
// This file defines `__BYTE_ORDER' for the particular machine.
// PowerPC has selectable endianness.
// Some machines may need to use a different endianness for floating point
// values.
// POSIX.1b structure for a time value. This is like a `struct timeval' but
// has nanoseconds instead of microseconds.
type Timespec = struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
} /* struct_timespec.h:10:1 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Clock ID used in clock and timer functions.
type Clockid_t = X__clockid_t /* clockid_t.h:7:21 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Timer ID returned by `timer_create'.
type Timer_t = X__timer_t /* timer_t.h:7:19 */
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// NB: Include guard matches what <linux/time.h> uses.
// POSIX.1b structure for timer start values and intervals.
type Itimerspec = struct {
Fit_interval struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
}
Fit_value struct {
Ftv_sec X__time_t
Ftv_nsec X__syscall_slong_t
}
} /* struct_itimerspec.h:8:1 */
type Pid_t = X__pid_t /* time.h:54:17 */
// Definition of locale_t.
// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
// as opaque by applications; some details are exposed for the sake of
// efficiency in e.g. ctype functions.
type X__locale_struct = struct {
F__locales [13]uintptr
F__ctype_b uintptr
F__ctype_tolower uintptr
F__ctype_toupper uintptr
F__names [13]uintptr
} /* __locale_t.h:28:1 */
type X__locale_t = uintptr /* __locale_t.h:42:32 */
type Locale_t = X__locale_t /* locale_t.h:24:20 */
var _ uint8 /* gen.c:2:13: */

437
vendor/modernc.org/libc/time/time_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,437 @@
// Code generated by 'ccgo time\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 time\time_windows_arm64.go -pkgname time', DO NOT EDIT.
package time
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
CLK_TCK = 1000
CLOCKS_PER_SEC = 1000
CLOCK_MONOTONIC = 1
CLOCK_PROCESS_CPUTIME_ID = 2
CLOCK_REALTIME = 0
CLOCK_REALTIME_COARSE = 4
CLOCK_THREAD_CPUTIME_ID = 3
DUMMYSTRUCTNAME = 0
DUMMYSTRUCTNAME1 = 0
DUMMYSTRUCTNAME2 = 0
DUMMYSTRUCTNAME3 = 0
DUMMYSTRUCTNAME4 = 0
DUMMYSTRUCTNAME5 = 0
DUMMYUNIONNAME = 0
DUMMYUNIONNAME1 = 0
DUMMYUNIONNAME2 = 0
DUMMYUNIONNAME3 = 0
DUMMYUNIONNAME4 = 0
DUMMYUNIONNAME5 = 0
DUMMYUNIONNAME6 = 0
DUMMYUNIONNAME7 = 0
DUMMYUNIONNAME8 = 0
DUMMYUNIONNAME9 = 0
MINGW_DDK_H = 0
MINGW_HAS_DDK_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
TIMER_ABSTIME = 1
TIME_UTC = 1
UNALIGNED = 0
USE___UUIDOF = 0
WIN32 = 1
WIN64 = 1
WINNT = 1
WINPTHREAD_API = 0
WIN_PTHREADS_TIME_H = 0
X_AGLOBAL = 0
X_ANONYMOUS_STRUCT = 0
X_ANONYMOUS_UNION = 0
X_ARGMAX = 100
X_ARM64_ = 1
X_CLOCK_T_DEFINED = 0
X_CONST_RETURN = 0
X_CRTNOALIAS = 0
X_CRTRESTRICT = 0
X_CRT_ALTERNATIVE_IMPORTED = 0
X_CRT_MANAGED_HEAP_DEPRECATE = 0
X_CRT_PACKING = 8
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0
X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP = 0
X_DLL = 0
X_ERRCODE_DEFINED = 0
X_FILE_OFFSET_BITS = 64
X_INC_CORECRT = 0
X_INC_CRTDEFS = 0
X_INC_CRTDEFS_MACRO = 0
X_INC_MINGW_SECAPI = 0
X_INC_VADEFS = 0
X_INC_WTIME_INL = 0
X_INC_WTIME_S_INL = 0
X_INC__MINGW_H = 0
X_INT128_DEFINED = 0
X_INTPTR_T_DEFINED = 0
X_MT = 0
X_M_ARM64 = 1
X_PGLOBAL = 0
X_POSIX_CPUTIME = 200809
X_POSIX_MONOTONIC_CLOCK = 200809
X_POSIX_THREAD_CPUTIME = 200809
X_POSIX_TIMERS = 200809
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
X_RSIZE_T_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
X_SIZE_T_DEFINED = 0
X_SSIZE_T_DEFINED = 0
X_TAGLC_ID_DEFINED = 0
X_THREADLOCALEINFO = 0
X_TIME32_T_DEFINED = 0
X_TIME64_T_DEFINED = 0
X_TIMEB_DEFINED = 0
X_TIMEB_H_ = 0
X_TIMEB_H_S = 0
X_TIMESPEC_DEFINED = 0
X_TIMEVAL_DEFINED = 0
X_TIMEZONE_DEFINED = 0
X_TIME_H_ = 0
X_TIME_T_DEFINED = 0
X_TM_DEFINED = 0
X_UCRT = 0
X_UINTPTR_T_DEFINED = 0
X_VA_LIST_DEFINED = 0
X_W64 = 0
X_WCHAR_T_DEFINED = 0
X_WCTYPE_T_DEFINED = 0
X_WIN32 = 1
X_WIN32_WINNT = 0x601
X_WIN64 = 1
X_WINT_T = 0
X_WTIME_DEFINED = 0
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = uint16 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// This macro holds an monotonic increasing value, which indicates
// a specific fix/patch is present on trunk. This value isn't related to
// minor/major version-macros. It is increased on demand, if a big
// fix was applied to trunk. This macro gets just increased on trunk. For
// other branches its value won't be modified.
// mingw.org's version macros: these make gcc to define
// MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
// and the __mingwthr_key_dtor() function from the MinGW
// CRT in its private gthr-win32.h header.
// Set VC specific compiler target macros.
// MS does not prefix symbols by underscores for 64-bit.
// As we have to support older gcc version, which are using underscores
// as symbol prefix for x64, we have to check here for the user label
// prefix defined by gcc.
// Special case nameless struct/union.
// MinGW-w64 has some additional C99 printf/scanf feature support.
// So we add some helper macros to ease recognition of them.
// If _FORTIFY_SOURCE is enabled, some inline functions may use
// __builtin_va_arg_pack(). GCC may report an error if the address
// of such a function is used. Set _FORTIFY_VA_ARG=0 in this case.
// Enable workaround for ABI incompatibility on affected platforms
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
// Templates won't work in C, will break if secure API is not enabled, disabled
// https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
// fallback on default implementation if we can't know the size of the destination
// Include _cygwin.h if we're building a Cygwin application.
// Target specific macro replacement for type "long". In the Windows API,
// the type long is always 32 bit, even if the target is 64 bit (LLP64).
// On 64 bit Cygwin, the type long is 64 bit (LP64). So, to get the right
// sized definitions and declarations, all usage of type long in the Windows
// headers have to be replaced by the below defined macro __LONG32.
// C/C++ specific language defines.
// Note the extern. This is needed to work around GCC's
// limitations in handling dllimport attribute.
// Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's
// variadiac macro facility, because variadic macros cause syntax
// errors with --traditional-cpp.
// High byte is the major version, low byte is the minor.
// Allow both 0x1400 and 0xE00 to identify UCRT
// ===-------- vadefs.h ---------------------------------------------------===
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===-----------------------------------------------------------------------===
// Only include this if we are aiming for MSVC compatibility.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// for backward compatibility
type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
type Ssize_t = int64 /* corecrt.h:45:35 */
type Rsize_t = Size_t /* corecrt.h:52:16 */
type Intptr_t = int64 /* corecrt.h:62:35 */
type Uintptr_t = uint64 /* corecrt.h:75:44 */
type Wint_t = uint16 /* corecrt.h:106:24 */
type Wctype_t = uint16 /* corecrt.h:107:24 */
type Errno_t = int32 /* corecrt.h:113:13 */
type X__time32_t = int32 /* corecrt.h:118:14 */
type X__time64_t = int64 /* corecrt.h:123:35 */
type Time_t = X__time64_t /* corecrt.h:138:20 */
type Threadlocaleinfostruct = struct {
F_locale_pctype uintptr
F_locale_mb_cur_max int32
F_locale_lc_codepage uint32
} /* corecrt.h:430:1 */
type Pthreadlocinfo = uintptr /* corecrt.h:432:39 */
type Pthreadmbcinfo = uintptr /* corecrt.h:433:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
} /* corecrt.h:436:9 */
type X_locale_tstruct = Localeinfo_struct /* corecrt.h:439:3 */
type X_locale_t = uintptr /* corecrt.h:439:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
} /* corecrt.h:443:9 */
type LC_ID = TagLC_ID /* corecrt.h:447:3 */
type LPLC_ID = uintptr /* corecrt.h:447:9 */
type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:482:3 */
// Adding timespec definition.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
type X__timeb32 = struct {
Ftime X__time32_t
Fmillitm uint16
Ftimezone int16
Fdstflag int16
F__ccgo_pad1 [2]byte
} /* timeb.h:53:3 */
type Timeb = struct {
Ftime Time_t
Fmillitm uint16
Ftimezone int16
Fdstflag int16
F__ccgo_pad1 [2]byte
} /* timeb.h:61:3 */
type X__timeb64 = struct {
Ftime X__time64_t
Fmillitm uint16
Ftimezone int16
Fdstflag int16
F__ccgo_pad1 [2]byte
} /* timeb.h:69:3 */
type X_timespec32 = struct {
Ftv_sec X__time32_t
Ftv_nsec int32
} /* timeb.h:89:1 */
type X_timespec64 = struct {
Ftv_sec X__time64_t
Ftv_nsec int32
F__ccgo_pad1 [4]byte
} /* timeb.h:94:1 */
type Timespec = struct {
Ftv_sec Time_t
Ftv_nsec int32
F__ccgo_pad1 [4]byte
} /* timeb.h:101:1 */
type Itimerspec = struct {
Fit_interval struct {
Ftv_sec Time_t
Ftv_nsec int32
F__ccgo_pad1 [4]byte
}
Fit_value struct {
Ftv_sec Time_t
Ftv_nsec int32
F__ccgo_pad1 [4]byte
}
} /* timeb.h:106:1 */
type Clock_t = int32 /* time.h:63:16 */
type Tm = struct {
Ftm_sec int32
Ftm_min int32
Ftm_hour int32
Ftm_mday int32
Ftm_mon int32
Ftm_year int32
Ftm_wday int32
Ftm_yday int32
Ftm_isdst int32
} /* time.h:100:3 */
var Xdaylight int32 /* time.h:275:22: */
var Xtimezone int32 /* time.h:276:23: */
var Xtzname [2]uintptr /* time.h:277:23: */
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
type Timeval = struct {
Ftv_sec int32
Ftv_usec int32
} /* _timeval.h:10:1 */
type Timezone = struct {
Ftz_minuteswest int32
Ftz_dsttime int32
} /* time.h:285:1 */
// POSIX 2008 says clock_gettime and timespec are defined in time.h header,
// but other systems - like Linux, Solaris, etc - tend to declare such
// recent extensions only if the following guards are met.
//
// Copyright (c) 2011-2016 mingw-w64 project
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the "Software"),
// to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
// and/or sell copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// Posix timers are supported
// Monotonic clocks are available.
// CPU-time clocks are available.
// Clock support in threads are available.
type Clockid_t = int32 /* pthread_time.h:49:13 */
var _ int8 /* gen.c:2:13: */

5
vendor/modernc.org/libc/unistd/capi_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo unistd/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o unistd/unistd_linux_ppc64le.go -pkgname unistd', DO NOT EDIT.
package unistd
var CAPI = map[string]struct{}{}

5
vendor/modernc.org/libc/unistd/capi_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo unistd\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 unistd\unistd_windows_arm64.go -pkgname unistd', DO NOT EDIT.
package unistd
var CAPI = map[string]struct{}{}

1597
vendor/modernc.org/libc/unistd/unistd_linux_ppc64le.go generated vendored Normal file

File diff suppressed because it is too large Load diff

682
vendor/modernc.org/libc/unistd/unistd_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,682 @@
// Code generated by 'ccgo unistd\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 unistd\unistd_windows_arm64.go -pkgname unistd', DO NOT EDIT.
package unistd
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
DUMMYSTRUCTNAME = 0
DUMMYSTRUCTNAME1 = 0
DUMMYSTRUCTNAME2 = 0
DUMMYSTRUCTNAME3 = 0
DUMMYSTRUCTNAME4 = 0
DUMMYSTRUCTNAME5 = 0
DUMMYUNIONNAME = 0
DUMMYUNIONNAME1 = 0
DUMMYUNIONNAME2 = 0
DUMMYUNIONNAME3 = 0
DUMMYUNIONNAME4 = 0
DUMMYUNIONNAME5 = 0
DUMMYUNIONNAME6 = 0
DUMMYUNIONNAME7 = 0
DUMMYUNIONNAME8 = 0
DUMMYUNIONNAME9 = 0
FTRUNCATE_DEFINED = 0
F_OK = 0
MINGW_DDK_H = 0
MINGW_HAS_DDK_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
OLD_P_OVERLAY = 2
P_DETACH = 4
P_NOWAIT = 1
P_NOWAITO = 3
P_OVERLAY = 2
P_WAIT = 0
R_OK = 4
SEEK_CUR = 1
SEEK_END = 2
SEEK_SET = 0
STDERR_FILENO = 2
STDIN_FILENO = 0
STDOUT_FILENO = 1
UNALIGNED = 0
USE___UUIDOF = 0
WAIT_CHILD = 0
WAIT_GRANDCHILD = 1
WIN32 = 1
WIN64 = 1
WINNT = 1
WIN_PTHREADS_UNISTD_H = 0
W_OK = 2
X_OK = 1
X_AGLOBAL = 0
X_ANONYMOUS_STRUCT = 0
X_ANONYMOUS_UNION = 0
X_ARGMAX = 100
X_ARM64_ = 1
X_A_ARCH = 0x20
X_A_HIDDEN = 0x02
X_A_NORMAL = 0x00
X_A_RDONLY = 0x01
X_A_SUBDIR = 0x10
X_A_SYSTEM = 0x04
X_CONST_RETURN = 0
X_CRTNOALIAS = 0
X_CRTRESTRICT = 0
X_CRT_ALTERNATIVE_IMPORTED = 0
X_CRT_DIRECTORY_DEFINED = 0
X_CRT_GETPID_DEFINED = 0
X_CRT_MANAGED_HEAP_DEPRECATE = 0
X_CRT_MEMORY_DEFINED = 0
X_CRT_PACKING = 8
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0
X_CRT_SWAB_DEFINED = 0
X_CRT_SYSTEM_DEFINED = 0
X_CRT_TERMINATE_DEFINED = 0
X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP = 0
X_CRT_WSYSTEM_DEFINED = 0
X_DEV_T_DEFINED = 0
X_DLL = 0
X_ERRCODE_DEFINED = 0
X_FILE_OFFSET_BITS = 64
X_FILE_OFFSET_BITS_SET_FTRUNCATE = 0
X_FILE_OFFSET_BITS_SET_LSEEK = 0
X_FILE_OFFSET_BITS_SET_OFFT = 0
X_FINDDATA_T_DEFINED = 0
X_FSIZE_T_DEFINED = 0
X_INC_CORECRT = 0
X_INC_CORECRT_STARTUP = 0
X_INC_CRTDEFS = 0
X_INC_CRTDEFS_MACRO = 0
X_INC_MINGW_SECAPI = 0
X_INC_PROCESS = 0
X_INC_STRING = 0
X_INC_STRING_S = 0
X_INC_TYPES = 0
X_INC_VADEFS = 0
X_INC__MINGW_H = 0
X_INO_T_DEFINED = 0
X_INT128_DEFINED = 0
X_INTPTR_T_DEFINED = 0
X_IO_H_ = 0
X_MODE_T_ = 0
X_MT = 0
X_M_ARM64 = 1
X_NLSCMPERROR = 2147483647
X_NLSCMP_DEFINED = 0
X_OFF64_T_DEFINED = 0
X_OFF_T_ = 0
X_OFF_T_DEFINED = 0
X_OLD_P_OVERLAY = 2
X_PGLOBAL = 0
X_PID_T_ = 0
X_POSIX_BARRIERS = 200112
X_POSIX_CLOCK_SELECTION = 200112
X_POSIX_READER_WRITER_LOCKS = 200112
X_POSIX_SEMAPHORES = 200112
X_POSIX_SPIN_LOCKS = 200112
X_POSIX_THREADS = 200112
X_POSIX_TIMEOUTS = 200112
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
X_P_DETACH = 4
X_P_NOWAIT = 1
X_P_NOWAITO = 3
X_P_OVERLAY = 2
X_P_WAIT = 0
X_RSIZE_T_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
X_SIGSET_T_ = 0
X_SIZE_T_DEFINED = 0
X_SPAWNV_DEFINED = 0
X_SSIZE_T_DEFINED = 0
X_TAGLC_ID_DEFINED = 0
X_THREADLOCALEINFO = 0
X_TIME32_T_DEFINED = 0
X_TIME64_T_DEFINED = 0
X_TIMESPEC_DEFINED = 0
X_TIME_T_DEFINED = 0
X_UCRT = 0
X_UINTPTR_T_DEFINED = 0
X_UNISTD_H = 0
X_VA_LIST_DEFINED = 0
X_W64 = 0
X_WAIT_CHILD = 0
X_WAIT_GRANDCHILD = 1
X_WCHAR_T_DEFINED = 0
X_WCTYPE_T_DEFINED = 0
X_WConst_return = 0
X_WEXEC_DEFINED = 0
X_WFINDDATA_T_DEFINED = 0
X_WIN32 = 1
X_WIN32_WINNT = 0x601
X_WIN64 = 1
X_WINT_T = 0
X_WIO_DEFINED = 0
X_WSPAWN_DEFINED = 0
X_WSTRING_DEFINED = 0
X_WSTRING_S_DEFINED = 0
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = uint16 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// This macro holds an monotonic increasing value, which indicates
// a specific fix/patch is present on trunk. This value isn't related to
// minor/major version-macros. It is increased on demand, if a big
// fix was applied to trunk. This macro gets just increased on trunk. For
// other branches its value won't be modified.
// mingw.org's version macros: these make gcc to define
// MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
// and the __mingwthr_key_dtor() function from the MinGW
// CRT in its private gthr-win32.h header.
// Set VC specific compiler target macros.
// MS does not prefix symbols by underscores for 64-bit.
// As we have to support older gcc version, which are using underscores
// as symbol prefix for x64, we have to check here for the user label
// prefix defined by gcc.
// Special case nameless struct/union.
// MinGW-w64 has some additional C99 printf/scanf feature support.
// So we add some helper macros to ease recognition of them.
// If _FORTIFY_SOURCE is enabled, some inline functions may use
// __builtin_va_arg_pack(). GCC may report an error if the address
// of such a function is used. Set _FORTIFY_VA_ARG=0 in this case.
// Enable workaround for ABI incompatibility on affected platforms
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
// Templates won't work in C, will break if secure API is not enabled, disabled
// https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
// fallback on default implementation if we can't know the size of the destination
// Include _cygwin.h if we're building a Cygwin application.
// Target specific macro replacement for type "long". In the Windows API,
// the type long is always 32 bit, even if the target is 64 bit (LLP64).
// On 64 bit Cygwin, the type long is 64 bit (LP64). So, to get the right
// sized definitions and declarations, all usage of type long in the Windows
// headers have to be replaced by the below defined macro __LONG32.
// C/C++ specific language defines.
// Note the extern. This is needed to work around GCC's
// limitations in handling dllimport attribute.
// Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's
// variadiac macro facility, because variadic macros cause syntax
// errors with --traditional-cpp.
// High byte is the major version, low byte is the minor.
// Allow both 0x1400 and 0xE00 to identify UCRT
// ===-------- vadefs.h ---------------------------------------------------===
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===-----------------------------------------------------------------------===
// Only include this if we are aiming for MSVC compatibility.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// for backward compatibility
type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
type Ssize_t = int64 /* corecrt.h:45:35 */
type Rsize_t = Size_t /* corecrt.h:52:16 */
type Intptr_t = int64 /* corecrt.h:62:35 */
type Uintptr_t = uint64 /* corecrt.h:75:44 */
type Wint_t = uint16 /* corecrt.h:106:24 */
type Wctype_t = uint16 /* corecrt.h:107:24 */
type Errno_t = int32 /* corecrt.h:113:13 */
type X__time32_t = int32 /* corecrt.h:118:14 */
type X__time64_t = int64 /* corecrt.h:123:35 */
type Time_t = X__time64_t /* corecrt.h:138:20 */
type Threadlocaleinfostruct = struct {
F_locale_pctype uintptr
F_locale_mb_cur_max int32
F_locale_lc_codepage uint32
} /* corecrt.h:430:1 */
type Pthreadlocinfo = uintptr /* corecrt.h:432:39 */
type Pthreadmbcinfo = uintptr /* corecrt.h:433:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
} /* corecrt.h:436:9 */
type X_locale_tstruct = Localeinfo_struct /* corecrt.h:439:3 */
type X_locale_t = uintptr /* corecrt.h:439:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
} /* corecrt.h:443:9 */
type LC_ID = TagLC_ID /* corecrt.h:447:3 */
type LPLC_ID = uintptr /* corecrt.h:447:9 */
type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:482:3 */
type X_fsize_t = uint32 /* io.h:29:25 */
type X_finddata32_t = struct {
Fattrib uint32
Ftime_create X__time32_t
Ftime_access X__time32_t
Ftime_write X__time32_t
Fsize X_fsize_t
Fname [260]int8
} /* io.h:35:3 */
type X_finddata32i64_t = struct {
Fattrib uint32
Ftime_create X__time32_t
Ftime_access X__time32_t
Ftime_write X__time32_t
Fsize int64
Fname [260]int8
F__ccgo_pad1 [4]byte
} /* io.h:44:3 */
type X_finddata64i32_t = struct {
Fattrib uint32
F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize X_fsize_t
Fname [260]int8
} /* io.h:53:3 */
type X__finddata64_t = struct {
Fattrib uint32
F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize int64
Fname [260]int8
F__ccgo_pad2 [4]byte
} /* io.h:62:3 */
type X_wfinddata32_t = struct {
Fattrib uint32
Ftime_create X__time32_t
Ftime_access X__time32_t
Ftime_write X__time32_t
Fsize X_fsize_t
Fname [260]Wchar_t
} /* io.h:94:3 */
type X_wfinddata32i64_t = struct {
Fattrib uint32
Ftime_create X__time32_t
Ftime_access X__time32_t
Ftime_write X__time32_t
Fsize int64
Fname [260]Wchar_t
} /* io.h:103:3 */
type X_wfinddata64i32_t = struct {
Fattrib uint32
F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize X_fsize_t
Fname [260]Wchar_t
F__ccgo_pad2 [4]byte
} /* io.h:112:3 */
type X_wfinddata64_t = struct {
Fattrib uint32
F__ccgo_pad1 [4]byte
Ftime_create X__time64_t
Ftime_access X__time64_t
Ftime_write X__time64_t
Fsize int64
Fname [260]Wchar_t
} /* io.h:121:3 */
type X_off_t = int32 /* _mingw_off_t.h:5:16 */
type Off32_t = int32 /* _mingw_off_t.h:7:16 */
type X_off64_t = int64 /* _mingw_off_t.h:13:39 */
type Off64_t = int64 /* _mingw_off_t.h:15:39 */
type Off_t = Off64_t /* _mingw_off_t.h:24:17 */
type X_PVFV = uintptr /* corecrt_startup.h:20:14 */
type X_PIFV = uintptr /* corecrt_startup.h:21:13 */
type X_PVFI = uintptr /* corecrt_startup.h:22:14 */
type X_onexit_table_t1 = struct {
F_first uintptr
F_last uintptr
F_end uintptr
} /* corecrt_startup.h:24:9 */
type X_onexit_table_t = X_onexit_table_t1 /* corecrt_startup.h:28:3 */
type X_onexit_t = uintptr /* corecrt_startup.h:30:13 */
// Includes a definition of _pid_t and pid_t
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
type X_ino_t = uint16 /* types.h:43:24 */
type Ino_t = uint16 /* types.h:45:24 */
type X_dev_t = uint32 /* types.h:51:22 */
type Dev_t = uint32 /* types.h:53:22 */
type X_pid_t = int64 /* types.h:63:17 */
type Pid_t = X_pid_t /* types.h:68:16 */
type X_mode_t = uint16 /* types.h:74:24 */
type Mode_t = X_mode_t /* types.h:77:17 */
type Useconds_t = uint32 /* types.h:84:22 */
type Timespec = struct {
Ftv_sec Time_t
Ftv_nsec int32
F__ccgo_pad1 [4]byte
} /* types.h:89:1 */
type Itimerspec = struct {
Fit_interval struct {
Ftv_sec Time_t
Ftv_nsec int32
F__ccgo_pad1 [4]byte
}
Fit_value struct {
Ftv_sec Time_t
Ftv_nsec int32
F__ccgo_pad1 [4]byte
}
} /* types.h:94:1 */
type X_sigset_t = uint64 /* types.h:104:28 */
type X_beginthread_proc_type = uintptr /* process.h:32:16 */
type X_beginthreadex_proc_type = uintptr /* process.h:33:20 */
type X_tls_callback_type = uintptr /* process.h:64:16 */
//
// Copyright (c) 2011-2016 mingw-w64 project
//
// Permission is hereby granted, free of charge, to any person obtaining a
// copy of this software and associated documentation files (the "Software"),
// to deal in the Software without restriction, including without limitation
// the rights to use, copy, modify, merge, publish, distribute, sublicense,
// and/or sell copies of the Software, and to permit persons to whom the
// Software is furnished to do so, subject to the following conditions:
//
// The above copyright notice and this permission notice shall be included in
// all copies or substantial portions of the Software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
// DEALINGS IN THE SOFTWARE.
// Set defines described by the POSIX Threads Extension (1003.1c-1995)
// _SC_THREADS
// Basic support for POSIX threads is available. The functions
//
// pthread_atfork(),
// pthread_attr_destroy(),
// pthread_attr_getdetachstate(),
// pthread_attr_getschedparam(),
// pthread_attr_init(),
// pthread_attr_setdetachstate(),
// pthread_attr_setschedparam(),
// pthread_cancel(),
// pthread_cleanup_push(),
// pthread_cleanup_pop(),
// pthread_cond_broadcast(),
// pthread_cond_destroy(),
// pthread_cond_init(),
// pthread_cond_signal(),
// pthread_cond_timedwait(),
// pthread_cond_wait(),
// pthread_condattr_destroy(),
// pthread_condattr_init(),
// pthread_create(),
// pthread_detach(),
// pthread_equal(),
// pthread_exit(),
// pthread_getspecific(),
// pthread_join(,
// pthread_key_create(),
// pthread_key_delete(),
// pthread_mutex_destroy(),
// pthread_mutex_init(),
// pthread_mutex_lock(),
// pthread_mutex_trylock(),
// pthread_mutex_unlock(),
// pthread_mutexattr_destroy(),
// pthread_mutexattr_init(),
// pthread_once(),
// pthread_rwlock_destroy(),
// pthread_rwlock_init(),
// pthread_rwlock_rdlock(),
// pthread_rwlock_tryrdlock(),
// pthread_rwlock_trywrlock(),
// pthread_rwlock_unlock(),
// pthread_rwlock_wrlock(),
// pthread_rwlockattr_destroy(),
// pthread_rwlockattr_init(),
// pthread_self(),
// pthread_setcancelstate(),
// pthread_setcanceltype(),
// pthread_setspecific(),
// pthread_testcancel()
//
// are present.
// _SC_READER_WRITER_LOCKS
// This option implies the _POSIX_THREADS option. Conversely, under
// POSIX 1003.1-2001 the _POSIX_THREADS option implies this option.
//
// The functions
// pthread_rwlock_destroy(),
// pthread_rwlock_init(),
// pthread_rwlock_rdlock(),
// pthread_rwlock_tryrdlock(),
// pthread_rwlock_trywrlock(),
// pthread_rwlock_unlock(),
// pthread_rwlock_wrlock(),
// pthread_rwlockattr_destroy(),
// pthread_rwlockattr_init()
//
// are present.
// _SC_SPIN_LOCKS
// This option implies the _POSIX_THREADS and _POSIX_THREAD_SAFE_FUNCTIONS
// options. The functions
//
// pthread_spin_destroy(),
// pthread_spin_init(),
// pthread_spin_lock(),
// pthread_spin_trylock(),
// pthread_spin_unlock()
//
// are present.
// _SC_BARRIERS
// This option implies the _POSIX_THREADS and _POSIX_THREAD_SAFE_FUNCTIONS
// options. The functions
//
// pthread_barrier_destroy(),
// pthread_barrier_init(),
// pthread_barrier_wait(),
// pthread_barrierattr_destroy(),
// pthread_barrierattr_init()
//
// are present.
// _SC_TIMEOUTS
// The functions
//
// mq_timedreceive(), - not supported
// mq_timedsend(), - not supported
// posix_trace_timedgetnext_event(), - not supported
// pthread_mutex_timedlock(),
// pthread_rwlock_timedrdlock(),
// pthread_rwlock_timedwrlock(),
// sem_timedwait(),
//
// are present.
// _SC_TIMERS - not supported
// The functions
//
// clock_getres(),
// clock_gettime(),
// clock_settime(),
// nanosleep(),
// timer_create(),
// timer_delete(),
// timer_gettime(),
// timer_getoverrun(),
// timer_settime()
//
// are present.
// #undef _POSIX_TIMERS
// _SC_CLOCK_SELECTION
// This option implies the _POSIX_TIMERS option. The functions
//
// pthread_condattr_getclock(),
// pthread_condattr_setclock(),
// clock_nanosleep()
//
// are present.
// _SC_SEMAPHORES
// The include file <semaphore.h> is present. The functions
//
// sem_close(),
// sem_destroy(),
// sem_getvalue(),
// sem_init(),
// sem_open(),
// sem_post(),
// sem_trywait(),
// sem_unlink(),
// sem_wait()
//
// are present.
var _ int8 /* gen.c:2:13: */

5
vendor/modernc.org/libc/utime/capi_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo utime/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o utime/utime_linux_ppc64le.go -pkgname utime', DO NOT EDIT.
package utime
var CAPI = map[string]struct{}{}

5
vendor/modernc.org/libc/utime/capi_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo utime\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 utime\utime_windows_arm64.go -pkgname utime', DO NOT EDIT.
package utime
var CAPI = map[string]struct{}{}

789
vendor/modernc.org/libc/utime/utime_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,789 @@
// Code generated by 'ccgo utime/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o utime/utime_linux_ppc64le.go -pkgname utime', DO NOT EDIT.
package utime
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
X_ARCH_PPC = 1 // <predefined>:198:1:
X_ARCH_PPC64 = 1 // <predefined>:402:1:
X_ARCH_PPCGR = 1 // <predefined>:15:1:
X_ARCH_PPCSQ = 1 // <predefined>:43:1:
X_ARCH_PWR4 = 1 // <predefined>:381:1:
X_ARCH_PWR5 = 1 // <predefined>:90:1:
X_ARCH_PWR5X = 1 // <predefined>:137:1:
X_ARCH_PWR6 = 1 // <predefined>:91:1:
X_ARCH_PWR7 = 1 // <predefined>:92:1:
X_ARCH_PWR8 = 1 // <predefined>:93:1:
X_ATFILE_SOURCE = 1 // features.h:342:1:
X_BITS_TIME64_H = 1 // time64.h:24:1:
X_BITS_TYPESIZES_H = 1 // typesizes.h:24:1:
X_BITS_TYPES_H = 1 // types.h:24:1:
X_CALL_ELF = 2 // <predefined>:415:1:
X_CALL_LINUX = 1 // <predefined>:123:1:
X_DEFAULT_SOURCE = 1 // features.h:227:1:
X_FEATURES_H = 1 // features.h:19:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_LITTLE_ENDIAN = 1 // <predefined>:37:1:
X_LP64 = 1 // <predefined>:335:1:
X_POSIX_C_SOURCE = 200809 // features.h:281:1:
X_POSIX_SOURCE = 1 // features.h:279:1:
X_STDC_PREDEF_H = 1 // <predefined>:203:1:
X_SYS_CDEFS_H = 1 // cdefs.h:19:1:
X_UTIME_H = 1 // utime.h:23:1:
Linux = 1 // <predefined>:263:1:
Unix = 1 // <predefined>:222:1:
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__ieee128 = float64 /* <builtin>:47:21 */
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// POSIX Standard: 5.6.6 Set File Access and Modification Times <utime.h>
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
//
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
// Extensions to ISO C11 from TS 18661-1:2014.
// __STDC_WANT_IEC_60559_FUNCS_EXT__
// Extensions to ISO C11 from TS 18661-4:2015.
// __STDC_WANT_IEC_60559_TYPES_EXT__
// Extensions to ISO C11 from TS 18661-3:2015.
//
// _POSIX_SOURCE IEEE Std 1003.1.
// _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
// if >=199309L, add IEEE Std 1003.1b-1993;
// if >=199506L, add IEEE Std 1003.1c-1995;
// if >=200112L, all of IEEE 1003.1-2004
// if >=200809L, all of IEEE 1003.1-2008
// _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if
// Single Unix conformance is wanted, to 600 for the
// sixth revision, to 700 for the seventh revision.
// _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
// _LARGEFILE_SOURCE Some more functions for correct standard I/O.
// _LARGEFILE64_SOURCE Additional functionality from LFS for large files.
// _FILE_OFFSET_BITS=N Select default filesystem interface.
// _ATFILE_SOURCE Additional *at interfaces.
// _GNU_SOURCE All of the above, plus GNU extensions.
// _DEFAULT_SOURCE The default set of features (taking precedence over
// __STRICT_ANSI__).
//
// _FORTIFY_SOURCE Add security hardening to many library functions.
// Set to 1 or 2; 2 performs stricter checks than 1.
//
// _REENTRANT, _THREAD_SAFE
// Obsolete; equivalent to _POSIX_C_SOURCE=199506L.
//
// The `-ansi' switch to the GNU C compiler, and standards conformance
// options such as `-std=c99', define __STRICT_ANSI__. If none of
// these are defined, or if _DEFAULT_SOURCE is defined, the default is
// to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to
// 200809L, as well as enabling miscellaneous functions from BSD and
// SVID. If more than one of these are defined, they accumulate. For
// example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together
// give you ISO C, 1003.1, and 1003.2, but nothing else.
//
// These are defined by this file and are used by the
// header files to decide what to declare or define:
//
// __GLIBC_USE (F) Define things from feature set F. This is defined
// to 1 or 0; the subsequent macros are either defined
// or undefined, and those tests should be moved to
// __GLIBC_USE.
// __USE_ISOC11 Define ISO C11 things.
// __USE_ISOC99 Define ISO C99 things.
// __USE_ISOC95 Define ISO C90 AMD1 (C95) things.
// __USE_ISOCXX11 Define ISO C++11 things.
// __USE_POSIX Define IEEE Std 1003.1 things.
// __USE_POSIX2 Define IEEE Std 1003.2 things.
// __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things.
// __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things.
// __USE_XOPEN Define XPG things.
// __USE_XOPEN_EXTENDED Define X/Open Unix things.
// __USE_UNIX98 Define Single Unix V2 things.
// __USE_XOPEN2K Define XPG6 things.
// __USE_XOPEN2KXSI Define XPG6 XSI things.
// __USE_XOPEN2K8 Define XPG7 things.
// __USE_XOPEN2K8XSI Define XPG7 XSI things.
// __USE_LARGEFILE Define correct standard I/O things.
// __USE_LARGEFILE64 Define LFS things with separate names.
// __USE_FILE_OFFSET64 Define 64bit interface as default.
// __USE_MISC Define things from 4.3BSD or System V Unix.
// __USE_ATFILE Define *at interfaces and AT_* constants for them.
// __USE_GNU Define GNU extensions.
// __USE_FORTIFY_LEVEL Additional security measures used, according to level.
//
// The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are
// defined by this file unconditionally. `__GNU_LIBRARY__' is provided
// only for compatibility. All new code should use the other symbols
// to test for features.
//
// All macros listed above as possibly being defined by this file are
// explicitly undefined if they are not explicitly defined.
// Feature-test macros that are not defined by the user or compiler
// but are implied by the other feature-test macros defined (or by the
// lack of any definitions) are defined by the file.
//
// ISO C feature test macros depend on the definition of the macro
// when an affected header is included, not when the first system
// header is included, and so they are handled in
// <bits/libc-header-start.h>, which does not have a multiple include
// guard. Feature test macros that can be handled from the first
// system header included are handled here.
// Undefine everything, so we get a clean slate.
// Suppress kernel-name space pollution unless user expressedly asks
// for it.
// Convenience macro to test the version of gcc.
// Use like this:
// #if __GNUC_PREREQ (2,8)
// ... code requiring gcc 2.8 or later ...
// #endif
// Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was
// added in 2.0.
// Similarly for clang. Features added to GCC after version 4.2 may
// or may not also be available in clang, and clang's definitions of
// __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such
// features can be queried via __has_extension/__has_feature.
// Whether to use feature set F.
// _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
// _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not
// issue a warning; the expectation is that the source is being
// transitioned to use the new macro.
// If _GNU_SOURCE was defined by the user, turn on all the other features.
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
// This is to enable the ISO C2X extension.
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
// This is to enable the ISO C90 Amendment 1:1995 extension.
// If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE
// is defined, use POSIX.1-2008 (or another version depending on
// _XOPEN_SOURCE).
// Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be
// defined in all multithreaded code. GNU libc has not required this
// for many years. We now treat them as compatibility synonyms for
// _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with
// comprehensive support for multithreaded code. Using them never
// lowers the selected level of POSIX conformance, only raises it.
// The function 'gets' existed in C89, but is impossible to use
// safely. It has been removed from ISO C11 and ISO C++14. Note: for
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
// GNU formerly extended the scanf functions with modified format
// specifiers %as, %aS, and %a[...] that allocate a buffer for the
// input using malloc. This extension conflicts with ISO C99, which
// defines %a as a standalone format specifier that reads a floating-
// point number; moreover, POSIX.1-2008 provides the same feature
// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
//
// We now follow C99 unless GNU extensions are active and the compiler
// is specifically in C89 or C++98 mode (strict or not). For
// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
// old extension.
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
// on. The use of this variable is deprecated. Use __GLIBC__ and
// __GLIBC_MINOR__ now (see below) when you want to test for a specific
// GNU C library version and use the values in <gnu/lib-names.h> to get
// the sonames of the shared libraries.
// Major and minor version number of the GNU C library package. Use
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
// The GNU libc does not support any K&R compilers or the traditional mode
// of ISO C compilers anymore. Check for some of the combinations not
// anymore supported.
// Some user header file might have defined this before.
// All functions, except those with callbacks or those that
// synchronize memory, are leaf functions.
// GCC can always grok prototypes. For C++ programs we add throw()
// to help it optimize the function calls. But this works only with
// gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions
// as non-throwing using a function attribute since programs can use
// the -fexceptions options for C code as well.
// Compilers that are not clang may object to
// #if defined __clang__ && __has_extension(...)
// even though they do not need to evaluate the right-hand side of the &&.
// These two macros are not used in glibc anymore. They are kept here
// only because some other projects expect the macros to be defined.
// For these things, GCC behaves the ANSI way normally,
// and the non-ANSI way under -traditional.
// This is not a typedef so `const __ptr_t' does the right thing.
// C++ needs to know that types and declarations are C, not C++.
// Fortify support.
// Support for flexible arrays.
// Headers that should use flexible arrays only if they're "real"
// (e.g. only if they won't affect sizeof()) should test
// #if __glibc_c99_flexarr_available.
// __asm__ ("xyz") is used throughout the headers to rename functions
// at the assembly language level. This is wrapped by the __REDIRECT
// macro, in order to support compilers that can do this some other
// way. When compilers don't support asm-names at all, we have to do
// preprocessor tricks instead (which don't have exactly the right
// semantics, but it's the best we can do).
//
// Example:
// int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid);
//
// #elif __SOME_OTHER_COMPILER__
//
// # define __REDIRECT(name, proto, alias) name proto; _Pragma("let " #name " = " #alias)
// GCC has various useful declarations that can be made with the
// `__attribute__' syntax. All of the ways we use this do fine if
// they are omitted for compilers that don't understand it.
// At some point during the gcc 2.96 development the `malloc' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// Tell the compiler which arguments to an allocation function
// indicate the size of the allocation.
// At some point during the gcc 2.96 development the `pure' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// This declaration tells the compiler that the value is constant.
// At some point during the gcc 3.1 development the `used' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// Since version 3.2, gcc allows marking deprecated functions.
// Since version 4.5, gcc also allows one to specify the message printed
// when a deprecated function is used. clang claims to be gcc 4.2, but
// may also support this feature.
// At some point during the gcc 2.8 development the `format_arg' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// If several `format_arg' attributes are given for the same function, in
// gcc-3.0 and older, all but the last one are ignored. In newer gccs,
// all designated arguments are considered.
// At some point during the gcc 2.97 development the `strfmon' format
// attribute for functions was introduced. We don't want to use it
// unconditionally (although this would be possible) since it
// generates warnings.
// The nonull function attribute allows to mark pointer parameters which
// must not be NULL.
// If fortification mode, we warn about unused results of certain
// function calls which can lead to problems.
// Forces a function to be always inlined.
// The Linux kernel defines __always_inline in stddef.h (283d7573), and
// it conflicts with this definition. Therefore undefine it first to
// allow either header to be included first.
// Associate error messages with the source location of the call site rather
// than with the source location inside the function.
// GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
// inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__
// or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
// older than 4.3 may define these macros and still not guarantee GNU inlining
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
// __extern_always_inline function to some other vararg function.
// It is possible to compile containing GCC extensions even if GCC is
// run in pedantic mode if the uses are carefully marked using the
// `__extension__' keyword. But this is not generally available before
// version 2.8.
// __restrict is known in EGCS 1.2 and above.
// ISO C99 also allows to declare arrays as non-overlapping. The syntax is
// array_name[restrict]
// GCC 3.1 supports this.
// Describes a char array whose address can safely be passed as the first
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
// Undefine (also defined in libc-symbols.h).
// Copies attributes from the declaration or type referenced by
// the argument.
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
//
// Note: MESSAGE must be a _single_ string; concatenation of string
// literals is not supported.
// Generic selection (ISO C11) is a C-only feature, available in GCC
// since version 4.9. Previous versions do not provide generic
// selection, even though they might set __STDC_VERSION__ to 201112L,
// when in -std=c11 mode. Thus, we must check for !defined __GNUC__
// when testing __STDC_VERSION__ for generic selection support.
// On the other hand, Clang also defines __GNUC__, so a clang-specific
// check is required to enable the use of generic selection.
// If we don't have __REDIRECT, prototypes will be missing if
// __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64].
// Decide whether we can define 'extern inline' functions in headers.
// This is here only because every header file already includes this one.
// Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
// <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
// that will always return failure (and set errno to ENOSYS).
// This file is automatically generated.
// This file selects the right generated file of `__stub_FUNCTION' macros
// based on the architecture being compiled for.
// Determine the wordsize from the preprocessor defines.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Bit size of the time_t type at glibc build time, general case.
// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
type X__u_char = uint8 /* types.h:31:23 */
type X__u_short = uint16 /* types.h:32:28 */
type X__u_int = uint32 /* types.h:33:22 */
type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
type X__int8_t = int8 /* types.h:37:21 */
type X__uint8_t = uint8 /* types.h:38:23 */
type X__int16_t = int16 /* types.h:39:26 */
type X__uint16_t = uint16 /* types.h:40:28 */
type X__int32_t = int32 /* types.h:41:20 */
type X__uint32_t = uint32 /* types.h:42:22 */
type X__int64_t = int64 /* types.h:44:25 */
type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
type X__int_least8_t = X__int8_t /* types.h:52:18 */
type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
type X__int_least16_t = X__int16_t /* types.h:54:19 */
type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
type X__int_least32_t = X__int32_t /* types.h:56:19 */
type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
type X__int_least64_t = X__int64_t /* types.h:58:19 */
type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
type X__quad_t = int64 /* types.h:63:18 */
type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
type X__intmax_t = int64 /* types.h:72:18 */
type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
// of those macros must use the following macros for underlying types.
// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
// variants of each of the following integer types on this machine.
//
// 16 -- "natural" 16-bit type (always short)
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
// conventional uses of `long' or `long long' type modifiers match the
// types we define, even when a less-adorned type would be the same size.
// This matters for (somewhat) portably writing printf/scanf formats for
// these types, where using the appropriate l or ll format modifiers can
// make the typedefs and the formats match up across all GNU platforms. If
// we used `long' when it's 64 bits where `long long' is expected, then the
// compiler would warn about the formats not matching the argument types,
// and the programmer changing them to shut up the compiler would break the
// program's portability.
//
// Here we assume what is presently the case in all the GCC configurations
// we support: long long is always 64 bits, long is always word/address size,
// and int is always 32 bits.
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Generic version.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Tell the libc code that off_t and off64_t are actually the same type
// for all ABI purposes, even if possibly expressed as different base types
// for C type-checking purposes.
// Same for ino_t and ino64_t.
// And for rlim_t and rlim64_t.
// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
// bits/time64.h -- underlying types for __time64_t. Generic version.
// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Define __TIME64_T_TYPE so that it is always a 64-bit type.
// If we already have 64-bit time type then use it.
type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
type X__blkcnt_t = int64 /* types.h:179:28 */
type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
type X__fsblkcnt_t = uint64 /* types.h:183:30 */
type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
type X__fsfilcnt_t = uint64 /* types.h:187:30 */
type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
type X__fsword_t = int64 /* types.h:191:28 */
type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
type X__sig_atomic_t = int32 /* types.h:214:13 */
// Seconds since the Epoch, visible to user code when time_t is too
// narrow only for consistency with the old way of widening too-narrow
// types. User code should never use __time64_t.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Returned by `time'.
type Time_t = X__time_t /* time_t.h:7:18 */
// Structure describing file times.
type Utimbuf = struct {
Factime X__time_t
Fmodtime X__time_t
} /* utime.h:36:1 */
var _ uint8 /* gen.c:2:13: */

304
vendor/modernc.org/libc/utime/utime_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,304 @@
// Code generated by 'ccgo utime\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 utime\utime_windows_arm64.go -pkgname utime', DO NOT EDIT.
package utime
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
DUMMYSTRUCTNAME = 0
DUMMYSTRUCTNAME1 = 0
DUMMYSTRUCTNAME2 = 0
DUMMYSTRUCTNAME3 = 0
DUMMYSTRUCTNAME4 = 0
DUMMYSTRUCTNAME5 = 0
DUMMYUNIONNAME = 0
DUMMYUNIONNAME1 = 0
DUMMYUNIONNAME2 = 0
DUMMYUNIONNAME3 = 0
DUMMYUNIONNAME4 = 0
DUMMYUNIONNAME5 = 0
DUMMYUNIONNAME6 = 0
DUMMYUNIONNAME7 = 0
DUMMYUNIONNAME8 = 0
DUMMYUNIONNAME9 = 0
MINGW_DDK_H = 0
MINGW_HAS_DDK_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
UNALIGNED = 0
USE___UUIDOF = 0
WIN32 = 1
WIN64 = 1
WINNT = 1
X_AGLOBAL = 0
X_ANONYMOUS_STRUCT = 0
X_ANONYMOUS_UNION = 0
X_ARGMAX = 100
X_ARM64_ = 1
X_CONST_RETURN = 0
X_CRTNOALIAS = 0
X_CRTRESTRICT = 0
X_CRT_ALTERNATIVE_IMPORTED = 0
X_CRT_MANAGED_HEAP_DEPRECATE = 0
X_CRT_PACKING = 8
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0
X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP = 0
X_DLL = 0
X_ERRCODE_DEFINED = 0
X_FILE_OFFSET_BITS = 64
X_INC_CORECRT = 0
X_INC_CRTDEFS = 0
X_INC_CRTDEFS_MACRO = 0
X_INC_MINGW_SECAPI = 0
X_INC_UTIME = 0
X_INC_VADEFS = 0
X_INC__MINGW_H = 0
X_INT128_DEFINED = 0
X_INTPTR_T_DEFINED = 0
X_MT = 0
X_M_ARM64 = 1
X_PGLOBAL = 0
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
X_RSIZE_T_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
X_SIZE_T_DEFINED = 0
X_SSIZE_T_DEFINED = 0
X_TAGLC_ID_DEFINED = 0
X_THREADLOCALEINFO = 0
X_TIME32_T_DEFINED = 0
X_TIME64_T_DEFINED = 0
X_TIME_T_DEFINED = 0
X_UCRT = 0
X_UINTPTR_T_DEFINED = 0
X_UTIMBUF_DEFINED = 0
X_VA_LIST_DEFINED = 0
X_W64 = 0
X_WCHAR_T_DEFINED = 0
X_WCTYPE_T_DEFINED = 0
X_WIN32 = 1
X_WIN32_WINNT = 0x601
X_WIN64 = 1
X_WINT_T = 0
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = uint16 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// This macro holds an monotonic increasing value, which indicates
// a specific fix/patch is present on trunk. This value isn't related to
// minor/major version-macros. It is increased on demand, if a big
// fix was applied to trunk. This macro gets just increased on trunk. For
// other branches its value won't be modified.
// mingw.org's version macros: these make gcc to define
// MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
// and the __mingwthr_key_dtor() function from the MinGW
// CRT in its private gthr-win32.h header.
// Set VC specific compiler target macros.
// MS does not prefix symbols by underscores for 64-bit.
// As we have to support older gcc version, which are using underscores
// as symbol prefix for x64, we have to check here for the user label
// prefix defined by gcc.
// Special case nameless struct/union.
// MinGW-w64 has some additional C99 printf/scanf feature support.
// So we add some helper macros to ease recognition of them.
// If _FORTIFY_SOURCE is enabled, some inline functions may use
// __builtin_va_arg_pack(). GCC may report an error if the address
// of such a function is used. Set _FORTIFY_VA_ARG=0 in this case.
// Enable workaround for ABI incompatibility on affected platforms
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
// Templates won't work in C, will break if secure API is not enabled, disabled
// https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
// fallback on default implementation if we can't know the size of the destination
// Include _cygwin.h if we're building a Cygwin application.
// Target specific macro replacement for type "long". In the Windows API,
// the type long is always 32 bit, even if the target is 64 bit (LLP64).
// On 64 bit Cygwin, the type long is 64 bit (LP64). So, to get the right
// sized definitions and declarations, all usage of type long in the Windows
// headers have to be replaced by the below defined macro __LONG32.
// C/C++ specific language defines.
// Note the extern. This is needed to work around GCC's
// limitations in handling dllimport attribute.
// Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's
// variadiac macro facility, because variadic macros cause syntax
// errors with --traditional-cpp.
// High byte is the major version, low byte is the minor.
// Allow both 0x1400 and 0xE00 to identify UCRT
// ===-------- vadefs.h ---------------------------------------------------===
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===-----------------------------------------------------------------------===
// Only include this if we are aiming for MSVC compatibility.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// for backward compatibility
type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
type Ssize_t = int64 /* corecrt.h:45:35 */
type Rsize_t = Size_t /* corecrt.h:52:16 */
type Intptr_t = int64 /* corecrt.h:62:35 */
type Uintptr_t = uint64 /* corecrt.h:75:44 */
type Wint_t = uint16 /* corecrt.h:106:24 */
type Wctype_t = uint16 /* corecrt.h:107:24 */
type Errno_t = int32 /* corecrt.h:113:13 */
type X__time32_t = int32 /* corecrt.h:118:14 */
type X__time64_t = int64 /* corecrt.h:123:35 */
type Time_t = X__time64_t /* corecrt.h:138:20 */
type Threadlocaleinfostruct = struct {
F_locale_pctype uintptr
F_locale_mb_cur_max int32
F_locale_lc_codepage uint32
} /* corecrt.h:430:1 */
type Pthreadlocinfo = uintptr /* corecrt.h:432:39 */
type Pthreadmbcinfo = uintptr /* corecrt.h:433:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
} /* corecrt.h:436:9 */
type X_locale_tstruct = Localeinfo_struct /* corecrt.h:439:3 */
type X_locale_t = uintptr /* corecrt.h:439:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
} /* corecrt.h:443:9 */
type LC_ID = TagLC_ID /* corecrt.h:447:3 */
type LPLC_ID = uintptr /* corecrt.h:447:9 */
type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:482:3 */
type X_utimbuf = struct {
Factime Time_t
Fmodtime Time_t
} /* utime.h:58:3 */
type X__utimbuf32 = struct {
Factime X__time32_t
Fmodtime X__time32_t
} /* utime.h:63:3 */
type X__utimbuf64 = struct {
Factime X__time64_t
Fmodtime X__time64_t
} /* utime.h:68:3 */
type Utimbuf = struct {
Factime Time_t
Fmodtime Time_t
} /* utime.h:74:3 */
type Utimbuf32 = struct {
Factime X__time32_t
Fmodtime X__time32_t
} /* utime.h:79:3 */
var _ int8 /* gen.c:2:13: */

View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo uuid/uuid/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o uuid/uuid/uuid_linux_ppc64le.go -pkgname uuid', DO NOT EDIT.
package uuid
var CAPI = map[string]struct{}{}

1984
vendor/modernc.org/libc/uuid/uuid/uuid_linux_ppc64le.go generated vendored Normal file

File diff suppressed because it is too large Load diff

5
vendor/modernc.org/libc/wctype/capi_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo wctype/gen.c -crt-import-path -export-defines -export-enums -export-externs X -export-fields F -export-structs -export-typedefs -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o wctype/wctype_linux_ppc64le.go -pkgname wctype', DO NOT EDIT.
package wctype
var CAPI = map[string]struct{}{}

5
vendor/modernc.org/libc/wctype/capi_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,5 @@
// Code generated by 'ccgo wctype\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 wctype\wctype_windows_arm64.go -pkgname wctype', DO NOT EDIT.
package wctype
var CAPI = map[string]struct{}{}

959
vendor/modernc.org/libc/wctype/wctype_linux_ppc64le.go generated vendored Normal file
View file

@ -0,0 +1,959 @@
// Code generated by 'ccgo wctype/gen.c -crt-import-path "" -export-defines "" -export-enums "" -export-externs X -export-fields F -export-structs "" -export-typedefs "" -header -hide _OSSwapInt16,_OSSwapInt32,_OSSwapInt64 -ignore-unsupported-alignment -o wctype/wctype_linux_ppc64le.go -pkgname wctype', DO NOT EDIT.
package wctype
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
WEOF = 4294967295 // wctype.h:33:1:
X_ARCH_PPC = 1 // <predefined>:198:1:
X_ARCH_PPC64 = 1 // <predefined>:402:1:
X_ARCH_PPCGR = 1 // <predefined>:15:1:
X_ARCH_PPCSQ = 1 // <predefined>:43:1:
X_ARCH_PWR4 = 1 // <predefined>:381:1:
X_ARCH_PWR5 = 1 // <predefined>:90:1:
X_ARCH_PWR5X = 1 // <predefined>:137:1:
X_ARCH_PWR6 = 1 // <predefined>:91:1:
X_ARCH_PWR7 = 1 // <predefined>:92:1:
X_ARCH_PWR8 = 1 // <predefined>:93:1:
X_ATFILE_SOURCE = 1 // features.h:342:1:
X_BITS_ENDIANNESS_H = 1 // endianness.h:2:1:
X_BITS_ENDIAN_H = 1 // endian.h:20:1:
X_BITS_TIME64_H = 1 // time64.h:24:1:
X_BITS_TYPESIZES_H = 1 // typesizes.h:24:1:
X_BITS_TYPES_H = 1 // types.h:24:1:
X_BITS_TYPES_LOCALE_T_H = 1 // locale_t.h:20:1:
X_BITS_TYPES___LOCALE_T_H = 1 // __locale_t.h:21:1:
X_BITS_WCTYPE_WCHAR_H = 1 // wctype-wchar.h:24:1:
X_CALL_ELF = 2 // <predefined>:415:1:
X_CALL_LINUX = 1 // <predefined>:123:1:
X_DEFAULT_SOURCE = 1 // features.h:227:1:
X_FEATURES_H = 1 // features.h:19:1:
X_FILE_OFFSET_BITS = 64 // <builtin>:25:1:
X_LITTLE_ENDIAN = 1 // <predefined>:37:1:
X_LP64 = 1 // <predefined>:335:1:
X_POSIX_C_SOURCE = 200809 // features.h:281:1:
X_POSIX_SOURCE = 1 // features.h:279:1:
X_STDC_PREDEF_H = 1 // <predefined>:203:1:
X_SYS_CDEFS_H = 1 // cdefs.h:19:1:
X_WCTYPE_H = 1 // wctype.h:24:1:
X_WINT_T = 1 // wint_t.h:10:1:
Linux = 1 // <predefined>:263:1:
Unix = 1 // <predefined>:222:1:
)
// The characteristics are stored always in network byte order (big
// endian). We define the bit value interpretations here dependent on the
// machine's byte order.
// Endian macros for string.h functions
// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <http://www.gnu.org/licenses/>.
// Definitions for byte order, according to significance of bytes,
// from low addresses to high addresses. The value is what you get by
// putting '4' in the most significant byte, '3' in the second most
// significant byte, '2' in the second least significant byte, and '1'
// in the least significant byte, and then writing down one digit for
// each byte, starting with the byte at the lowest address at the left,
// and proceeding to the byte with the highest address at the right.
// This file defines `__BYTE_ORDER' for the particular machine.
// PowerPC has selectable endianness.
// Some machines may need to use a different endianness for floating point
// values.
const ( /* wctype-wchar.h:56:1: */
X__ISwupper = 0 // UPPERCASE.
X__ISwlower = 1 // lowercase.
X__ISwalpha = 2 // Alphabetic.
X__ISwdigit = 3 // Numeric.
X__ISwxdigit = 4 // Hexadecimal numeric.
X__ISwspace = 5 // Whitespace.
X__ISwprint = 6 // Printing.
X__ISwgraph = 7 // Graphical.
X__ISwblank = 8 // Blank (usually SPC and TAB).
X__ISwcntrl = 9 // Control character.
X__ISwpunct = 10 // Punctuation.
X__ISwalnum = 11 // Alphanumeric.
X_ISwupper = 16777216 // UPPERCASE.
X_ISwlower = 33554432 // lowercase.
X_ISwalpha = 67108864 // Alphabetic.
X_ISwdigit = 134217728 // Numeric.
X_ISwxdigit = 268435456 // Hexadecimal numeric.
X_ISwspace = 536870912 // Whitespace.
X_ISwprint = 1073741824 // Printing.
X_ISwgraph = -2147483648 // Graphical.
X_ISwblank = 65536 // Blank (usually SPC and TAB).
X_ISwcntrl = 131072 // Control character.
X_ISwpunct = 262144 // Punctuation.
X_ISwalnum = 524288
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = int32 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__ieee128 = float64 /* <builtin>:47:21 */
// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.25
// Wide character classification and mapping utilities <wctype.h>
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// These are defined by the user (or the compiler)
// to specify the desired environment:
//
// __STRICT_ANSI__ ISO Standard C.
// _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
// _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
// _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
// __STDC_WANT_LIB_EXT2__
// Extensions to ISO C99 from TR 27431-2:2010.
// __STDC_WANT_IEC_60559_BFP_EXT__
// Extensions to ISO C11 from TS 18661-1:2014.
// __STDC_WANT_IEC_60559_FUNCS_EXT__
// Extensions to ISO C11 from TS 18661-4:2015.
// __STDC_WANT_IEC_60559_TYPES_EXT__
// Extensions to ISO C11 from TS 18661-3:2015.
//
// _POSIX_SOURCE IEEE Std 1003.1.
// _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
// if >=199309L, add IEEE Std 1003.1b-1993;
// if >=199506L, add IEEE Std 1003.1c-1995;
// if >=200112L, all of IEEE 1003.1-2004
// if >=200809L, all of IEEE 1003.1-2008
// _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if
// Single Unix conformance is wanted, to 600 for the
// sixth revision, to 700 for the seventh revision.
// _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
// _LARGEFILE_SOURCE Some more functions for correct standard I/O.
// _LARGEFILE64_SOURCE Additional functionality from LFS for large files.
// _FILE_OFFSET_BITS=N Select default filesystem interface.
// _ATFILE_SOURCE Additional *at interfaces.
// _GNU_SOURCE All of the above, plus GNU extensions.
// _DEFAULT_SOURCE The default set of features (taking precedence over
// __STRICT_ANSI__).
//
// _FORTIFY_SOURCE Add security hardening to many library functions.
// Set to 1 or 2; 2 performs stricter checks than 1.
//
// _REENTRANT, _THREAD_SAFE
// Obsolete; equivalent to _POSIX_C_SOURCE=199506L.
//
// The `-ansi' switch to the GNU C compiler, and standards conformance
// options such as `-std=c99', define __STRICT_ANSI__. If none of
// these are defined, or if _DEFAULT_SOURCE is defined, the default is
// to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to
// 200809L, as well as enabling miscellaneous functions from BSD and
// SVID. If more than one of these are defined, they accumulate. For
// example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together
// give you ISO C, 1003.1, and 1003.2, but nothing else.
//
// These are defined by this file and are used by the
// header files to decide what to declare or define:
//
// __GLIBC_USE (F) Define things from feature set F. This is defined
// to 1 or 0; the subsequent macros are either defined
// or undefined, and those tests should be moved to
// __GLIBC_USE.
// __USE_ISOC11 Define ISO C11 things.
// __USE_ISOC99 Define ISO C99 things.
// __USE_ISOC95 Define ISO C90 AMD1 (C95) things.
// __USE_ISOCXX11 Define ISO C++11 things.
// __USE_POSIX Define IEEE Std 1003.1 things.
// __USE_POSIX2 Define IEEE Std 1003.2 things.
// __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things.
// __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things.
// __USE_XOPEN Define XPG things.
// __USE_XOPEN_EXTENDED Define X/Open Unix things.
// __USE_UNIX98 Define Single Unix V2 things.
// __USE_XOPEN2K Define XPG6 things.
// __USE_XOPEN2KXSI Define XPG6 XSI things.
// __USE_XOPEN2K8 Define XPG7 things.
// __USE_XOPEN2K8XSI Define XPG7 XSI things.
// __USE_LARGEFILE Define correct standard I/O things.
// __USE_LARGEFILE64 Define LFS things with separate names.
// __USE_FILE_OFFSET64 Define 64bit interface as default.
// __USE_MISC Define things from 4.3BSD or System V Unix.
// __USE_ATFILE Define *at interfaces and AT_* constants for them.
// __USE_GNU Define GNU extensions.
// __USE_FORTIFY_LEVEL Additional security measures used, according to level.
//
// The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are
// defined by this file unconditionally. `__GNU_LIBRARY__' is provided
// only for compatibility. All new code should use the other symbols
// to test for features.
//
// All macros listed above as possibly being defined by this file are
// explicitly undefined if they are not explicitly defined.
// Feature-test macros that are not defined by the user or compiler
// but are implied by the other feature-test macros defined (or by the
// lack of any definitions) are defined by the file.
//
// ISO C feature test macros depend on the definition of the macro
// when an affected header is included, not when the first system
// header is included, and so they are handled in
// <bits/libc-header-start.h>, which does not have a multiple include
// guard. Feature test macros that can be handled from the first
// system header included are handled here.
// Undefine everything, so we get a clean slate.
// Suppress kernel-name space pollution unless user expressedly asks
// for it.
// Convenience macro to test the version of gcc.
// Use like this:
// #if __GNUC_PREREQ (2,8)
// ... code requiring gcc 2.8 or later ...
// #endif
// Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was
// added in 2.0.
// Similarly for clang. Features added to GCC after version 4.2 may
// or may not also be available in clang, and clang's definitions of
// __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such
// features can be queried via __has_extension/__has_feature.
// Whether to use feature set F.
// _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
// _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not
// issue a warning; the expectation is that the source is being
// transitioned to use the new macro.
// If _GNU_SOURCE was defined by the user, turn on all the other features.
// If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
// define _DEFAULT_SOURCE.
// This is to enable the ISO C2X extension.
// This is to enable the ISO C11 extension.
// This is to enable the ISO C99 extension.
// This is to enable the ISO C90 Amendment 1:1995 extension.
// If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE
// is defined, use POSIX.1-2008 (or another version depending on
// _XOPEN_SOURCE).
// Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be
// defined in all multithreaded code. GNU libc has not required this
// for many years. We now treat them as compatibility synonyms for
// _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with
// comprehensive support for multithreaded code. Using them never
// lowers the selected level of POSIX conformance, only raises it.
// The function 'gets' existed in C89, but is impossible to use
// safely. It has been removed from ISO C11 and ISO C++14. Note: for
// compatibility with various implementations of <cstdio>, this test
// must consider only the value of __cplusplus when compiling C++.
// GNU formerly extended the scanf functions with modified format
// specifiers %as, %aS, and %a[...] that allocate a buffer for the
// input using malloc. This extension conflicts with ISO C99, which
// defines %a as a standalone format specifier that reads a floating-
// point number; moreover, POSIX.1-2008 provides the same feature
// using the modifier letter 'm' instead (%ms, %mS, %m[...]).
//
// We now follow C99 unless GNU extensions are active and the compiler
// is specifically in C89 or C++98 mode (strict or not). For
// instance, with GCC, -std=gnu11 will have C99-compliant scanf with
// or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
// old extension.
// Get definitions of __STDC_* predefined macros, if the compiler has
// not preincluded this header automatically.
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// This macro indicates that the installed library is the GNU C Library.
// For historic reasons the value now is 6 and this will stay from now
// on. The use of this variable is deprecated. Use __GLIBC__ and
// __GLIBC_MINOR__ now (see below) when you want to test for a specific
// GNU C library version and use the values in <gnu/lib-names.h> to get
// the sonames of the shared libraries.
// Major and minor version number of the GNU C library package. Use
// these macros to test for features in specific releases.
// This is here only because every header file already includes this one.
// Copyright (C) 1992-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// We are almost always included from features.h.
// The GNU libc does not support any K&R compilers or the traditional mode
// of ISO C compilers anymore. Check for some of the combinations not
// anymore supported.
// Some user header file might have defined this before.
// All functions, except those with callbacks or those that
// synchronize memory, are leaf functions.
// GCC can always grok prototypes. For C++ programs we add throw()
// to help it optimize the function calls. But this works only with
// gcc 2.8.x and egcs. For gcc 3.2 and up we even mark C functions
// as non-throwing using a function attribute since programs can use
// the -fexceptions options for C code as well.
// Compilers that are not clang may object to
// #if defined __clang__ && __has_extension(...)
// even though they do not need to evaluate the right-hand side of the &&.
// These two macros are not used in glibc anymore. They are kept here
// only because some other projects expect the macros to be defined.
// For these things, GCC behaves the ANSI way normally,
// and the non-ANSI way under -traditional.
// This is not a typedef so `const __ptr_t' does the right thing.
// C++ needs to know that types and declarations are C, not C++.
// Fortify support.
// Support for flexible arrays.
// Headers that should use flexible arrays only if they're "real"
// (e.g. only if they won't affect sizeof()) should test
// #if __glibc_c99_flexarr_available.
// __asm__ ("xyz") is used throughout the headers to rename functions
// at the assembly language level. This is wrapped by the __REDIRECT
// macro, in order to support compilers that can do this some other
// way. When compilers don't support asm-names at all, we have to do
// preprocessor tricks instead (which don't have exactly the right
// semantics, but it's the best we can do).
//
// Example:
// int __REDIRECT(setpgrp, (__pid_t pid, __pid_t pgrp), setpgid);
//
// #elif __SOME_OTHER_COMPILER__
//
// # define __REDIRECT(name, proto, alias) name proto; _Pragma("let " #name " = " #alias)
// GCC has various useful declarations that can be made with the
// `__attribute__' syntax. All of the ways we use this do fine if
// they are omitted for compilers that don't understand it.
// At some point during the gcc 2.96 development the `malloc' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// Tell the compiler which arguments to an allocation function
// indicate the size of the allocation.
// At some point during the gcc 2.96 development the `pure' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// This declaration tells the compiler that the value is constant.
// At some point during the gcc 3.1 development the `used' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// Since version 3.2, gcc allows marking deprecated functions.
// Since version 4.5, gcc also allows one to specify the message printed
// when a deprecated function is used. clang claims to be gcc 4.2, but
// may also support this feature.
// At some point during the gcc 2.8 development the `format_arg' attribute
// for functions was introduced. We don't want to use it unconditionally
// (although this would be possible) since it generates warnings.
// If several `format_arg' attributes are given for the same function, in
// gcc-3.0 and older, all but the last one are ignored. In newer gccs,
// all designated arguments are considered.
// At some point during the gcc 2.97 development the `strfmon' format
// attribute for functions was introduced. We don't want to use it
// unconditionally (although this would be possible) since it
// generates warnings.
// The nonull function attribute allows to mark pointer parameters which
// must not be NULL.
// If fortification mode, we warn about unused results of certain
// function calls which can lead to problems.
// Forces a function to be always inlined.
// The Linux kernel defines __always_inline in stddef.h (283d7573), and
// it conflicts with this definition. Therefore undefine it first to
// allow either header to be included first.
// Associate error messages with the source location of the call site rather
// than with the source location inside the function.
// GCC 4.3 and above with -std=c99 or -std=gnu99 implements ISO C99
// inline semantics, unless -fgnu89-inline is used. Using __GNUC_STDC_INLINE__
// or __GNUC_GNU_INLINE is not a good enough check for gcc because gcc versions
// older than 4.3 may define these macros and still not guarantee GNU inlining
// semantics.
//
// clang++ identifies itself as gcc-4.2, but has support for GNU inlining
// semantics, that can be checked for by using the __GNUC_STDC_INLINE_ and
// __GNUC_GNU_INLINE__ macro definitions.
// GCC 4.3 and above allow passing all anonymous arguments of an
// __extern_always_inline function to some other vararg function.
// It is possible to compile containing GCC extensions even if GCC is
// run in pedantic mode if the uses are carefully marked using the
// `__extension__' keyword. But this is not generally available before
// version 2.8.
// __restrict is known in EGCS 1.2 and above.
// ISO C99 also allows to declare arrays as non-overlapping. The syntax is
// array_name[restrict]
// GCC 3.1 supports this.
// Describes a char array whose address can safely be passed as the first
// argument to strncpy and strncat, as the char array is not necessarily
// a NUL-terminated string.
// Undefine (also defined in libc-symbols.h).
// Copies attributes from the declaration or type referenced by
// the argument.
// Determine the wordsize from the preprocessor defines.
// Properties of long double type. ldbl-opt version.
// Copyright (C) 2016-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// __glibc_macro_warning (MESSAGE) issues warning MESSAGE. This is
// intended for use in preprocessor macros.
//
// Note: MESSAGE must be a _single_ string; concatenation of string
// literals is not supported.
// Generic selection (ISO C11) is a C-only feature, available in GCC
// since version 4.9. Previous versions do not provide generic
// selection, even though they might set __STDC_VERSION__ to 201112L,
// when in -std=c11 mode. Thus, we must check for !defined __GNUC__
// when testing __STDC_VERSION__ for generic selection support.
// On the other hand, Clang also defines __GNUC__, so a clang-specific
// check is required to enable the use of generic selection.
// If we don't have __REDIRECT, prototypes will be missing if
// __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64].
// Decide whether we can define 'extern inline' functions in headers.
// This is here only because every header file already includes this one.
// Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
// <gnu/stubs.h> contains `#define __stub_FUNCTION' when FUNCTION is a stub
// that will always return failure (and set errno to ENOSYS).
// This file is automatically generated.
// This file selects the right generated file of `__stub_FUNCTION' macros
// based on the architecture being compiled for.
// Determine the wordsize from the preprocessor defines.
// This file is automatically generated.
// It defines a symbol `__stub_FUNCTION' for each function
// in the C library which is a stub, meaning it will fail
// every time called, usually setting errno to ENOSYS.
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// Copyright (C) 1991-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Bit size of the time_t type at glibc build time, general case.
// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Determine the wordsize from the preprocessor defines.
// Size in bits of the 'time_t' type of the default ABI.
// Convenience types.
type X__u_char = uint8 /* types.h:31:23 */
type X__u_short = uint16 /* types.h:32:28 */
type X__u_int = uint32 /* types.h:33:22 */
type X__u_long = uint64 /* types.h:34:27 */
// Fixed-size types, underlying types depend on word size and compiler.
type X__int8_t = int8 /* types.h:37:21 */
type X__uint8_t = uint8 /* types.h:38:23 */
type X__int16_t = int16 /* types.h:39:26 */
type X__uint16_t = uint16 /* types.h:40:28 */
type X__int32_t = int32 /* types.h:41:20 */
type X__uint32_t = uint32 /* types.h:42:22 */
type X__int64_t = int64 /* types.h:44:25 */
type X__uint64_t = uint64 /* types.h:45:27 */
// Smallest types with at least a given width.
type X__int_least8_t = X__int8_t /* types.h:52:18 */
type X__uint_least8_t = X__uint8_t /* types.h:53:19 */
type X__int_least16_t = X__int16_t /* types.h:54:19 */
type X__uint_least16_t = X__uint16_t /* types.h:55:20 */
type X__int_least32_t = X__int32_t /* types.h:56:19 */
type X__uint_least32_t = X__uint32_t /* types.h:57:20 */
type X__int_least64_t = X__int64_t /* types.h:58:19 */
type X__uint_least64_t = X__uint64_t /* types.h:59:20 */
// quad_t is also 64 bits.
type X__quad_t = int64 /* types.h:63:18 */
type X__u_quad_t = uint64 /* types.h:64:27 */
// Largest integral types.
type X__intmax_t = int64 /* types.h:72:18 */
type X__uintmax_t = uint64 /* types.h:73:27 */
// The machine-dependent file <bits/typesizes.h> defines __*_T_TYPE
// macros for each of the OS types we define below. The definitions
// of those macros must use the following macros for underlying types.
// We define __S<SIZE>_TYPE and __U<SIZE>_TYPE for the signed and unsigned
// variants of each of the following integer types on this machine.
//
// 16 -- "natural" 16-bit type (always short)
// 32 -- "natural" 32-bit type (always int)
// 64 -- "natural" 64-bit type (long or long long)
// LONG32 -- 32-bit type, traditionally long
// QUAD -- 64-bit type, traditionally long long
// WORD -- natural type of __WORDSIZE bits (int or long)
// LONGWORD -- type of __WORDSIZE bits, traditionally long
//
// We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
// conventional uses of `long' or `long long' type modifiers match the
// types we define, even when a less-adorned type would be the same size.
// This matters for (somewhat) portably writing printf/scanf formats for
// these types, where using the appropriate l or ll format modifiers can
// make the typedefs and the formats match up across all GNU platforms. If
// we used `long' when it's 64 bits where `long long' is expected, then the
// compiler would warn about the formats not matching the argument types,
// and the programmer changing them to shut up the compiler would break the
// program's portability.
//
// Here we assume what is presently the case in all the GCC configurations
// we support: long long is always 64 bits, long is always word/address size,
// and int is always 32 bits.
// No need to mark the typedef with __extension__.
// bits/typesizes.h -- underlying types for *_t. Generic version.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// See <bits/types.h> for the meaning of these macros. This file exists so
// that <bits/types.h> need not vary across different GNU platforms.
// Tell the libc code that off_t and off64_t are actually the same type
// for all ABI purposes, even if possibly expressed as different base types
// for C type-checking purposes.
// Same for ino_t and ino64_t.
// And for rlim_t and rlim64_t.
// And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t.
// Number of descriptors that can fit in an `fd_set'.
// bits/time64.h -- underlying types for __time64_t. Generic version.
// Copyright (C) 2018-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Define __TIME64_T_TYPE so that it is always a 64-bit type.
// If we already have 64-bit time type then use it.
type X__dev_t = uint64 /* types.h:145:25 */ // Type of device numbers.
type X__uid_t = uint32 /* types.h:146:25 */ // Type of user identifications.
type X__gid_t = uint32 /* types.h:147:25 */ // Type of group identifications.
type X__ino_t = uint64 /* types.h:148:25 */ // Type of file serial numbers.
type X__ino64_t = uint64 /* types.h:149:27 */ // Type of file serial numbers (LFS).
type X__mode_t = uint32 /* types.h:150:26 */ // Type of file attribute bitmasks.
type X__nlink_t = uint64 /* types.h:151:27 */ // Type of file link counts.
type X__off_t = int64 /* types.h:152:25 */ // Type of file sizes and offsets.
type X__off64_t = int64 /* types.h:153:27 */ // Type of file sizes and offsets (LFS).
type X__pid_t = int32 /* types.h:154:25 */ // Type of process identifications.
type X__fsid_t = struct{ F__val [2]int32 } /* types.h:155:26 */ // Type of file system IDs.
type X__clock_t = int64 /* types.h:156:27 */ // Type of CPU usage counts.
type X__rlim_t = uint64 /* types.h:157:26 */ // Type for resource measurement.
type X__rlim64_t = uint64 /* types.h:158:28 */ // Type for resource measurement (LFS).
type X__id_t = uint32 /* types.h:159:24 */ // General type for IDs.
type X__time_t = int64 /* types.h:160:26 */ // Seconds since the Epoch.
type X__useconds_t = uint32 /* types.h:161:30 */ // Count of microseconds.
type X__suseconds_t = int64 /* types.h:162:31 */ // Signed count of microseconds.
type X__daddr_t = int32 /* types.h:164:27 */ // The type of a disk address.
type X__key_t = int32 /* types.h:165:25 */ // Type of an IPC key.
// Clock ID used in clock and timer functions.
type X__clockid_t = int32 /* types.h:168:29 */
// Timer ID returned by `timer_create'.
type X__timer_t = uintptr /* types.h:171:12 */
// Type to represent block size.
type X__blksize_t = int64 /* types.h:174:29 */
// Types from the Large File Support interface.
// Type to count number of disk blocks.
type X__blkcnt_t = int64 /* types.h:179:28 */
type X__blkcnt64_t = int64 /* types.h:180:30 */
// Type to count file system blocks.
type X__fsblkcnt_t = uint64 /* types.h:183:30 */
type X__fsblkcnt64_t = uint64 /* types.h:184:32 */
// Type to count file system nodes.
type X__fsfilcnt_t = uint64 /* types.h:187:30 */
type X__fsfilcnt64_t = uint64 /* types.h:188:32 */
// Type of miscellaneous file system fields.
type X__fsword_t = int64 /* types.h:191:28 */
type X__ssize_t = int64 /* types.h:193:27 */ // Type of a byte count, or error.
// Signed long type used in system calls.
type X__syscall_slong_t = int64 /* types.h:196:33 */
// Unsigned long type used in system calls.
type X__syscall_ulong_t = uint64 /* types.h:198:33 */
// These few don't really vary by system, they always correspond
// to one of the other defined types.
type X__loff_t = X__off64_t /* types.h:202:19 */ // Type of file sizes and offsets (LFS).
type X__caddr_t = uintptr /* types.h:203:14 */
// Duplicates info from stdint.h but this is used in unistd.h.
type X__intptr_t = int64 /* types.h:206:25 */
// Duplicate info from sys/socket.h.
type X__socklen_t = uint32 /* types.h:209:23 */
// C99: An integer type that can be accessed as an atomic entity,
// even in the presence of asynchronous interrupts.
// It is not currently necessary for this to be machine-specific.
type X__sig_atomic_t = int32 /* types.h:214:13 */
// Seconds since the Epoch, visible to user code when time_t is too
// narrow only for consistency with the old way of widening too-narrow
// types. User code should never use __time64_t.
// Some versions of stddef.h provide wint_t, even though neither the
// C nor C++ standards, nor POSIX, specifies this. We assume that
// stddef.h will define the macro _WINT_T if and only if it provides
// wint_t, and conversely, that it will avoid providing wint_t if
// _WINT_T is already defined.
// Integral type unchanged by default argument promotions that can
// hold any value corresponding to members of the extended character
// set, as well as at least one value that does not correspond to any
// member of the extended character set.
type Wint_t = uint32 /* wint_t.h:20:23 */
// Constant expression of type `wint_t' whose value does not correspond
// to any member of the extended character set.
// Some definitions from this header also appear in <wchar.h> in
// Unix98 mode.
// Copyright (C) 1996-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// ISO C99 Standard: 7.25
// Wide character classification and mapping utilities <wctype.h>
// bits/types.h -- definitions of __*_t types underlying *_t types.
// Copyright (C) 2002-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Never include this file directly; use <sys/types.h> instead.
// The definitions in this header are specified to appear in <wctype.h>
// in ISO C99, but in <wchar.h> in Unix98. _GNU_SOURCE follows C99.
// Scalar type that can hold values which represent locale-specific
// character classifications.
type Wctype_t = uint64 /* wctype-wchar.h:38:27 */
// Extensible wide-character mapping functions: 7.15.3.2.
// Scalar type that can hold values which represent locale-specific
// character mappings.
type Wctrans_t = uintptr /* wctype.h:48:25 */
// POSIX.1-2008 extended locale interface (see locale.h).
// Definition of locale_t.
// Copyright (C) 2017-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// Definition of struct __locale_struct and __locale_t.
// Copyright (C) 1997-2020 Free Software Foundation, Inc.
// This file is part of the GNU C Library.
// Contributed by Ulrich Drepper <drepper@cygnus.com>, 1997.
//
// The GNU C Library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.
//
// The GNU C Library is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with the GNU C Library; if not, see
// <https://www.gnu.org/licenses/>.
// POSIX.1-2008: the locale_t type, representing a locale context
// (implementation-namespace version). This type should be treated
// as opaque by applications; some details are exposed for the sake of
// efficiency in e.g. ctype functions.
type X__locale_struct = struct {
F__locales [13]uintptr
F__ctype_b uintptr
F__ctype_tolower uintptr
F__ctype_toupper uintptr
F__names [13]uintptr
} /* __locale_t.h:28:1 */
type X__locale_t = uintptr /* __locale_t.h:42:32 */
type Locale_t = X__locale_t /* locale_t.h:24:20 */
var _ uint8 /* gen.c:2:13: */

290
vendor/modernc.org/libc/wctype/wctype_windows_arm64.go generated vendored Normal file
View file

@ -0,0 +1,290 @@
// Code generated by 'ccgo wctype\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 wctype\wctype_windows_arm64.go -pkgname wctype', DO NOT EDIT.
package wctype
import (
"math"
"reflect"
"sync/atomic"
"unsafe"
)
var _ = math.Pi
var _ reflect.Kind
var _ atomic.Value
var _ unsafe.Pointer
const (
DUMMYSTRUCTNAME = 0
DUMMYSTRUCTNAME1 = 0
DUMMYSTRUCTNAME2 = 0
DUMMYSTRUCTNAME3 = 0
DUMMYSTRUCTNAME4 = 0
DUMMYSTRUCTNAME5 = 0
DUMMYUNIONNAME = 0
DUMMYUNIONNAME1 = 0
DUMMYUNIONNAME2 = 0
DUMMYUNIONNAME3 = 0
DUMMYUNIONNAME4 = 0
DUMMYUNIONNAME5 = 0
DUMMYUNIONNAME6 = 0
DUMMYUNIONNAME7 = 0
DUMMYUNIONNAME8 = 0
DUMMYUNIONNAME9 = 0
MINGW_DDK_H = 0
MINGW_HAS_DDK_H = 1
MINGW_HAS_SECURE_API = 1
MINGW_SDK_INIT = 0
UNALIGNED = 0
USE___UUIDOF = 0
WIN32 = 1
WIN64 = 1
WINNT = 1
X_AGLOBAL = 0
X_ALPHA = 259
X_ANONYMOUS_STRUCT = 0
X_ANONYMOUS_UNION = 0
X_ARGMAX = 100
X_ARM64_ = 1
X_BLANK = 0x40
X_CONST_RETURN = 0
X_CONTROL = 0x20
X_CRTNOALIAS = 0
X_CRTRESTRICT = 0
X_CRT_ALTERNATIVE_IMPORTED = 0
X_CRT_CTYPEDATA_DEFINED = 0
X_CRT_MANAGED_HEAP_DEPRECATE = 0
X_CRT_PACKING = 8
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_SECURE_NAMES_MEMORY = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_COUNT = 0
X_CRT_SECURE_CPP_OVERLOAD_STANDARD_NAMES_MEMORY = 0
X_CRT_USE_WINAPI_FAMILY_DESKTOP_APP = 0
X_CRT_WCTYPEDATA_DEFINED = 0
X_DIGIT = 0x4
X_DLL = 0
X_ERRCODE_DEFINED = 0
X_FILE_OFFSET_BITS = 64
X_HEX = 0x80
X_INC_CORECRT = 0
X_INC_CRTDEFS = 0
X_INC_CRTDEFS_MACRO = 0
X_INC_MINGW_SECAPI = 0
X_INC_VADEFS = 0
X_INC_WCTYPE = 0
X_INC__MINGW_H = 0
X_INT128_DEFINED = 0
X_INTPTR_T_DEFINED = 0
X_LEADBYTE = 0x8000
X_LOWER = 0x2
X_MT = 0
X_M_ARM64 = 1
X_PGLOBAL = 0
X_PTRDIFF_T_ = 0
X_PTRDIFF_T_DEFINED = 0
X_PUNCT = 0x10
X_RSIZE_T_DEFINED = 0
X_SECURECRT_FILL_BUFFER_PATTERN = 0xFD
X_SIZE_T_DEFINED = 0
X_SPACE = 0x8
X_SSIZE_T_DEFINED = 0
X_TAGLC_ID_DEFINED = 0
X_THREADLOCALEINFO = 0
X_TIME32_T_DEFINED = 0
X_TIME64_T_DEFINED = 0
X_TIME_T_DEFINED = 0
X_UCRT = 0
X_UINTPTR_T_DEFINED = 0
X_UPPER = 0x1
X_VA_LIST_DEFINED = 0
X_W64 = 0
X_WCHAR_T_DEFINED = 0
X_WCTYPE_DEFINED = 0
X_WCTYPE_INLINE_DEFINED = 0
X_WCTYPE_T_DEFINED = 0
X_WIN32 = 1
X_WIN32_WINNT = 0x601
X_WIN64 = 1
X_WINT_T = 0
)
type Ptrdiff_t = int64 /* <builtin>:3:26 */
type Size_t = uint64 /* <builtin>:9:23 */
type Wchar_t = uint16 /* <builtin>:15:24 */
type X__int128_t = struct {
Flo int64
Fhi int64
} /* <builtin>:21:43 */ // must match modernc.org/mathutil.Int128
type X__uint128_t = struct {
Flo uint64
Fhi uint64
} /* <builtin>:22:44 */ // must match modernc.org/mathutil.Int128
type X__builtin_va_list = uintptr /* <builtin>:46:14 */
type X__float128 = float64 /* <builtin>:47:21 */
type Va_list = X__builtin_va_list /* <builtin>:50:27 */
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// This macro holds an monotonic increasing value, which indicates
// a specific fix/patch is present on trunk. This value isn't related to
// minor/major version-macros. It is increased on demand, if a big
// fix was applied to trunk. This macro gets just increased on trunk. For
// other branches its value won't be modified.
// mingw.org's version macros: these make gcc to define
// MINGW32_SUPPORTS_MT_EH and to use the _CRT_MT global
// and the __mingwthr_key_dtor() function from the MinGW
// CRT in its private gthr-win32.h header.
// Set VC specific compiler target macros.
// MS does not prefix symbols by underscores for 64-bit.
// As we have to support older gcc version, which are using underscores
// as symbol prefix for x64, we have to check here for the user label
// prefix defined by gcc.
// Special case nameless struct/union.
// MinGW-w64 has some additional C99 printf/scanf feature support.
// So we add some helper macros to ease recognition of them.
// If _FORTIFY_SOURCE is enabled, some inline functions may use
// __builtin_va_arg_pack(). GCC may report an error if the address
// of such a function is used. Set _FORTIFY_VA_ARG=0 in this case.
// Enable workaround for ABI incompatibility on affected platforms
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// http://msdn.microsoft.com/en-us/library/ms175759%28v=VS.100%29.aspx
// Templates won't work in C, will break if secure API is not enabled, disabled
// https://blogs.msdn.com/b/sdl/archive/2010/02/16/vc-2010-and-memcpy.aspx?Redirected=true
// fallback on default implementation if we can't know the size of the destination
// Include _cygwin.h if we're building a Cygwin application.
// Target specific macro replacement for type "long". In the Windows API,
// the type long is always 32 bit, even if the target is 64 bit (LLP64).
// On 64 bit Cygwin, the type long is 64 bit (LP64). So, to get the right
// sized definitions and declarations, all usage of type long in the Windows
// headers have to be replaced by the below defined macro __LONG32.
// C/C++ specific language defines.
// Note the extern. This is needed to work around GCC's
// limitations in handling dllimport attribute.
// Attribute `nonnull' was valid as of gcc 3.3. We don't use GCC's
// variadiac macro facility, because variadic macros cause syntax
// errors with --traditional-cpp.
// High byte is the major version, low byte is the minor.
// Allow both 0x1400 and 0xE00 to identify UCRT
// ===-------- vadefs.h ---------------------------------------------------===
//
// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
// See https://llvm.org/LICENSE.txt for license information.
// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
//
//===-----------------------------------------------------------------------===
// Only include this if we are aiming for MSVC compatibility.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// *
// This file has no copyright assigned and is placed in the Public Domain.
// This file is part of the mingw-w64 runtime package.
// No warranty is given; refer to the file DISCLAIMER.PD within this package.
// for backward compatibility
type X__gnuc_va_list = X__builtin_va_list /* vadefs.h:24:29 */
type Ssize_t = int64 /* corecrt.h:45:35 */
type Rsize_t = Size_t /* corecrt.h:52:16 */
type Intptr_t = int64 /* corecrt.h:62:35 */
type Uintptr_t = uint64 /* corecrt.h:75:44 */
type Wint_t = uint16 /* corecrt.h:106:24 */
type Wctype_t = uint16 /* corecrt.h:107:24 */
type Errno_t = int32 /* corecrt.h:113:13 */
type X__time32_t = int32 /* corecrt.h:118:14 */
type X__time64_t = int64 /* corecrt.h:123:35 */
type Time_t = X__time64_t /* corecrt.h:138:20 */
type Threadlocaleinfostruct = struct {
F_locale_pctype uintptr
F_locale_mb_cur_max int32
F_locale_lc_codepage uint32
} /* corecrt.h:430:1 */
type Pthreadlocinfo = uintptr /* corecrt.h:432:39 */
type Pthreadmbcinfo = uintptr /* corecrt.h:433:36 */
type Localeinfo_struct = struct {
Flocinfo Pthreadlocinfo
Fmbcinfo Pthreadmbcinfo
} /* corecrt.h:436:9 */
type X_locale_tstruct = Localeinfo_struct /* corecrt.h:439:3 */
type X_locale_t = uintptr /* corecrt.h:439:19 */
type TagLC_ID = struct {
FwLanguage uint16
FwCountry uint16
FwCodePage uint16
} /* corecrt.h:443:9 */
type LC_ID = TagLC_ID /* corecrt.h:447:3 */
type LPLC_ID = uintptr /* corecrt.h:447:9 */
type Threadlocinfo = Threadlocaleinfostruct /* corecrt.h:482:3 */
type Wctrans_t = Wchar_t /* wctype.h:176:19 */
var _ int8 /* gen.c:2:13: */

View file

@ -6,6 +6,7 @@
#
# Please keep the list sorted.
Anup Kodlekere <anup.kodlekere@ibm.com>
Jan Mercl <0xjnml@gmail.com>
Steffen Butzer <steffen(dot)butzer@outlook.com>
ZHU Zijia <piggynl@outlook.com>

View file

@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build 386 || arm || armbe || mips || mipsle || ppc || ppc64le || s390 || s390x || sparc
// +build 386 arm armbe mips mipsle ppc ppc64le s390 s390x sparc
//go:build 386 || arm || armbe || mips || mipsle || ppc || s390 || s390x || sparc
// +build 386 arm armbe mips mipsle ppc s390 s390x sparc
package memory // import "modernc.org/memory"

View file

@ -2,8 +2,8 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build amd64 || amd64p32 || arm64 || arm64be || mips64 || mips64le || mips64p32 || mips64p32le || ppc64 || sparc64 || riscv64
// +build amd64 amd64p32 arm64 arm64be mips64 mips64le mips64p32 mips64p32le ppc64 sparc64 riscv64
//go:build amd64 || amd64p32 || arm64 || arm64be || mips64 || mips64le || mips64p32 || mips64p32le || ppc64 || ppc64le || sparc64 || riscv64
// +build amd64 amd64p32 arm64 arm64be mips64 mips64le mips64p32 mips64p32le ppc64 ppc64le sparc64 riscv64
package memory // import "modernc.org/memory"

View file

@ -2,9 +2,9 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE-GO file.
//go:build linux && (amd64 || arm64 || mips64 || mips64le || riscv64)
//go:build linux && (amd64 || arm64 || mips64 || mips64le || riscv64 || ppc64le)
// +build linux
// +build amd64 arm64 mips64 mips64le riscv64
// +build amd64 arm64 mips64 mips64le riscv64 ppc64le
package memory

77
vendor/modernc.org/opt/Makefile generated vendored
View file

@ -1,81 +1,18 @@
# Copyright 2019 The Opt Authors. All rights reserved.
# Copyright 2022 The Opt Authors. All rights reserved.
# Use of this source code is governed by a BSD-style
# license that can be found in the LICENSE file.
.PHONY: all bench clean cover cpu editor internalError later mem nuke todo edit devbench
grep=--include=*.go --include=*.l --include=*.y --include=*.yy
ngrep='internalError\|TODOOK\|lexer\.go\|parser\.go\|ast.go\|trigraphs\.go\|.*_string\.go\|stringer\.go\|testdata\/gcc'
all:
date
go version 2>&1 | tee log
./unconvert.sh
gofmt -l -s -w *.go
go test -i
go test 2>&1 | tee -a log
go install -v ./...
GOOS=linux GOARCH=arm go build
GOOS=linux GOARCH=386 go build
GOOS=linux GOARCH=amd64 go build
GOOS=windows GOARCH=386 go build
GOOS=windows GOARCH=amd64 go build
go vet 2>&1 | grep -v $(ngrep) || true
golint 2>&1 | grep -v $(ngrep) || true
make todo
misspell *.go
staticcheck | grep -v 'lexer\.go\|parser\.go' || true
maligned || true
grep -n 'FAIL\|PASS' log
go version
date 2>&1 | tee -a log
devbench:
date 2>&1 | tee log-devbench
go test -timeout 24h -dev -run @ -bench . 2>&1 | tee -a log-devbench
grep -n 'FAIL\|SKIP' log-devbench || true
bench:
date 2>&1 | tee log-bench
go test -timeout 24h -v -run '^[^E]' -bench . 2>&1 | tee -a log-bench
grep -n 'FAIL\|SKIP' log-bench || true
.PHONY: clean edit editor
clean:
rm -f log-* cpu.test mem.test *.out
go clean
rm -f *~ *.test *.out
cover:
t=$(shell mktemp) ; go test -coverprofile $$t && go tool cover -html $$t && unlink $$t
cpu: clean
go test -run @ -bench . -cpuprofile cpu.out
go tool pprof -lines *.test cpu.out
edit:
touch log
gvim -p Makefile *.go &
@touch log
@if [ -f "Session.vim" ]; then gvim -S & else gvim -p Makefile *.go & fi
editor:
gofmt -l -s -w *.go
go test -i
go test -short 2>&1 | tee log
go install
later:
@grep -n $(grep) LATER * || true
@grep -n $(grep) MAYBE * || true
mem: clean
go test -v -run ParserCS -memprofile mem.out -timeout 24h
go tool pprof -lines -web -alloc_space *.test mem.out
nuke: clean
go clean -i
todo:
@grep -nr $(grep) ^[[:space:]]*_[[:space:]]*=[[:space:]][[:alpha:]][[:alnum:]]* * | grep -v $(ngrep) || true
@grep -nr $(grep) 'TODO\|panic' * | grep -v $(ngrep) || true
@grep -nr $(grep) BUG * | grep -v $(ngrep) || true
@grep -nr $(grep) [^[:alpha:]]println * | grep -v $(ngrep) || true
@grep -nir $(grep) 'work.*progress' || true
go test -o /dev/null -c
go install 2>&1 | tee log-editor

7
vendor/modernc.org/opt/opt.go generated vendored
View file

@ -70,6 +70,7 @@ func (p *Set) Parse(opts []string, handler func(string) error) (err error) {
for len(opts) != 0 {
opt := opts[0]
opt0 := opt
opts = opts[1:]
var arg string
out:
@ -90,7 +91,9 @@ func (p *Set) Parse(opts []string, handler func(string) error) (err error) {
opts = opts[1:]
default:
if err = cfg.handler(opt[:len(cfg.name)+1], name[len(cfg.name):]); err != nil {
opt = opt[:len(cfg.name)+1]
val := strings.TrimPrefix(name[len(cfg.name):], "=")
if err = cfg.handler(opt, val); err != nil {
return err
}
}
@ -105,7 +108,7 @@ func (p *Set) Parse(opts []string, handler func(string) error) (err error) {
}
switch cfg := p.cfg[name]; {
case cfg == nil:
if err = handler(opt); err != nil {
if err = handler(opt0); err != nil {
return err
}
default:

6
vendor/modernc.org/sqlite/Makefile generated vendored
View file

@ -65,6 +65,8 @@ build_all_targets:
# GOOS=windows GOARCH=386 go test -c -o /dev/null
GOOS=windows GOARCH=amd64 go build -v ./...
GOOS=windows GOARCH=amd64 go test -c -o /dev/null
GOOS=windows GOARCH=arm64 go build -v ./...
GOOS=windows GOARCH=arm64 go test -c -o /dev/null
echo done
# 3900x
@ -73,6 +75,10 @@ windows_amd64:
CCGO_CPP=x86_64-w64-mingw32-cpp TARGET_GOOS=windows TARGET_GOARCH=amd64 go generate 2>&1 | tee log-generate
GOOS=windows GOARCH=amd64 go build -v ./...
windows_arm64:
go run addport.go windows_amd64 windows_arm64
GOOS=windows GOARCH=arm64 go build -v ./...
# 3900x
windows_386:
@echo "Should be executed only on linux/amd64."

5
vendor/modernc.org/sqlite/doc.go generated vendored
View file

@ -28,6 +28,7 @@
// linux arm64 3.38.2
// linux riscv64 3.38.2
// windows amd64 3.38.2
// windows arm64 3.38.2
//
// Builders
//
@ -37,6 +38,10 @@
//
// Changelog
//
// 2022-04-24 v1.17.0:
//
// Support windows/arm64.
//
// 2022-04-04 v1.16.0:
//
// Support scalar application defined functions written in Go.

View file

@ -219,7 +219,6 @@ var (
"-DSQLITE_ENABLE_STAT4",
"-DSQLITE_ENABLE_STMTVTAB", // testfixture
"-DSQLITE_ENABLE_UNLOCK_NOTIFY", // Adds sqlite3_unlock_notify().
"-DSQLITE_HAVE_ZLIB=1", // testfixture
"-DSQLITE_LIKE_DOESNT_MATCH_BLOBS",
"-DSQLITE_MUTEX_APPDEF=1",
"-DSQLITE_MUTEX_NOOP",
@ -536,7 +535,6 @@ func makeTestfixture(goos, goarch string, more []string) {
"ext/misc/totype.c",
"ext/misc/unionvtab.c",
"ext/misc/wholenumber.c",
"ext/misc/zipfile.c",
"ext/rbu/test_rbu.c",
"ext/rtree/test_rtreedoc.c",
"ext/session/test_session.c",

Some files were not shown because too many files have changed in this diff Show more