No issue - Fix cairo warnings

This fixes warning spew because warnings are thrown in case of mixed use
of cairo_status_t and cairo_int_status_t, which is a hack in cairo
because C99 doesn't support real enums (it's mapped to uint8 internally).
The "register" storage type is no longer a thing in C++17, which would
also warn; just letting the compiler decide is best, so just removing
the keyword is the proper solution in cairoint.h
This commit is contained in:
Moonchild 2026-02-22 14:20:37 +01:00 • committed by OwnedByWuigi
commit 1cef1ae767
2 changed files with 19 additions and 3 deletions

View file

@ -148,7 +148,7 @@ _cairo_popcount (uint32_t mask)
#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4) #if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)
return __builtin_popcount (mask); return __builtin_popcount (mask);
#else #else
register int y; int y;
y = (mask >> 1) &033333333333; y = (mask >> 1) &033333333333;
y = mask - y - ((y >>1) & 033333333333); y = mask - y - ((y >>1) & 033333333333);

View file

@ -215,9 +215,25 @@ if CONFIG['MOZ_TREE_FREETYPE']:
# Suppress warnings in third-party code. # Suppress warnings in third-party code.
if CONFIG['_MSC_VER']: if CONFIG['_MSC_VER']:
CFLAGS += [ CFLAGS += [
'-wd4005', '-wd4005', # 'WIN32_LEAN_AND_MEAN' : macro redefinition
'-wd4146', '-wd4018', # '>' : signed/unsigned mismatch
'-wd4047', # different levels of indirection
'-wd4101', # unreferenced local variable
'-wd4133', # 'function' : incompatible types
'-wd4146', # unary minus operator applied to unsigned type
'-wd4311', # 'variable' : pointer truncation from 'type' to 'type'
'-wd4477', # format string '%s' requires an argument of type 'type'
'-wd4996', # The compiler encountered a deprecated declaration.
'-wd5286', # implicit conversion between enum types
'-wd5287', # operands are different enum types
] ]
CXXFLAGS += [
'-wd4005', # 'WIN32_LEAN_AND_MEAN' : macro redefinition
'-wd4018', # '>' : signed/unsigned mismatch
'-wd4146', # unary minus operator applied to unsigned type
'-wd4828', # illegal in the current source character set
'-wd4838', # requires a narrowing conversion
]
if CONFIG['GNU_CC'] or CONFIG['CLANG_CL']: if CONFIG['GNU_CC'] or CONFIG['CLANG_CL']:
CFLAGS += [ CFLAGS += [
'-Wno-enum-compare', '-Wno-enum-compare',