update library from mainstream, especially {READ,WRITE}_ONCE

This commit is contained in:
2022-03-24 18:42:35 +01:00
parent 6aa605a0de
commit b64bc6c1d5
3 changed files with 53 additions and 43 deletions

View File

@@ -29,6 +29,8 @@
#error "Only 64 bits word size supported."
#endif
/* fixed-size types
*/
typedef int64_t s64;
typedef int32_t s32;
typedef int16_t s16;
@@ -38,9 +40,18 @@ typedef uint64_t u64;
typedef uint32_t u32;
typedef uint16_t u16;
typedef uint8_t u8;
/* convenience types
*/
typedef unsigned long int ulong;
typedef unsigned int uint;
typedef unsigned short ushort;
typedef unsigned char uchar;
/* char is a special case, as it can be signed or unsigned
*/
typedef signed char schar;
/* count trailing zeroes : 00101000 -> 3
* ^^^
*/

View File

@@ -22,7 +22,6 @@
#define _unused __attribute__((__unused__))
#define _printf __attribute__ ((format (printf, 6, 7)))
#ifdef DEBUG_DEBUG
#define _printf __attribute__ ((format (printf, 6, 7)))
void debug_init(u32 level);
void debug_level_set(u32 level);
void debug_devel_set(u32 level);

View File

@@ -40,8 +40,8 @@
unsigned type: (unsigned type)0, \
signed type: (signed type)0
#define __unqual_scalar_typeof(x) typeof( \
_Generic((x), \
#define __unqual_scalar_typeof(x) \
typeof(_Generic((x), \
char: (char)0, \
__scalar_type_to_expr_cases(char), \
__scalar_type_to_expr_cases(short), \