Never-ending GCC warning race.
As soon as you try to use the GCC-blessed attributes, you get this from GCC 13:
In file included from /home/apodtele/freetype/include/freetype/internal/ftdebug.h:32,
from /home/apodtele/freetype/src/sfnt/pngshim.c:20,
from /home/apodtele/freetype/src/sfnt/sfnt.c:21:
/home/apodtele/freetype/src/sfnt/pngshim.c: In function 'Load_SBit_Png':
/home/apodtele/freetype/include/freetype/internal/compiler-macros.h:49:27: warning: a label can only be part of a statement and a declaration is not a statement [-Wpedantic]
49 | # define FALL_THROUGH __attribute__(( __fallthrough__ ))
| ^~~~~~~~~~~~~
/home/apodtele/freetype/src/sfnt/pngshim.c:411:7: note: in expansion of macro 'FALL_THROUGH'
411 | FALL_THROUGH;
| ^~~~~~~~~~~~
I don't even know what GCC 13 wants about the dangling pointers:
In file included from /home/apodtele/freetype/src/truetype/truetype.c:22:
/home/apodtele/freetype/src/truetype/ttgload.c: In function 'load_truetype_glyph':
/home/apodtele/freetype/src/truetype/ttgload.c:1610:22: warning: storing the address of local variable 'inc_stream' in '*loader.stream' [-Wdangling-pointer=]
1610 | loader->stream = &inc_stream;
| ~~~~~~~~~~~~~~~^~~~~~~~~~~~~
/home/apodtele/freetype/src/truetype/ttgload.c:1543:21: note: 'inc_stream' declared here
1543 | FT_StreamRec inc_stream;
| ^~~~~~~~~~
/home/apodtele/freetype/src/truetype/ttgload.c:1543:21: note: 'loader' declared here
In file included from /home/apodtele/freetype/src/smooth/smooth.c:21:
/home/apodtele/freetype/src/smooth/ftgrays.c: In function 'gray_convert_glyph':
/home/apodtele/freetype/src/smooth/ftgrays.c:1967:20: warning: storing the address of local variable 'buffer' in '*worker.ycells' [-Wdangling-pointer=]
1967 | ras.ycells = (PCell*)buffer;
| ^
/home/apodtele/freetype/src/smooth/ftgrays.c:1949:14: note: 'buffer' declared here
1949 | TCell buffer[FT_MAX_GRAY_POOL];
| ^~~~~~
/home/apodtele/freetype/src/smooth/ftgrays.c:1949:14: note: 'worker' declared here
/home/apodtele/freetype/src/smooth/ftgrays.c:1960:26: warning: storing the address of local variable 'buffer' in '*worker.cell_null' [-Wdangling-pointer=]
1960 | ras.cell_null = buffer + FT_MAX_GRAY_POOL - 1;
| ^
/home/apodtele/freetype/src/smooth/ftgrays.c:1949:14: note: 'buffer' declared here
1949 | TCell buffer[FT_MAX_GRAY_POOL];
| ^~~~~~
/home/apodtele/freetype/src/smooth/ftgrays.c:1949:14: note: 'worker' declared here