Fixed + disabled some warnings
Run tests / Run tests (push) Successful in 11s

This commit is contained in:
2026-05-04 22:53:56 +03:00
parent 2c74b727ef
commit 7b8bac2b55
4 changed files with 44 additions and 29 deletions
+10 -10
View File
@@ -5,20 +5,20 @@
#include "ev_types.h" #include "ev_types.h"
// Signed integers // Signed integers
TYPEDATA_GEN(i8); TYPEDATA_GEN(i8)
TYPEDATA_GEN(i16); TYPEDATA_GEN(i16)
TYPEDATA_GEN(i32); TYPEDATA_GEN(i32)
TYPEDATA_GEN(i64); TYPEDATA_GEN(i64)
// Unsigned integers // Unsigned integers
TYPEDATA_GEN(u8 ); TYPEDATA_GEN(u8 )
TYPEDATA_GEN(u16); TYPEDATA_GEN(u16)
TYPEDATA_GEN(u32); TYPEDATA_GEN(u32)
TYPEDATA_GEN(u64); TYPEDATA_GEN(u64)
// Floating-Point Numbers // Floating-Point Numbers
TYPEDATA_GEN(f32); TYPEDATA_GEN(f32)
TYPEDATA_GEN(f64); TYPEDATA_GEN(f64)
struct Int8Data { i8 MIN; i8 MAX; }; struct Int8Data { i8 MIN; i8 MAX; };
struct Int16Data { i16 MIN; i16 MAX; }; struct Int16Data { i16 MIN; i16 MAX; };
+8 -12
View File
@@ -56,7 +56,7 @@ typedef enum {
EV_STR_ERR_NONE = 0, EV_STR_ERR_NONE = 0,
EV_STR_ERR_OOM = -1, EV_STR_ERR_OOM = -1,
} evstring_error_t; } evstring_error_t;
TYPEDATA_GEN(evstring_error_t, DEFAULT(EV_STR_ERR_NONE)); TYPEDATA_GEN(evstring_error_t, DEFAULT(EV_STR_ERR_NONE))
struct evstr_meta_t { struct evstr_meta_t {
EV_DEBUG(u64 magic;) EV_DEBUG(u64 magic;)
@@ -183,11 +183,6 @@ evstring_findFirst(
const evstring text, const evstring text,
const evstring query); const evstring query);
evstring_view
__evstring_findFirst_impl(
evstring_view text,
evstring_view query);
EV_STR_API evstring EV_STR_API evstring
evstring_replaceFirst( evstring_replaceFirst(
const evstring text, const evstring text,
@@ -223,7 +218,7 @@ TYPEDATA_GEN(evstring,
EQUAL(Default), EQUAL(Default),
COPY(Default), COPY(Default),
FREE(Default) FREE(Default)
); )
DEFINE_EQUAL_FUNCTION(evstring_view, Default) DEFINE_EQUAL_FUNCTION(evstring_view, Default)
{ {
@@ -232,7 +227,7 @@ DEFINE_EQUAL_FUNCTION(evstring_view, Default)
TYPEDATA_GEN(evstring_view, TYPEDATA_GEN(evstring_view,
EQUAL(Default), EQUAL(Default),
); )
#if defined(EV_STR_IMPLEMENTATION) #if defined(EV_STR_IMPLEMENTATION)
@@ -303,10 +298,11 @@ evstring_newFmt_v(
{ {
va_list test; va_list test;
va_copy(test, args); va_copy(test, args);
i32 len = vsnprintf(NULL, 0, fmt, test); i32 expected_len = vsnprintf(NULL, 0, fmt, test);
if(len < 0) { if(expected_len < 0) {
return EV_INVALID(evstring); return EV_INVALID(evstring);
} }
size_t len = (size_t)expected_len;
evstring res = evstring_new_impl(NULL, 0); evstring res = evstring_new_impl(NULL, 0);
evstring_setLength(&res, len); evstring_setLength(&res, len);
vsnprintf(res, len + 1, fmt, args); vsnprintf(res, len + 1, fmt, args);
@@ -578,7 +574,7 @@ evstring_addSpace(
} }
evstring_view evstring_view
__evstring_findFirst_impl( evstring_findFirst_impl(
evstring_view text, evstring_view text,
evstring_view query) evstring_view query)
{ {
@@ -612,7 +608,7 @@ evstring_findFirst(
{ {
evstr_asserttype(text); evstr_asserttype(text);
evstr_asserttype(query); evstr_asserttype(query);
return __evstring_findFirst_impl(evstring_slice(text, 0, -1), evstring_slice(query, 0, -1)); return evstring_findFirst_impl(evstring_slice(text, 0, -1), evstring_slice(query, 0, -1));
} }
evstring evstring
+7 -6
View File
@@ -80,9 +80,10 @@ typedef struct {
#define EV_OVERRIDE_VAR(T) EV_CAT(__ev_internal_override_var_,T) #define EV_OVERRIDE_VAR(T) EV_CAT(__ev_internal_override_var_,T)
#define TypeData(T) EV_CAT(EV_TYPEDATA_,T) #define TypeData(T) EV_CAT(EV_TYPEDATA_,T)
#define TYPEDATA_GEN(T, ...) \ #define TYPEDATA_GEN(T, ...) \
EV_WARNING_PUSH(); \ EV_WARNING_PUSH() \
EV_WARNING_DISABLE_GCC("override-init"); \ EV_WARNING_DISABLE_GCC("override-init") \
EV_WARNING_DISABLE_CLANG("initializer-overrides"); \ EV_WARNING_DISABLE_CLANG("initializer-overrides") \
EV_WARNING_DISABLE_CLANG("reserved-identifier") \
EV_UNUSED static const EvTypeData TypeData(T) = { \ EV_UNUSED static const EvTypeData TypeData(T) = { \
EV_DEBUG(.name = EV_STRINGIZE(T),) \ EV_DEBUG(.name = EV_STRINGIZE(T),) \
.size = sizeof(T), \ .size = sizeof(T), \
@@ -91,8 +92,8 @@ typedef struct {
.invalid_val = (void*)&(T){0}, \ .invalid_val = (void*)&(T){0}, \
EV_VA_OPT(__VA_ARGS__)(EV_FOREACH_UDATA(__EV_STRUCT_METHOD_DEF, T, __VA_ARGS__)) \ EV_VA_OPT(__VA_ARGS__)(EV_FOREACH_UDATA(__EV_STRUCT_METHOD_DEF, T, __VA_ARGS__)) \
}; \ }; \
EV_WARNING_POP(); \ EV_UNUSED static T EV_OVERRIDE_VAR(T); \
EV_UNUSED static T EV_OVERRIDE_VAR(T) EV_WARNING_POP()
#define __EV_STRUCT_METHOD_DEF(T, ...) EV_CAT(EV_CAT(__EV_,EV_HEAD __VA_ARGS__),_FN)(T, EV_TAIL __VA_ARGS__) #define __EV_STRUCT_METHOD_DEF(T, ...) EV_CAT(EV_CAT(__EV_,EV_HEAD __VA_ARGS__),_FN)(T, EV_TAIL __VA_ARGS__)
@@ -152,6 +153,6 @@ DEFINE_TOSTR_FUNCTION(EvTypeData, EvTypeDataStringize)
} }
TYPEDATA_GEN(EvTypeData, TYPEDATA_GEN(EvTypeData,
TOSTR(EvTypeDataStringize)); TOSTR(EvTypeDataStringize))
#endif // EV_HEADERS_TYPES_H #endif // EV_HEADERS_TYPES_H
+19 -1
View File
@@ -1,8 +1,22 @@
project('evol-headers', 'c', project('evol-headers', 'c',
default_options : [ 'c_std=c23' ]) default_options : [
'c_std=c23',
# 'warning_level=everything',
# 'werror=true'
]
)
headers_include = include_directories('.') headers_include = include_directories('.')
disabled_warnings = {
'clang': [
'unused-macros',
'reserved-macro-identifier',
'pre-c11-compat',
'pre-c23-compat',
]
}
evh_c_args = [] evh_c_args = []
buildtype = get_option('buildtype') buildtype = get_option('buildtype')
if buildtype == 'debug' if buildtype == 'debug'
@@ -20,6 +34,10 @@ elif cc.get_id() == 'clang'
evh_c_args += '-DEV_CC_CLANG=1' evh_c_args += '-DEV_CC_CLANG=1'
endif endif
foreach w:disabled_warnings[cc.get_id()]
evh_c_args += '-Wno-'+w
endforeach
# All other targets should follow the same template # All other targets should follow the same template
str_lib = static_library('ev_str', files('buildfiles/ev_str.c'), c_args: evh_c_args) str_lib = static_library('ev_str', files('buildfiles/ev_str.c'), c_args: evh_c_args)
vec_lib = static_library('ev_vec', files('buildfiles/ev_vec.c'), c_args: evh_c_args) vec_lib = static_library('ev_vec', files('buildfiles/ev_vec.c'), c_args: evh_c_args)