https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119528
--- Comment #4 from akallabeth+gnu at posteo dot net --- you jump to conclusions... * this is called a simplified example, if you want the full code go compile htts://github.com/freerdp/freerdp * did you try yourself? Then please explain the following: [9/158] Building C object libfreerdp/CMakeFiles/freerdp.dir/utils/smartcard_call.c.o FAILED: libfreerdp/CMakeFiles/freerdp.dir/utils/smartcard_call.c.o /usr/bin/ccache /usr/bin/cc -DEXT_PATH=\"/tmp/xxx/lib/freerdp3/extensions\" -DFREERDP_EXPORTS -DNONAMELESSUNION -DWINPR_TIMEZONE_FILE=\"/etc/timezone\" -DWITHOUT_FREERDP_3x_DEPRECATED -DWITH_FREERDP_DEPRECATED_COMMANDLINE -DWITH_OPENSSL -DWITH_SMARTCARD_EMULATE -DWITH_VERBOSE_WINPR_ASSERT -D_FILE_OFFSET_BITS=64 -Dfreerdp_EXPORTS -I/home/nin/src/freerdp/winpr/include -I/home/nin/src/freerdp/xxx/winpr/include -I/home/nin/src/freerdp/xxx -I/home/nin/src/freerdp/xxx/include -I/home/nin/src/freerdp/include -Wno-incompatible-pointer-types -Wno-int-conversion -fvisibility=hidden -fno-omit-frame-pointer -Wredundant-decls -Wimplicit-function-declaration -fvisibility=hidden -g -O2 -std=gnu11 -flto=auto -fno-fat-lto-objects -fPIC -MD -MT libfreerdp/CMakeFiles/freerdp.dir/utils/smartcard_call.c.o -MF libfreerdp/CMakeFiles/freerdp.dir/utils/smartcard_call.c.o.d -o libfreerdp/CMakeFiles/freerdp.dir/utils/smartcard_call.c.o -c /home/nin/src/freerdp/libfreerdp/utils/smartcard_call.c In file included from /home/nin/src/freerdp/winpr/include/winpr/winpr.h:22, from /home/nin/src/freerdp/winpr/include/winpr/assert.h:27, from /home/nin/src/freerdp/libfreerdp/utils/smartcard_call.c:28: /home/nin/src/freerdp/include/freerdp/codecs.h:80:27: error: ‘freerdp_client_codecs_free’ undeclared here (not in a function); did you mean ‘freerdp_client_codecs_reset’? 80 | WINPR_ATTR_MALLOC(freerdp_client_codecs_free, 1) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ /home/nin/src/freerdp/winpr/include/winpr/platform.h:542:31: note: in definition of macro ‘WINPR_ATTR_MALLOC’ 542 | __attribute__((malloc(deallocator, ptrindex), warn_unused_result)) /** @since version 3.3.0 */ | ^~~~~~~~~~~ oh, just so there are no misunderstandings: 13:34 $ cc --version cc (Debian 14.2.0-19) 14.2.0 Copyright (C) 2024 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. regards On 3/29/25 13:21, jakub at gcc dot gnu.org wrote: > https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119528 > > --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- > (In reply to akallabeth+gnu from comment #2) >> as for your suggestion, this will fail as the function designated >> deallocator has not been declared... > > You clearly have not tried that (sure, with the missing ) after deprecated > attributes added. >