PabloMK7 / citra

A Nintendo 3DS Emulator
GNU General Public License v2.0
2.94k stars 570 forks source link

Fix gcc 13+ compilation and update fmt. #142

Closed kongfl888 closed 2 weeks ago

kongfl888 commented 1 month ago

Fix compilation errors, and update fmt for the same reason.

An example of a compilation error:

error: comparison of integer expressions of different signedness: 'SocketHolder' {aka 'long long unsigned int'} and 'int' [-Werror=sign-compare]

By updating fmt, it will fix: integer_sequence<bool, (Is == Is)...> [-Werror=tautological-compare] The updating is helpful and needed. Fmt has gone through two public versions since its last update and has fixed many bugs, including new compiler optimizations. But neither of these two public versions can fix the errors encountered above. We need to switch to a working version. Very helpful. The selected version works well. Synchronously updating local code.

configure_debug.ui: there are two variables named repeatedly here, which raises a warning.

PabloMK7 commented 1 month ago

Mind explaining why fmt needed to be updated? Otherwise LGTM.

rtiangha commented 1 month ago

To be fair, without the build fixes in the second commit, fmt on Citra would be stuck at 10.2.1 as the highest it could go.

kongfl888 commented 1 month ago

About fmt. I got errors which have been fixed only by the mainline branch when compiling fmt. Updating it is helpful.

Example integer_sequence<bool, (Is == Is)...> [-Werror=tautological-compare]