mirror of
https://github.com/jart/cosmopolitan.git
synced 2025-06-03 11:12:27 +00:00
Add dontthrow
attribute to most libc functions
This will help C++ code that uses exceptions to be tinier. For example, this change shaves away 1000 lines of assembly code from LLVM's libcxx, which is 0.7% of all assembly instructions in the entire library.
This commit is contained in:
parent
cb19e172da
commit
eeb20775d2
103 changed files with 1455 additions and 1456 deletions
|
@ -5,10 +5,10 @@ COSMOPOLITAN_C_START_
|
|||
#define INET_ADDRSTRLEN 22
|
||||
#define IFHWADDRLEN 6
|
||||
|
||||
uint16_t htons(uint16_t) pureconst;
|
||||
uint16_t ntohs(uint16_t) pureconst;
|
||||
uint32_t htonl(uint32_t) pureconst;
|
||||
uint32_t ntohl(uint32_t) pureconst;
|
||||
libcesque uint16_t htons(uint16_t) pureconst;
|
||||
libcesque uint16_t ntohs(uint16_t) pureconst;
|
||||
libcesque uint32_t htonl(uint32_t) pureconst;
|
||||
libcesque uint32_t ntohl(uint32_t) pureconst;
|
||||
|
||||
#if defined(__GNUC__) && !defined(__STRICT_ANSI__)
|
||||
#define htons(x) __builtin_bswap16(x)
|
||||
|
@ -17,21 +17,21 @@ uint32_t ntohl(uint32_t) pureconst;
|
|||
#define ntohl(x) __builtin_bswap32(x)
|
||||
#endif
|
||||
|
||||
const char *inet_ntop(int, const void *, char *, uint32_t);
|
||||
int inet_pton(int, const char *, void *);
|
||||
uint32_t inet_addr(const char *);
|
||||
uint32_t *GetHostIps(void);
|
||||
const char *inet_ntop(int, const void *, char *, uint32_t) libcesque;
|
||||
int inet_pton(int, const char *, void *) libcesque;
|
||||
uint32_t inet_addr(const char *) libcesque;
|
||||
libcesque uint32_t *GetHostIps(void) __wur;
|
||||
|
||||
int socket(int, int, int);
|
||||
int listen(int, int);
|
||||
int shutdown(int, int);
|
||||
ssize_t send(int, const void *, size_t, int);
|
||||
ssize_t recv(int, void *, size_t, int);
|
||||
ssize_t sendfile(int, int, int64_t *, size_t);
|
||||
int getsockopt(int, int, int, void *, uint32_t *);
|
||||
int setsockopt(int, int, int, const void *, uint32_t);
|
||||
int socketpair(int, int, int, int[2]);
|
||||
int sockatmark(int);
|
||||
int socket(int, int, int) libcesque;
|
||||
int listen(int, int) libcesque;
|
||||
int shutdown(int, int) libcesque;
|
||||
ssize_t send(int, const void *, size_t, int) libcesque;
|
||||
ssize_t recv(int, void *, size_t, int) libcesque;
|
||||
ssize_t sendfile(int, int, int64_t *, size_t) libcesque;
|
||||
int getsockopt(int, int, int, void *, uint32_t *) libcesque;
|
||||
int setsockopt(int, int, int, const void *, uint32_t) libcesque;
|
||||
int socketpair(int, int, int, int[2]) libcesque;
|
||||
int sockatmark(int) libcesque;
|
||||
|
||||
COSMOPOLITAN_C_END_
|
||||
#endif /* COSMOPOLITAN_LIBC_SOCK_SOCK_H_ */
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue