From 7b8bac2b55d607c07515f91df18693cb98e6549a Mon Sep 17 00:00:00 2001 From: Robear Selwans Date: Mon, 4 May 2026 22:53:56 +0300 Subject: [PATCH] Fixed + disabled some warnings --- ev_numeric.h | 20 ++++++++++---------- ev_str.h | 20 ++++++++------------ ev_types.h | 13 +++++++------ meson.build | 20 +++++++++++++++++++- 4 files changed, 44 insertions(+), 29 deletions(-) diff --git a/ev_numeric.h b/ev_numeric.h index 100a9b9..d0c43b3 100644 --- a/ev_numeric.h +++ b/ev_numeric.h @@ -5,20 +5,20 @@ #include "ev_types.h" // Signed integers -TYPEDATA_GEN(i8); -TYPEDATA_GEN(i16); -TYPEDATA_GEN(i32); -TYPEDATA_GEN(i64); +TYPEDATA_GEN(i8) +TYPEDATA_GEN(i16) +TYPEDATA_GEN(i32) +TYPEDATA_GEN(i64) // Unsigned integers -TYPEDATA_GEN(u8 ); -TYPEDATA_GEN(u16); -TYPEDATA_GEN(u32); -TYPEDATA_GEN(u64); +TYPEDATA_GEN(u8 ) +TYPEDATA_GEN(u16) +TYPEDATA_GEN(u32) +TYPEDATA_GEN(u64) // Floating-Point Numbers -TYPEDATA_GEN(f32); -TYPEDATA_GEN(f64); +TYPEDATA_GEN(f32) +TYPEDATA_GEN(f64) struct Int8Data { i8 MIN; i8 MAX; }; struct Int16Data { i16 MIN; i16 MAX; }; diff --git a/ev_str.h b/ev_str.h index 2617602..6d2ccd2 100644 --- a/ev_str.h +++ b/ev_str.h @@ -56,7 +56,7 @@ typedef enum { EV_STR_ERR_NONE = 0, EV_STR_ERR_OOM = -1, } 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 { EV_DEBUG(u64 magic;) @@ -183,11 +183,6 @@ evstring_findFirst( const evstring text, const evstring query); -evstring_view -__evstring_findFirst_impl( - evstring_view text, - evstring_view query); - EV_STR_API evstring evstring_replaceFirst( const evstring text, @@ -223,7 +218,7 @@ TYPEDATA_GEN(evstring, EQUAL(Default), COPY(Default), FREE(Default) -); +) DEFINE_EQUAL_FUNCTION(evstring_view, Default) { @@ -232,7 +227,7 @@ DEFINE_EQUAL_FUNCTION(evstring_view, Default) TYPEDATA_GEN(evstring_view, EQUAL(Default), -); +) #if defined(EV_STR_IMPLEMENTATION) @@ -303,10 +298,11 @@ evstring_newFmt_v( { va_list test; va_copy(test, args); - i32 len = vsnprintf(NULL, 0, fmt, test); - if(len < 0) { + i32 expected_len = vsnprintf(NULL, 0, fmt, test); + if(expected_len < 0) { return EV_INVALID(evstring); } + size_t len = (size_t)expected_len; evstring res = evstring_new_impl(NULL, 0); evstring_setLength(&res, len); vsnprintf(res, len + 1, fmt, args); @@ -578,7 +574,7 @@ evstring_addSpace( } evstring_view -__evstring_findFirst_impl( +evstring_findFirst_impl( evstring_view text, evstring_view query) { @@ -612,7 +608,7 @@ evstring_findFirst( { evstr_asserttype(text); 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 diff --git a/ev_types.h b/ev_types.h index e624b6c..ff97ca9 100644 --- a/ev_types.h +++ b/ev_types.h @@ -80,9 +80,10 @@ typedef struct { #define EV_OVERRIDE_VAR(T) EV_CAT(__ev_internal_override_var_,T) #define TypeData(T) EV_CAT(EV_TYPEDATA_,T) #define TYPEDATA_GEN(T, ...) \ - EV_WARNING_PUSH(); \ - EV_WARNING_DISABLE_GCC("override-init"); \ - EV_WARNING_DISABLE_CLANG("initializer-overrides"); \ + EV_WARNING_PUSH() \ + EV_WARNING_DISABLE_GCC("override-init") \ + EV_WARNING_DISABLE_CLANG("initializer-overrides") \ + EV_WARNING_DISABLE_CLANG("reserved-identifier") \ EV_UNUSED static const EvTypeData TypeData(T) = { \ EV_DEBUG(.name = EV_STRINGIZE(T),) \ .size = sizeof(T), \ @@ -91,8 +92,8 @@ typedef struct { .invalid_val = (void*)&(T){0}, \ 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__) @@ -152,6 +153,6 @@ DEFINE_TOSTR_FUNCTION(EvTypeData, EvTypeDataStringize) } TYPEDATA_GEN(EvTypeData, - TOSTR(EvTypeDataStringize)); + TOSTR(EvTypeDataStringize)) #endif // EV_HEADERS_TYPES_H diff --git a/meson.build b/meson.build index 2f976a1..fb2c8a3 100644 --- a/meson.build +++ b/meson.build @@ -1,8 +1,22 @@ project('evol-headers', 'c', - default_options : [ 'c_std=c23' ]) + default_options : [ + 'c_std=c23', + # 'warning_level=everything', + # 'werror=true' + ] +) headers_include = include_directories('.') +disabled_warnings = { + 'clang': [ + 'unused-macros', + 'reserved-macro-identifier', + 'pre-c11-compat', + 'pre-c23-compat', + ] +} + evh_c_args = [] buildtype = get_option('buildtype') if buildtype == 'debug' @@ -20,6 +34,10 @@ elif cc.get_id() == 'clang' evh_c_args += '-DEV_CC_CLANG=1' endif +foreach w:disabled_warnings[cc.get_id()] + evh_c_args += '-Wno-'+w +endforeach + # All other targets should follow the same template 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)