Upgrade to Cosmopolitan GCC 11.2.0 for x86_64

This commit is contained in:
Justine Tunney 2023-06-05 00:37:25 -07:00
parent 682b74ed88
commit 39f20dbb13
No known key found for this signature in database
GPG key ID: BE714B4575D6E328
137 changed files with 48523 additions and 34001 deletions

View file

@ -1,11 +1,27 @@
#ifndef COSMOPOLITAN_LIBC_CALLS_STRUCT_TIMESPEC_H_
#define COSMOPOLITAN_LIBC_CALLS_STRUCT_TIMESPEC_H_
#ifdef COSMO
#define timespec_get __timespec_get
#define timespec_getres __timespec_getres
#define timespec_cmp __timespec_cmp
#define timespec_tomicros __timespec_tomicros
#define timespec_tomillis __timespec_tomillis
#define timespec_tonanos __timespec_tonanos
#define timespec_add __timespec_add
#define timespec_fromnanos __timespec_fromnanos
#define timespec_frommicros __timespec_frommicros
#define timespec_frommillis __timespec_frommillis
#define timespec_real __timespec_real
#define timespec_mono __timespec_mono
#define timespec_sleep __timespec_sleep
#define timespec_sleep_until __timespec_sleep_until
#define timespec_sub __timespec_sub
#endif /* COSMO */
#if !(__ASSEMBLER__ + __LINKER__ + 0)
COSMOPOLITAN_C_START_
#define timespec_zero ((struct timespec){0})
#define timespec_max ((struct timespec){0x7fffffffffffffff, 999999999})
struct timespec {
int64_t tv_sec;
int64_t tv_nsec; /* nanoseconds */
@ -18,9 +34,14 @@ int futimens(int, const struct timespec[2]);
int nanosleep(const struct timespec *, struct timespec *);
int sys_futex(int *, int, int, const struct timespec *, int *);
int utimensat(int, const char *, const struct timespec[2], int);
#ifdef COSMO
/* cosmopolitan libc's non-posix timespec library
removed by default due to emacs codebase clash */
#define timespec_zero ((struct timespec){0})
#define timespec_max ((struct timespec){0x7fffffffffffffff, 999999999})
int timespec_get(struct timespec *, int);
int timespec_getres(struct timespec *, int);
int timespec_cmp(struct timespec, struct timespec) pureconst;
int64_t timespec_tomicros(struct timespec) pureconst;
int64_t timespec_tomillis(struct timespec) pureconst;
@ -34,6 +55,7 @@ struct timespec timespec_mono(void);
struct timespec timespec_sleep(struct timespec);
int timespec_sleep_until(struct timespec);
struct timespec timespec_sub(struct timespec, struct timespec) pureconst;
#endif /* COSMO */
COSMOPOLITAN_C_END_
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */

View file

@ -2,6 +2,16 @@
#define COSMOPOLITAN_LIBC_CALLS_STRUCT_TIMEVAL_H_
#include "libc/calls/struct/timespec.h"
#include "libc/time/struct/timezone.h"
#ifdef COSMO
#define timeval_cmp __timeval_cmp
#define timeval_frommicros __timeval_frommicros
#define timeval_frommillis __timeval_frommillis
#define timeval_add __timeval_add
#define timeval_sub __timeval_sub
#define timeval_totimespec __timeval_totimespec
#endif /* COSMO */
#if !(__ASSEMBLER__ + __LINKER__ + 0)
COSMOPOLITAN_C_START_
@ -16,6 +26,9 @@ int gettimeofday(struct timeval *, struct timezone *);
int lutimes(const char *, const struct timeval[2]);
int utimes(const char *, const struct timeval[2]);
#ifdef COSMO
/* cosmopolitan libc's non-posix timevals library
removed by default due to emacs codebase clash */
int timeval_cmp(struct timeval, struct timeval) pureconst;
struct timeval timeval_frommicros(int64_t) pureconst;
struct timeval timeval_frommillis(int64_t) pureconst;
@ -23,6 +36,7 @@ struct timeval timeval_add(struct timeval, struct timeval) pureconst;
struct timeval timeval_sub(struct timeval, struct timeval) pureconst;
struct timeval timespec_totimeval(struct timespec) pureconst;
struct timespec timeval_totimespec(struct timeval) pureconst;
#endif /* COSMO */
COSMOPOLITAN_C_END_
#endif /* !(__ASSEMBLER__ + __LINKER__ + 0) */

View file

@ -725,6 +725,9 @@ void abort(void) wontreturn;
#endif /* GCC8+ */
#if __GNUC__ + 0 >= 9
#pragma GCC diagnostic ignored /* "always true" breaks dce */ "-Waddress"
#if __GNUC__ >= 11
#pragma GCC diagnostic ignored /* orwellian */ "-Wold-style-definition"
#endif /* GCC11+ */
#endif /* GCC9+ */
#endif /* !C++ */
#endif /* GCC && !LLVM */