FNA-XNA / FAudio

FAudio - Accuracy-focused XAudio reimplementation for open platforms
https://fna-xna.github.io/
Other
546 stars 73 forks source link

FAudio.h:723: error: wrong number of arguments specified for ‘deprecated’ attribute #321

Open barracuda156 opened 1 year ago

barracuda156 commented 1 year ago

Is it still supposed to compile with C99? Fails for me:

In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/include/FAPO.h:42,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/include/FAPOFX.h:30,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/src/FAPOFX.c:27:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/include/FAudio.h:723: error: wrong number of arguments specified for ‘deprecated’ attribute
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/include/FAudioFX.h:37,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/src/FACT.c:27:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/include/FAudio.h:723: error: wrong number of arguments specified for ‘deprecated’ attribute
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/src/FAudio_internal.h:27,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/src/F3DAudio.c:28:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/include/FAudio.h:723: error: wrong number of arguments specified for ‘deprecated’ attribute
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/include/FACT.h:34,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/include/FACT3D.h:35,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/src/FACT3D.c:27:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/include/FAudio.h:723: error: wrong number of arguments specified for ‘deprecated’ attribute
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/include/FAPO.h:42,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/include/FAPOBase.h:70,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/src/FAPOBase.c:27:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/include/FAudio.h:723: error: wrong number of arguments specified for ‘deprecated’ attribute
make[2]: *** [CMakeFiles/FAudio.dir/src/FACT3D.c.o] Error 1
make[2]: *** Waiting for unfinished jobs....
In file included from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/include/FACT.h:34,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/src/FACT_internal.h:27,
                 from /opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/src/FACT_internal.c:27:
/opt/local/var/macports/build/_opt_PPCSnowLeopardPorts_audio_FAudio/FAudio/work/FAudio-23.08/include/FAudio.h:723: error: wrong number of arguments specified for ‘deprecated’ attribute
make[2]: *** [CMakeFiles/FAudio.dir/src/FAPOFX.c.o] Error 1
flibitijibibo commented 1 year ago

At least with the compilers I use it's okay, but that's a pretty short list... here's the macro for marking deprecated functions:

https://github.com/FNA-XNA/FAudio/blob/master/include/FAudio.h#L38-L42

barracuda156 commented 1 year ago

@flibitijibibo It builds fine with a new GCC, I was just unsure if the standard should be increased to C11 or simply old Apple gcc-4.2 cannot build it anymore. For now, I just blacklisted gcc-4.2, that fixed the problem: https://github.com/macports/macports-ports/commit/e6c9d718f16d13eb286ec96747f631d7bbe63459

flibitijibibo commented 1 year ago

Took a super quick glance at this and I can only guess that the deprecated attribute didn't have a parameter at first, but I can't exactly tell when it was added... even if the version is super old I'd be happy to accept a patch that uses the deprecated attribute without the message parameter if we can figure out how to check for the right support.