=>> Building emulators/libretro-bsnes build started at Sat Mar 30 14:20:28 GMT 2024 port directory: /usr/ports/emulators/libretro-bsnes package name: libretro-bsnes-115.a.20231101_1,1 building for: FreeBSD pkg-builder.dan.net.uk 13.2-RELEASE-p10 FreeBSD 13.2-RELEASE-p10 amd64 maintained by: beyert@cs.ucr.edu Makefile datestamp: -rw-r--r-- 1 root wheel 600 Dec 19 14:17 /usr/ports/emulators/libretro-bsnes/Makefile Ports top last git commit: c2c35d895e Ports top unclean checkout: yes Port dir last git commit: f60288f8df Port dir unclean checkout: no Poudriere version: poudriere-git-3.4.99.20240122_1 Host OSVERSION: 1400097 Jail OSVERSION: 1302001 Job Id: 05 ---Begin Environment--- SHELL=/bin/csh OSVERSION=1302001 UNAME_v=FreeBSD 13.2-RELEASE-p10 UNAME_r=13.2-RELEASE-p10 BLOCKSIZE=K MAIL=/var/mail/root MM_CHARSET=UTF-8 LANG=C.UTF-8 STATUS=1 HOME=/root PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin MAKE_OBJDIR_CHECK_WRITABLE=0 LOCALBASE=/usr/local USER=root POUDRIERE_NAME=poudriere-git LIBEXECPREFIX=/usr/local/libexec/poudriere POUDRIERE_VERSION=3.4.99.20240122_1 MASTERMNT=/usr/local/poudriere/data/.m/13-amd64-default-dan/ref LC_COLLATE=C POUDRIERE_BUILD_TYPE=bulk PACKAGE_BUILDING=yes SAVED_TERM=screen OUTPUT_REDIRECTED_STDERR=4 OUTPUT_REDIRECTED=1 PWD=/usr/local/poudriere/data/.m/13-amd64-default-dan/05/.p OUTPUT_REDIRECTED_STDOUT=3 P_PORTS_FEATURES=FLAVORS SUBPACKAGES SELECTED_OPTIONS MASTERNAME=13-amd64-default-dan SCRIPTPREFIX=/usr/local/share/poudriere SCRIPTNAME=bulk.sh OLDPWD=/usr/local/poudriere/data/.m/13-amd64-default-dan/ref/.p/pool POUDRIERE_PKGNAME=poudriere-git-3.4.99.20240122_1 SCRIPTPATH=/usr/local/share/poudriere/bulk.sh POUDRIEREPATH=/usr/local/bin/poudriere ---End Environment--- ---Begin Poudriere Port Flags/Env--- PORT_FLAGS= PKGENV= FLAVOR= MAKE_ARGS= ---End Poudriere Port Flags/Env--- ---Begin OPTIONS List--- ---End OPTIONS List--- --MAINTAINER-- beyert@cs.ucr.edu --End MAINTAINER-- --CONFIGURE_ARGS-- --End CONFIGURE_ARGS-- --CONFIGURE_ENV-- MAKE=gmake XDG_DATA_HOME=/wrkdirs/usr/ports/emulators/libretro-bsnes/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/emulators/libretro-bsnes/work XDG_CACHE_HOME=/wrkdirs/usr/ports/emulators/libretro-bsnes/work/.cache HOME=/wrkdirs/usr/ports/emulators/libretro-bsnes/work TMPDIR="/tmp" PATH=/ccache/libexec/ccache:/wrkdirs/usr/ports/emulators/libretro-bsnes/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/emulators/libretro-bsnes/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig SHELL=/bin/sh CONFIG_SHELL=/bin/sh CCACHE_DIR="/root/.ccache" --End CONFIGURE_ENV-- --MAKE_ENV-- XDG_DATA_HOME=/wrkdirs/usr/ports/emulators/libretro-bsnes/work XDG_CONFIG_HOME=/wrkdirs/usr/ports/emulators/libretro-bsnes/work XDG_CACHE_HOME=/wrkdirs/usr/ports/emulators/libretro-bsnes/work/.cache HOME=/wrkdirs/usr/ports/emulators/libretro-bsnes/work TMPDIR="/tmp" PATH=/ccache/libexec/ccache:/wrkdirs/usr/ports/emulators/libretro-bsnes/work/.bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/root/bin PKG_CONFIG_LIBDIR=/wrkdirs/usr/ports/emulators/libretro-bsnes/work/.pkgconfig:/usr/local/libdata/pkgconfig:/usr/local/share/pkgconfig:/usr/libdata/pkgconfig MK_DEBUG_FILES=no MK_KERNEL_SYMBOLS=no SHELL=/bin/sh NO_LINT=YES PREFIX=/usr/local LOCALBASE=/usr/local CC="cc" CFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " CPP="cpp" CPPFLAGS="" LDFLAGS=" -fstack-protector-strong " LIBS="" CXX="c++" CXXFLAGS="-O2 -pipe -fstack-protector-strong -fno-strict-aliasing " CCACHE_DIR="/root/.ccache" BSD_INSTALL_PROGRAM="install -s -m 555" BSD_INSTALL_LIB="install -s -m 0644" BSD_INSTALL_SCRIPT="install -m 555" BSD_INSTALL_DATA="install -m 0644" BSD_INSTALL_MAN="install -m 444" --End MAKE_ENV-- --PLIST_SUB-- OSREL=13.2 PREFIX=%D LOCALBASE=/usr/local RESETPREFIX=/usr/local LIB32DIR=lib DOCSDIR="share/doc/libretro-bsnes" EXAMPLESDIR="share/examples/libretro-bsnes" DATADIR="share/libretro-bsnes" WWWDIR="www/libretro-bsnes" ETCDIR="etc/libretro-bsnes" --End PLIST_SUB-- --SUB_LIST-- PREFIX=/usr/local LOCALBASE=/usr/local DATADIR=/usr/local/share/libretro-bsnes DOCSDIR=/usr/local/share/doc/libretro-bsnes EXAMPLESDIR=/usr/local/share/examples/libretro-bsnes WWWDIR=/usr/local/www/libretro-bsnes ETCDIR=/usr/local/etc/libretro-bsnes --End SUB_LIST-- ---Begin make.conf--- USE_PACKAGE_DEPENDS=yes BATCH=yes WRKDIRPREFIX=/wrkdirs PORTSDIR=/usr/ports PACKAGES=/packages DISTDIR=/distfiles FORCE_PACKAGE=yes PACKAGE_BUILDING=yes PACKAGE_BUILDING_FLAVORS=yes #### #### CCACHE_CPP2=1 WITH_SSP_PORTS=yes WITH_SSP=yes #WITH_LTO=yes DISABLE_LICENSES=yes LICENSES_ACCEPTED=AGPLv3 APACHE10 APACHE11 APACHE20 ART10 ARTPERL10 ART20 BSD BSD2CLAUSE BSD3CLAUSE BSD4CLAUSE BSL CC0-1.0 CDDL ClArtistic EPL GFDL GMGPL GPLv1 GPLv2 GPLv3 GPLv3RLE ISCL LGPL20 LGPL21 LGPL3 LPPL10 LPPL11 LPPL12 LPPL13 LPPL13a LPPL13b LPPL13c MIT MPL OpenSSL OFL10 OFL11 OWL PostgreSQL PHP202 PHP30 PHP301 PSFL RUBY ZLIB ZPL21 SVM-Light EULA ALASIR Microsoft-exFAT SIMIAN UDEVGAME unknown MTA COMMERCIAL teamspeak NO_LICENSES_DIALOGS=yes #### #### NO_IGNORE=yes DEFAULT_VERSIONS+=ssl=openssl mysql=8.0 imagemagick=7 samba=4.13 java=18 WITH_SETID_MODE=force PHP_ZTS=enabled OPTIONS_UNSET+=OPENJPEG OPTIONS_UNSET+=GSSAPI_BASE OPTIONS_SET+=ZTS OPTIONS_SET+=GSSAPI_NONE WITH_CCACHE_BUILD=yes CCACHE_DIR=/root/.ccache NO_CCACHE_DEPEND=1 CCACHE_WRAPPER_PATH= /ccache/libexec/ccache #### Misc Poudriere #### .include "/etc/make.conf.ports_env" GID=0 UID=0 DISABLE_MAKE_JOBS=poudriere ---End make.conf--- --Resource limits-- cpu time (seconds, -t) unlimited file size (512-blocks, -f) unlimited data seg size (kbytes, -d) 33554432 stack size (kbytes, -s) 524288 core file size (512-blocks, -c) unlimited max memory size (kbytes, -m) unlimited locked memory (kbytes, -l) unlimited max user processes (-u) 89999 open files (-n) 8192 virtual mem size (kbytes, -v) unlimited swap limit (kbytes, -w) unlimited socket buffer size (bytes, -b) unlimited pseudo-terminals (-p) unlimited kqueues (-k) unlimited umtx shared locks (-o) unlimited --End resource limits-- =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 ===> libretro-bsnes-115.a.20231101_1,1 depends on file: /usr/local/sbin/pkg - not found ===> Installing existing package /packages/All/pkg-1.20.9_1.pkg [pkg-builder.dan.net.uk] Installing pkg-1.20.9_1... [pkg-builder.dan.net.uk] Extracting pkg-1.20.9_1: .......... done ===> libretro-bsnes-115.a.20231101_1,1 depends on file: /usr/local/sbin/pkg - found ===> Returning to build of libretro-bsnes-115.a.20231101_1,1 =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Fetching all distfiles required by libretro-bsnes-115.a.20231101_1,1 for building =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Fetching all distfiles required by libretro-bsnes-115.a.20231101_1,1 for building => SHA256 Checksum OK for libretro-bsnes-libretro-v115.a.20231101-0685381_GH0.tar.gz. =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Fetching all distfiles required by libretro-bsnes-115.a.20231101_1,1 for building ===> Extracting for libretro-bsnes-115.a.20231101_1,1 => SHA256 Checksum OK for libretro-bsnes-libretro-v115.a.20231101-0685381_GH0.tar.gz. =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Patching for libretro-bsnes-115.a.20231101_1,1 =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 ===> libretro-bsnes-115.a.20231101_1,1 depends on package: gmake>=4.4.1 - not found ===> Installing existing package /packages/All/gmake-4.4.1.pkg [pkg-builder.dan.net.uk] Installing gmake-4.4.1... [pkg-builder.dan.net.uk] `-- Installing gettext-runtime-0.22.3_1... [pkg-builder.dan.net.uk] | `-- Installing indexinfo-0.3.1... [pkg-builder.dan.net.uk] | `-- Extracting indexinfo-0.3.1: . done [pkg-builder.dan.net.uk] `-- Extracting gettext-runtime-0.22.3_1: .......... done [pkg-builder.dan.net.uk] Extracting gmake-4.4.1: .......... done ===> libretro-bsnes-115.a.20231101_1,1 depends on package: gmake>=4.4.1 - found ===> Returning to build of libretro-bsnes-115.a.20231101_1,1 =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Configuring for libretro-bsnes-115.a.20231101_1,1 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Building for libretro-bsnes-115.a.20231101_1,1 /bin/sh: git: not found c++ -c -o bsnes/target-libretro/program.o bsnes/target-libretro/program.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct In file included from bsnes/target-libretro/program.cpp:15: ./bsnes/heuristics/heuristics.cpp:17:3: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation] return output; ^ ./bsnes/heuristics/heuristics.cpp:15:1: note: previous statement is here if(_volatile) ^ In file included from bsnes/target-libretro/program.cpp:16: ./bsnes/heuristics/super-famicom.cpp:157:56: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] if(data[headerAddress + 0x2a] == 0x33 && valid(A) && valid(B) & valid(C) & valid(D)) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ && ./bsnes/heuristics/super-famicom.cpp:157:56: note: cast one or both operands to int to silence this warning ./bsnes/heuristics/super-famicom.cpp:157:56: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] if(data[headerAddress + 0x2a] == 0x33 && valid(A) && valid(B) & valid(C) & valid(D)) { ^~~~~~~~~~~~~~~~~~~ && ./bsnes/heuristics/super-famicom.cpp:157:56: note: cast one or both operands to int to silence this warning ./bsnes/heuristics/super-famicom.cpp:218:56: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] if(data[headerAddress + 0x2a] == 0x33 && valid(A) && valid(B) & valid(C) & valid(D)) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ && ./bsnes/heuristics/super-famicom.cpp:218:56: note: cast one or both operands to int to silence this warning ./bsnes/heuristics/super-famicom.cpp:218:56: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] if(data[headerAddress + 0x2a] == 0x33 && valid(A) && valid(B) & valid(C) & valid(D)) { ^~~~~~~~~~~~~~~~~~~ && ./bsnes/heuristics/super-famicom.cpp:218:56: note: cast one or both operands to int to silence this warning ./bsnes/heuristics/super-famicom.cpp:428:56: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] if(data[headerAddress + 0x2a] == 0x33 && valid(A) && valid(B) & valid(C) & valid(D)) { ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ && ./bsnes/heuristics/super-famicom.cpp:428:56: note: cast one or both operands to int to silence this warning ./bsnes/heuristics/super-famicom.cpp:428:56: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] if(data[headerAddress + 0x2a] == 0x33 && valid(A) && valid(B) & valid(C) & valid(D)) { ^~~~~~~~~~~~~~~~~~~ && ./bsnes/heuristics/super-famicom.cpp:428:56: note: cast one or both operands to int to silence this warning In file included from bsnes/target-libretro/program.cpp:17: ./bsnes/heuristics/game-boy.cpp:279:3: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation] output.append(" board: ", mapper, "\n"); ^ ./bsnes/heuristics/game-boy.cpp:277:1: note: previous statement is here if(serial) ^ ./bsnes/heuristics/game-boy.cpp:295:3: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation] return output; ^ ./bsnes/heuristics/game-boy.cpp:293:1: note: previous statement is here if(rumble) ^ ./bsnes/heuristics/game-boy.cpp:44:8: warning: variable 'romSize' set but not used [-Wunused-but-set-variable] uint romSize = 0; ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/target-libretro/program.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ 73 warnings generated. c++ -c -o bsnes/target-libretro/libretro.o bsnes/target-libretro/libretro.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct bsnes/target-libretro/libretro.cpp:690:2: warning: delete called on non-final 'Program' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor] delete program; ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/target-libretro/libretro.cpp:4: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:21: ./nall/unique-pointer.hpp:52:9: warning: delete called on non-final 'Emulator::Interface' that has virtual functions but non-virtual destructor [-Wdelete-non-abstract-non-virtual-dtor] delete pointer; ^ bsnes/target-libretro/libretro.cpp:691:11: note: in instantiation of member function 'nall::unique_pointer::reset' requested here emulator.reset(); ^ 65 warnings generated. c++ -c -o bsnes/emulator/emulator.o bsnes/emulator/emulator.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/emulator/emulator.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ 63 warnings generated. c++ -c -o bsnes/filter/filter.o bsnes/filter/filter.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct In file included from bsnes/filter/filter.cpp:11: bsnes/filter/none.cpp:4:10: warning: explicitly assigning value of variable of type 'uint' (aka 'unsigned int') to itself [-Wself-assign] width = width; ~~~~~ ^ ~~~~~ bsnes/filter/none.cpp:5:10: warning: explicitly assigning value of variable of type 'uint' (aka 'unsigned int') to itself [-Wself-assign] height = height; ~~~~~~ ^ ~~~~~~ In file included from bsnes/filter/filter.cpp:12: bsnes/filter/scanlines-light.cpp:22:10: warning: explicitly assigning value of variable of type 'uint' (aka 'unsigned int') to itself [-Wself-assign] width = width; ~~~~~ ^ ~~~~~ In file included from bsnes/filter/filter.cpp:13: bsnes/filter/scanlines-dark.cpp:22:10: warning: explicitly assigning value of variable of type 'uint' (aka 'unsigned int') to itself [-Wself-assign] width = width; ~~~~~ ^ ~~~~~ In file included from bsnes/filter/filter.cpp:14: bsnes/filter/scanlines-black.cpp:4:10: warning: explicitly assigning value of variable of type 'uint' (aka 'unsigned int') to itself [-Wself-assign] width = width; ~~~~~ ^ ~~~~~ In file included from bsnes/filter/filter.cpp:22: bsnes/filter/ntsc-rf.cpp:28:10: warning: explicitly assigning value of variable of type 'uint' (aka 'unsigned int') to itself [-Wself-assign] height = height; ~~~~~~ ^ ~~~~~~ In file included from bsnes/filter/filter.cpp:23: bsnes/filter/ntsc-composite.cpp:28:10: warning: explicitly assigning value of variable of type 'uint' (aka 'unsigned int') to itself [-Wself-assign] height = height; ~~~~~~ ^ ~~~~~~ In file included from bsnes/filter/filter.cpp:24: bsnes/filter/ntsc-svideo.cpp:28:10: warning: explicitly assigning value of variable of type 'uint' (aka 'unsigned int') to itself [-Wself-assign] height = height; ~~~~~~ ^ ~~~~~~ In file included from bsnes/filter/filter.cpp:25: bsnes/filter/ntsc-rgb.cpp:28:10: warning: explicitly assigning value of variable of type 'uint' (aka 'unsigned int') to itself [-Wself-assign] height = height; ~~~~~~ ^ ~~~~~~ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/filter/filter.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ 72 warnings generated. c++ -c -o bsnes/lzma/lzma.o bsnes/lzma/lzma.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/lzma/lzma.cpp:1: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ 63 warnings generated. c++ -c -o bsnes/sfc/interface/interface.o bsnes/sfc/interface/interface.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:14: ./bsnes/processor/upd96050/upd96050.hpp:61:19: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] bool _drs = drs & !drc; //when DRC=1, DRS=0 ^~~~~~~~~~ && ./bsnes/processor/upd96050/upd96050.hpp:61:19: note: cast one or both operands to int to silence this warning In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:157: ./bsnes/sfc/ppu/background.hpp:84:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:158: ./bsnes/sfc/ppu/object.hpp:90:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:159: ./bsnes/sfc/ppu/window.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:160: ./bsnes/sfc/ppu/screen.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: warning: class 'Background' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Background; ^ ./bsnes/sfc/ppu/background.hpp:1:8: note: previous use is here struct Background { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: note: did you mean struct here? friend class PPU::Background; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:172:10: warning: class 'Object' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Object; ^ ./bsnes/sfc/ppu/object.hpp:21:8: note: previous use is here struct Object { ^ ./bsnes/sfc/ppu/ppu.hpp:172:10: note: did you mean struct here? friend class PPU::Object; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:173:10: warning: class 'Window' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Window; ^ ./bsnes/sfc/ppu/window.hpp:1:8: note: previous use is here struct Window { ^ ./bsnes/sfc/ppu/ppu.hpp:173:10: note: did you mean struct here? friend class PPU::Window; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:174:10: warning: class 'Screen' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Screen; ^ ./bsnes/sfc/ppu/screen.hpp:1:8: note: previous use is here struct Screen { ^ ./bsnes/sfc/ppu/ppu.hpp:174:10: note: did you mean struct here? friend class PPU::Screen; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:175:10: warning: class 'System' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class System; ^ ./bsnes/sfc/system/system.hpp:1:8: note: previous use is here struct System { ^ ./bsnes/sfc/ppu/ppu.hpp:175:10: note: did you mean struct here? friend class System; ^~~~~ struct In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:138: ./bsnes/sfc/ppu-fast/ppu.hpp:10:1: warning: 'PPUfast' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct PPU : PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:176:10: note: did you mean struct here? friend class PPUfast; ^~~~~ struct In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:142: In file included from ./bsnes/sfc/coprocessor/coprocessor.hpp:1: ./bsnes/sfc/coprocessor/icd/icd.hpp:13:8: warning: 'SuperFamicom::ICD::load' hides overloaded virtual function [-Woverloaded-virtual] auto load() -> bool; ^ ./bsnes/emulator/platform.hpp:18:16: note: hidden overloaded virtual function 'Emulator::Platform::load' declared here: different number of parameters (4 vs 0) virtual auto load(uint id, string name, string type, vector options = {}) -> Load { return {}; } ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:1:1: warning: 'Cartridge' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Cartridge { ^ ./bsnes/sfc/system/system.hpp:48:10: note: did you mean struct here? friend class Cartridge; ^~~~~ struct In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:123:10: warning: class 'ICD' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class ICD; ^ ./bsnes/sfc/coprocessor/icd/icd.hpp:1:8: note: previous use is here struct ICD : Emulator::Platform, Thread { ^ ./bsnes/sfc/cartridge/cartridge.hpp:123:10: note: did you mean struct here? friend class ICD; ^~~~~ struct In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:150: ./bsnes/sfc/interface/interface.hpp:33:1: warning: 'Interface' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Interface : Emulator::Interface { ^ ./bsnes/sfc/cartridge/cartridge.hpp:122:10: note: did you mean struct here? friend class Interface; ^~~~~ struct In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/interface/interface.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ 78 warnings generated. c++ -c -o bsnes/sfc/system/system.o bsnes/sfc/system/system.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:14: ./bsnes/processor/upd96050/upd96050.hpp:61:19: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] bool _drs = drs & !drc; //when DRC=1, DRS=0 ^~~~~~~~~~ && ./bsnes/processor/upd96050/upd96050.hpp:61:19: note: cast one or both operands to int to silence this warning In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:157: ./bsnes/sfc/ppu/background.hpp:84:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:158: ./bsnes/sfc/ppu/object.hpp:90:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:159: ./bsnes/sfc/ppu/window.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:160: ./bsnes/sfc/ppu/screen.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: warning: class 'Background' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Background; ^ ./bsnes/sfc/ppu/background.hpp:1:8: note: previous use is here struct Background { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: note: did you mean struct here? friend class PPU::Background; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:172:10: warning: class 'Object' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Object; ^ ./bsnes/sfc/ppu/object.hpp:21:8: note: previous use is here struct Object { ^ ./bsnes/sfc/ppu/ppu.hpp:172:10: note: did you mean struct here? friend class PPU::Object; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:173:10: warning: class 'Window' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Window; ^ ./bsnes/sfc/ppu/window.hpp:1:8: note: previous use is here struct Window { ^ ./bsnes/sfc/ppu/ppu.hpp:173:10: note: did you mean struct here? friend class PPU::Window; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:174:10: warning: class 'Screen' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Screen; ^ ./bsnes/sfc/ppu/screen.hpp:1:8: note: previous use is here struct Screen { ^ ./bsnes/sfc/ppu/ppu.hpp:174:10: note: did you mean struct here? friend class PPU::Screen; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:175:10: warning: class 'System' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class System; ^ ./bsnes/sfc/system/system.hpp:1:8: note: previous use is here struct System { ^ ./bsnes/sfc/ppu/ppu.hpp:175:10: note: did you mean struct here? friend class System; ^~~~~ struct In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:138: ./bsnes/sfc/ppu-fast/ppu.hpp:10:1: warning: 'PPUfast' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct PPU : PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:176:10: note: did you mean struct here? friend class PPUfast; ^~~~~ struct In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:142: In file included from ./bsnes/sfc/coprocessor/coprocessor.hpp:1: ./bsnes/sfc/coprocessor/icd/icd.hpp:13:8: warning: 'SuperFamicom::ICD::load' hides overloaded virtual function [-Woverloaded-virtual] auto load() -> bool; ^ ./bsnes/emulator/platform.hpp:18:16: note: hidden overloaded virtual function 'Emulator::Platform::load' declared here: different number of parameters (4 vs 0) virtual auto load(uint id, string name, string type, vector options = {}) -> Load { return {}; } ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:1:1: warning: 'Cartridge' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Cartridge { ^ ./bsnes/sfc/system/system.hpp:48:10: note: did you mean struct here? friend class Cartridge; ^~~~~ struct In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:123:10: warning: class 'ICD' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class ICD; ^ ./bsnes/sfc/coprocessor/icd/icd.hpp:1:8: note: previous use is here struct ICD : Emulator::Platform, Thread { ^ ./bsnes/sfc/cartridge/cartridge.hpp:123:10: note: did you mean struct here? friend class ICD; ^~~~~ struct In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:150: ./bsnes/sfc/interface/interface.hpp:33:1: warning: 'Interface' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Interface : Emulator::Interface { ^ ./bsnes/sfc/cartridge/cartridge.hpp:122:10: note: did you mean struct here? friend class Interface; ^~~~~ struct In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/system/system.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ 78 warnings generated. c++ -c -o bsnes/sfc/controller/controller.o bsnes/sfc/controller/controller.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:14: ./bsnes/processor/upd96050/upd96050.hpp:61:19: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] bool _drs = drs & !drc; //when DRC=1, DRS=0 ^~~~~~~~~~ && ./bsnes/processor/upd96050/upd96050.hpp:61:19: note: cast one or both operands to int to silence this warning In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:157: ./bsnes/sfc/ppu/background.hpp:84:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:158: ./bsnes/sfc/ppu/object.hpp:90:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:159: ./bsnes/sfc/ppu/window.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:160: ./bsnes/sfc/ppu/screen.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: warning: class 'Background' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Background; ^ ./bsnes/sfc/ppu/background.hpp:1:8: note: previous use is here struct Background { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: note: did you mean struct here? friend class PPU::Background; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:172:10: warning: class 'Object' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Object; ^ ./bsnes/sfc/ppu/object.hpp:21:8: note: previous use is here struct Object { ^ ./bsnes/sfc/ppu/ppu.hpp:172:10: note: did you mean struct here? friend class PPU::Object; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:173:10: warning: class 'Window' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Window; ^ ./bsnes/sfc/ppu/window.hpp:1:8: note: previous use is here struct Window { ^ ./bsnes/sfc/ppu/ppu.hpp:173:10: note: did you mean struct here? friend class PPU::Window; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:174:10: warning: class 'Screen' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Screen; ^ ./bsnes/sfc/ppu/screen.hpp:1:8: note: previous use is here struct Screen { ^ ./bsnes/sfc/ppu/ppu.hpp:174:10: note: did you mean struct here? friend class PPU::Screen; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:175:10: warning: class 'System' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class System; ^ ./bsnes/sfc/system/system.hpp:1:8: note: previous use is here struct System { ^ ./bsnes/sfc/ppu/ppu.hpp:175:10: note: did you mean struct here? friend class System; ^~~~~ struct In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:138: ./bsnes/sfc/ppu-fast/ppu.hpp:10:1: warning: 'PPUfast' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct PPU : PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:176:10: note: did you mean struct here? friend class PPUfast; ^~~~~ struct In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:142: In file included from ./bsnes/sfc/coprocessor/coprocessor.hpp:1: ./bsnes/sfc/coprocessor/icd/icd.hpp:13:8: warning: 'SuperFamicom::ICD::load' hides overloaded virtual function [-Woverloaded-virtual] auto load() -> bool; ^ ./bsnes/emulator/platform.hpp:18:16: note: hidden overloaded virtual function 'Emulator::Platform::load' declared here: different number of parameters (4 vs 0) virtual auto load(uint id, string name, string type, vector options = {}) -> Load { return {}; } ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:1:1: warning: 'Cartridge' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Cartridge { ^ ./bsnes/sfc/system/system.hpp:48:10: note: did you mean struct here? friend class Cartridge; ^~~~~ struct In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:123:10: warning: class 'ICD' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class ICD; ^ ./bsnes/sfc/coprocessor/icd/icd.hpp:1:8: note: previous use is here struct ICD : Emulator::Platform, Thread { ^ ./bsnes/sfc/cartridge/cartridge.hpp:123:10: note: did you mean struct here? friend class ICD; ^~~~~ struct In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:150: ./bsnes/sfc/interface/interface.hpp:33:1: warning: 'Interface' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Interface : Emulator::Interface { ^ ./bsnes/sfc/cartridge/cartridge.hpp:122:10: note: did you mean struct here? friend class Interface; ^~~~~ struct In file included from bsnes/sfc/controller/controller.cpp:7: bsnes/sfc/controller/gamepad/gamepad.cpp:16:19: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] case 4: return up & !down; ^~~~~~~~~~ && bsnes/sfc/controller/gamepad/gamepad.cpp:16:19: note: cast one or both operands to int to silence this warning bsnes/sfc/controller/gamepad/gamepad.cpp:17:19: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] case 5: return down & !up; ^~~~~~~~~~ && bsnes/sfc/controller/gamepad/gamepad.cpp:17:19: note: cast one or both operands to int to silence this warning bsnes/sfc/controller/gamepad/gamepad.cpp:18:19: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] case 6: return left & !right; ^~~~~~~~~~~~~ && bsnes/sfc/controller/gamepad/gamepad.cpp:18:19: note: cast one or both operands to int to silence this warning bsnes/sfc/controller/gamepad/gamepad.cpp:19:19: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] case 7: return right & !left; ^~~~~~~~~~~~~ && bsnes/sfc/controller/gamepad/gamepad.cpp:19:19: note: cast one or both operands to int to silence this warning In file included from bsnes/sfc/controller/controller.cpp:9: bsnes/sfc/controller/super-multitap/super-multitap.cpp:35:44: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] case 4: return (A.up & !A.down) << 0 | (B.up & !B.down) << 1; ~^~~~~~~~~~~~~~~ && bsnes/sfc/controller/super-multitap/super-multitap.cpp:35:44: note: cast one or both operands to int to silence this warning bsnes/sfc/controller/super-multitap/super-multitap.cpp:35:20: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] case 4: return (A.up & !A.down) << 0 | (B.up & !B.down) << 1; ~^~~~~~~~~~~~~~~ && bsnes/sfc/controller/super-multitap/super-multitap.cpp:35:20: note: cast one or both operands to int to silence this warning bsnes/sfc/controller/super-multitap/super-multitap.cpp:36:44: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] case 5: return (A.down & !A.up) << 0 | (B.down & !B.up) << 1; ~^~~~~~~~~~~~~~~ && bsnes/sfc/controller/super-multitap/super-multitap.cpp:36:44: note: cast one or both operands to int to silence this warning bsnes/sfc/controller/super-multitap/super-multitap.cpp:36:20: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] case 5: return (A.down & !A.up) << 0 | (B.down & !B.up) << 1; ~^~~~~~~~~~~~~~~ && bsnes/sfc/controller/super-multitap/super-multitap.cpp:36:20: note: cast one or both operands to int to silence this warning bsnes/sfc/controller/super-multitap/super-multitap.cpp:37:47: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] case 6: return (A.left & !A.right) << 0 | (B.left & !B.right) << 1; ~^~~~~~~~~~~~~~~~~~ && bsnes/sfc/controller/super-multitap/super-multitap.cpp:37:47: note: cast one or both operands to int to silence this warning bsnes/sfc/controller/super-multitap/super-multitap.cpp:37:20: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] case 6: return (A.left & !A.right) << 0 | (B.left & !B.right) << 1; ~^~~~~~~~~~~~~~~~~~ && bsnes/sfc/controller/super-multitap/super-multitap.cpp:37:20: note: cast one or both operands to int to silence this warning bsnes/sfc/controller/super-multitap/super-multitap.cpp:38:47: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] case 7: return (A.right & !A.left) << 0 | (B.right & !B.left) << 1; ~^~~~~~~~~~~~~~~~~~ && bsnes/sfc/controller/super-multitap/super-multitap.cpp:38:47: note: cast one or both operands to int to silence this warning bsnes/sfc/controller/super-multitap/super-multitap.cpp:38:20: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] case 7: return (A.right & !A.left) << 0 | (B.right & !B.left) << 1; ~^~~~~~~~~~~~~~~~~~ && bsnes/sfc/controller/super-multitap/super-multitap.cpp:38:20: note: cast one or both operands to int to silence this warning In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/controller/controller.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ 90 warnings generated. c++ -c -o bsnes/sfc/cartridge/cartridge.o bsnes/sfc/cartridge/cartridge.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:14: ./bsnes/processor/upd96050/upd96050.hpp:61:19: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] bool _drs = drs & !drc; //when DRC=1, DRS=0 ^~~~~~~~~~ && ./bsnes/processor/upd96050/upd96050.hpp:61:19: note: cast one or both operands to int to silence this warning In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:157: ./bsnes/sfc/ppu/background.hpp:84:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:158: ./bsnes/sfc/ppu/object.hpp:90:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:159: ./bsnes/sfc/ppu/window.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:160: ./bsnes/sfc/ppu/screen.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: warning: class 'Background' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Background; ^ ./bsnes/sfc/ppu/background.hpp:1:8: note: previous use is here struct Background { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: note: did you mean struct here? friend class PPU::Background; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:172:10: warning: class 'Object' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Object; ^ ./bsnes/sfc/ppu/object.hpp:21:8: note: previous use is here struct Object { ^ ./bsnes/sfc/ppu/ppu.hpp:172:10: note: did you mean struct here? friend class PPU::Object; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:173:10: warning: class 'Window' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Window; ^ ./bsnes/sfc/ppu/window.hpp:1:8: note: previous use is here struct Window { ^ ./bsnes/sfc/ppu/ppu.hpp:173:10: note: did you mean struct here? friend class PPU::Window; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:174:10: warning: class 'Screen' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Screen; ^ ./bsnes/sfc/ppu/screen.hpp:1:8: note: previous use is here struct Screen { ^ ./bsnes/sfc/ppu/ppu.hpp:174:10: note: did you mean struct here? friend class PPU::Screen; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:175:10: warning: class 'System' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class System; ^ ./bsnes/sfc/system/system.hpp:1:8: note: previous use is here struct System { ^ ./bsnes/sfc/ppu/ppu.hpp:175:10: note: did you mean struct here? friend class System; ^~~~~ struct In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:138: ./bsnes/sfc/ppu-fast/ppu.hpp:10:1: warning: 'PPUfast' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct PPU : PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:176:10: note: did you mean struct here? friend class PPUfast; ^~~~~ struct In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:142: In file included from ./bsnes/sfc/coprocessor/coprocessor.hpp:1: ./bsnes/sfc/coprocessor/icd/icd.hpp:13:8: warning: 'SuperFamicom::ICD::load' hides overloaded virtual function [-Woverloaded-virtual] auto load() -> bool; ^ ./bsnes/emulator/platform.hpp:18:16: note: hidden overloaded virtual function 'Emulator::Platform::load' declared here: different number of parameters (4 vs 0) virtual auto load(uint id, string name, string type, vector options = {}) -> Load { return {}; } ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:1:1: warning: 'Cartridge' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Cartridge { ^ ./bsnes/sfc/system/system.hpp:48:10: note: did you mean struct here? friend class Cartridge; ^~~~~ struct In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:123:10: warning: class 'ICD' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class ICD; ^ ./bsnes/sfc/coprocessor/icd/icd.hpp:1:8: note: previous use is here struct ICD : Emulator::Platform, Thread { ^ ./bsnes/sfc/cartridge/cartridge.hpp:123:10: note: did you mean struct here? friend class ICD; ^~~~~ struct In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:150: ./bsnes/sfc/interface/interface.hpp:33:1: warning: 'Interface' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Interface : Emulator::Interface { ^ ./bsnes/sfc/cartridge/cartridge.hpp:122:10: note: did you mean struct here? friend class Interface; ^~~~~ struct In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/cartridge/cartridge.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ 78 warnings generated. c++ -c -o bsnes/sfc/memory/memory.o bsnes/sfc/memory/memory.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:14: ./bsnes/processor/upd96050/upd96050.hpp:61:19: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] bool _drs = drs & !drc; //when DRC=1, DRS=0 ^~~~~~~~~~ && ./bsnes/processor/upd96050/upd96050.hpp:61:19: note: cast one or both operands to int to silence this warning In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:157: ./bsnes/sfc/ppu/background.hpp:84:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:158: ./bsnes/sfc/ppu/object.hpp:90:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:159: ./bsnes/sfc/ppu/window.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:160: ./bsnes/sfc/ppu/screen.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: warning: class 'Background' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Background; ^ ./bsnes/sfc/ppu/background.hpp:1:8: note: previous use is here struct Background { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: note: did you mean struct here? friend class PPU::Background; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:172:10: warning: class 'Object' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Object; ^ ./bsnes/sfc/ppu/object.hpp:21:8: note: previous use is here struct Object { ^ ./bsnes/sfc/ppu/ppu.hpp:172:10: note: did you mean struct here? friend class PPU::Object; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:173:10: warning: class 'Window' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Window; ^ ./bsnes/sfc/ppu/window.hpp:1:8: note: previous use is here struct Window { ^ ./bsnes/sfc/ppu/ppu.hpp:173:10: note: did you mean struct here? friend class PPU::Window; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:174:10: warning: class 'Screen' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Screen; ^ ./bsnes/sfc/ppu/screen.hpp:1:8: note: previous use is here struct Screen { ^ ./bsnes/sfc/ppu/ppu.hpp:174:10: note: did you mean struct here? friend class PPU::Screen; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:175:10: warning: class 'System' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class System; ^ ./bsnes/sfc/system/system.hpp:1:8: note: previous use is here struct System { ^ ./bsnes/sfc/ppu/ppu.hpp:175:10: note: did you mean struct here? friend class System; ^~~~~ struct In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:138: ./bsnes/sfc/ppu-fast/ppu.hpp:10:1: warning: 'PPUfast' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct PPU : PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:176:10: note: did you mean struct here? friend class PPUfast; ^~~~~ struct In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:142: In file included from ./bsnes/sfc/coprocessor/coprocessor.hpp:1: ./bsnes/sfc/coprocessor/icd/icd.hpp:13:8: warning: 'SuperFamicom::ICD::load' hides overloaded virtual function [-Woverloaded-virtual] auto load() -> bool; ^ ./bsnes/emulator/platform.hpp:18:16: note: hidden overloaded virtual function 'Emulator::Platform::load' declared here: different number of parameters (4 vs 0) virtual auto load(uint id, string name, string type, vector options = {}) -> Load { return {}; } ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:1:1: warning: 'Cartridge' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Cartridge { ^ ./bsnes/sfc/system/system.hpp:48:10: note: did you mean struct here? friend class Cartridge; ^~~~~ struct In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:123:10: warning: class 'ICD' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class ICD; ^ ./bsnes/sfc/coprocessor/icd/icd.hpp:1:8: note: previous use is here struct ICD : Emulator::Platform, Thread { ^ ./bsnes/sfc/cartridge/cartridge.hpp:123:10: note: did you mean struct here? friend class ICD; ^~~~~ struct In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:150: ./bsnes/sfc/interface/interface.hpp:33:1: warning: 'Interface' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Interface : Emulator::Interface { ^ ./bsnes/sfc/cartridge/cartridge.hpp:122:10: note: did you mean struct here? friend class Interface; ^~~~~ struct In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/memory/memory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ 78 warnings generated. c++ -c -o bsnes/sfc/cpu/cpu.o bsnes/sfc/cpu/cpu.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:14: ./bsnes/processor/upd96050/upd96050.hpp:61:19: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] bool _drs = drs & !drc; //when DRC=1, DRS=0 ^~~~~~~~~~ && ./bsnes/processor/upd96050/upd96050.hpp:61:19: note: cast one or both operands to int to silence this warning In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:157: ./bsnes/sfc/ppu/background.hpp:84:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:158: ./bsnes/sfc/ppu/object.hpp:90:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:159: ./bsnes/sfc/ppu/window.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:160: ./bsnes/sfc/ppu/screen.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: warning: class 'Background' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Background; ^ ./bsnes/sfc/ppu/background.hpp:1:8: note: previous use is here struct Background { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: note: did you mean struct here? friend class PPU::Background; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:172:10: warning: class 'Object' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Object; ^ ./bsnes/sfc/ppu/object.hpp:21:8: note: previous use is here struct Object { ^ ./bsnes/sfc/ppu/ppu.hpp:172:10: note: did you mean struct here? friend class PPU::Object; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:173:10: warning: class 'Window' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Window; ^ ./bsnes/sfc/ppu/window.hpp:1:8: note: previous use is here struct Window { ^ ./bsnes/sfc/ppu/ppu.hpp:173:10: note: did you mean struct here? friend class PPU::Window; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:174:10: warning: class 'Screen' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Screen; ^ ./bsnes/sfc/ppu/screen.hpp:1:8: note: previous use is here struct Screen { ^ ./bsnes/sfc/ppu/ppu.hpp:174:10: note: did you mean struct here? friend class PPU::Screen; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:175:10: warning: class 'System' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class System; ^ ./bsnes/sfc/system/system.hpp:1:8: note: previous use is here struct System { ^ ./bsnes/sfc/ppu/ppu.hpp:175:10: note: did you mean struct here? friend class System; ^~~~~ struct In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:138: ./bsnes/sfc/ppu-fast/ppu.hpp:10:1: warning: 'PPUfast' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct PPU : PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:176:10: note: did you mean struct here? friend class PPUfast; ^~~~~ struct In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:142: In file included from ./bsnes/sfc/coprocessor/coprocessor.hpp:1: ./bsnes/sfc/coprocessor/icd/icd.hpp:13:8: warning: 'SuperFamicom::ICD::load' hides overloaded virtual function [-Woverloaded-virtual] auto load() -> bool; ^ ./bsnes/emulator/platform.hpp:18:16: note: hidden overloaded virtual function 'Emulator::Platform::load' declared here: different number of parameters (4 vs 0) virtual auto load(uint id, string name, string type, vector options = {}) -> Load { return {}; } ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:1:1: warning: 'Cartridge' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Cartridge { ^ ./bsnes/sfc/system/system.hpp:48:10: note: did you mean struct here? friend class Cartridge; ^~~~~ struct In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:123:10: warning: class 'ICD' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class ICD; ^ ./bsnes/sfc/coprocessor/icd/icd.hpp:1:8: note: previous use is here struct ICD : Emulator::Platform, Thread { ^ ./bsnes/sfc/cartridge/cartridge.hpp:123:10: note: did you mean struct here? friend class ICD; ^~~~~ struct In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:150: ./bsnes/sfc/interface/interface.hpp:33:1: warning: 'Interface' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Interface : Emulator::Interface { ^ ./bsnes/sfc/cartridge/cartridge.hpp:122:10: note: did you mean struct here? friend class Interface; ^~~~~ struct In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/cpu/cpu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ 78 warnings generated. c++ -c -o bsnes/sfc/smp/smp.o bsnes/sfc/smp/smp.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:14: ./bsnes/processor/upd96050/upd96050.hpp:61:19: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] bool _drs = drs & !drc; //when DRC=1, DRS=0 ^~~~~~~~~~ && ./bsnes/processor/upd96050/upd96050.hpp:61:19: note: cast one or both operands to int to silence this warning In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:157: ./bsnes/sfc/ppu/background.hpp:84:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:158: ./bsnes/sfc/ppu/object.hpp:90:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:159: ./bsnes/sfc/ppu/window.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:160: ./bsnes/sfc/ppu/screen.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: warning: class 'Background' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Background; ^ ./bsnes/sfc/ppu/background.hpp:1:8: note: previous use is here struct Background { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: note: did you mean struct here? friend class PPU::Background; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:172:10: warning: class 'Object' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Object; ^ ./bsnes/sfc/ppu/object.hpp:21:8: note: previous use is here struct Object { ^ ./bsnes/sfc/ppu/ppu.hpp:172:10: note: did you mean struct here? friend class PPU::Object; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:173:10: warning: class 'Window' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Window; ^ ./bsnes/sfc/ppu/window.hpp:1:8: note: previous use is here struct Window { ^ ./bsnes/sfc/ppu/ppu.hpp:173:10: note: did you mean struct here? friend class PPU::Window; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:174:10: warning: class 'Screen' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Screen; ^ ./bsnes/sfc/ppu/screen.hpp:1:8: note: previous use is here struct Screen { ^ ./bsnes/sfc/ppu/ppu.hpp:174:10: note: did you mean struct here? friend class PPU::Screen; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:175:10: warning: class 'System' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class System; ^ ./bsnes/sfc/system/system.hpp:1:8: note: previous use is here struct System { ^ ./bsnes/sfc/ppu/ppu.hpp:175:10: note: did you mean struct here? friend class System; ^~~~~ struct In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:138: ./bsnes/sfc/ppu-fast/ppu.hpp:10:1: warning: 'PPUfast' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct PPU : PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:176:10: note: did you mean struct here? friend class PPUfast; ^~~~~ struct In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:142: In file included from ./bsnes/sfc/coprocessor/coprocessor.hpp:1: ./bsnes/sfc/coprocessor/icd/icd.hpp:13:8: warning: 'SuperFamicom::ICD::load' hides overloaded virtual function [-Woverloaded-virtual] auto load() -> bool; ^ ./bsnes/emulator/platform.hpp:18:16: note: hidden overloaded virtual function 'Emulator::Platform::load' declared here: different number of parameters (4 vs 0) virtual auto load(uint id, string name, string type, vector options = {}) -> Load { return {}; } ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:1:1: warning: 'Cartridge' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Cartridge { ^ ./bsnes/sfc/system/system.hpp:48:10: note: did you mean struct here? friend class Cartridge; ^~~~~ struct In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:123:10: warning: class 'ICD' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class ICD; ^ ./bsnes/sfc/coprocessor/icd/icd.hpp:1:8: note: previous use is here struct ICD : Emulator::Platform, Thread { ^ ./bsnes/sfc/cartridge/cartridge.hpp:123:10: note: did you mean struct here? friend class ICD; ^~~~~ struct In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:150: ./bsnes/sfc/interface/interface.hpp:33:1: warning: 'Interface' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Interface : Emulator::Interface { ^ ./bsnes/sfc/cartridge/cartridge.hpp:122:10: note: did you mean struct here? friend class Interface; ^~~~~ struct In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/smp/smp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ 78 warnings generated. c++ -c -o bsnes/sfc/dsp/dsp.o bsnes/sfc/dsp/dsp.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:14: ./bsnes/processor/upd96050/upd96050.hpp:61:19: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] bool _drs = drs & !drc; //when DRC=1, DRS=0 ^~~~~~~~~~ && ./bsnes/processor/upd96050/upd96050.hpp:61:19: note: cast one or both operands to int to silence this warning In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:157: ./bsnes/sfc/ppu/background.hpp:84:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:158: ./bsnes/sfc/ppu/object.hpp:90:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:159: ./bsnes/sfc/ppu/window.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:160: ./bsnes/sfc/ppu/screen.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: warning: class 'Background' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Background; ^ ./bsnes/sfc/ppu/background.hpp:1:8: note: previous use is here struct Background { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: note: did you mean struct here? friend class PPU::Background; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:172:10: warning: class 'Object' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Object; ^ ./bsnes/sfc/ppu/object.hpp:21:8: note: previous use is here struct Object { ^ ./bsnes/sfc/ppu/ppu.hpp:172:10: note: did you mean struct here? friend class PPU::Object; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:173:10: warning: class 'Window' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Window; ^ ./bsnes/sfc/ppu/window.hpp:1:8: note: previous use is here struct Window { ^ ./bsnes/sfc/ppu/ppu.hpp:173:10: note: did you mean struct here? friend class PPU::Window; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:174:10: warning: class 'Screen' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Screen; ^ ./bsnes/sfc/ppu/screen.hpp:1:8: note: previous use is here struct Screen { ^ ./bsnes/sfc/ppu/ppu.hpp:174:10: note: did you mean struct here? friend class PPU::Screen; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:175:10: warning: class 'System' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class System; ^ ./bsnes/sfc/system/system.hpp:1:8: note: previous use is here struct System { ^ ./bsnes/sfc/ppu/ppu.hpp:175:10: note: did you mean struct here? friend class System; ^~~~~ struct In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:138: ./bsnes/sfc/ppu-fast/ppu.hpp:10:1: warning: 'PPUfast' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct PPU : PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:176:10: note: did you mean struct here? friend class PPUfast; ^~~~~ struct In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:142: In file included from ./bsnes/sfc/coprocessor/coprocessor.hpp:1: ./bsnes/sfc/coprocessor/icd/icd.hpp:13:8: warning: 'SuperFamicom::ICD::load' hides overloaded virtual function [-Woverloaded-virtual] auto load() -> bool; ^ ./bsnes/emulator/platform.hpp:18:16: note: hidden overloaded virtual function 'Emulator::Platform::load' declared here: different number of parameters (4 vs 0) virtual auto load(uint id, string name, string type, vector options = {}) -> Load { return {}; } ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:1:1: warning: 'Cartridge' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Cartridge { ^ ./bsnes/sfc/system/system.hpp:48:10: note: did you mean struct here? friend class Cartridge; ^~~~~ struct In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:123:10: warning: class 'ICD' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class ICD; ^ ./bsnes/sfc/coprocessor/icd/icd.hpp:1:8: note: previous use is here struct ICD : Emulator::Platform, Thread { ^ ./bsnes/sfc/cartridge/cartridge.hpp:123:10: note: did you mean struct here? friend class ICD; ^~~~~ struct In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:150: ./bsnes/sfc/interface/interface.hpp:33:1: warning: 'Interface' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Interface : Emulator::Interface { ^ ./bsnes/sfc/cartridge/cartridge.hpp:122:10: note: did you mean struct here? friend class Interface; ^~~~~ struct In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/dsp/dsp.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:136: ./bsnes/sfc/dsp/dsp.hpp:20:8: warning: private field 'fastDSP' is not used [-Wunused-private-field] bool fastDSP = false; ^ 79 warnings generated. c++ -c -o bsnes/sfc/ppu/ppu.o bsnes/sfc/ppu/ppu.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:14: ./bsnes/processor/upd96050/upd96050.hpp:61:19: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] bool _drs = drs & !drc; //when DRC=1, DRS=0 ^~~~~~~~~~ && ./bsnes/processor/upd96050/upd96050.hpp:61:19: note: cast one or both operands to int to silence this warning In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:157: bsnes/sfc/ppu/background.hpp:84:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:158: bsnes/sfc/ppu/object.hpp:90:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:159: bsnes/sfc/ppu/window.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:160: bsnes/sfc/ppu/screen.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: warning: class 'Background' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Background; ^ bsnes/sfc/ppu/background.hpp:1:8: note: previous use is here struct Background { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: note: did you mean struct here? friend class PPU::Background; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:172:10: warning: class 'Object' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Object; ^ bsnes/sfc/ppu/object.hpp:21:8: note: previous use is here struct Object { ^ ./bsnes/sfc/ppu/ppu.hpp:172:10: note: did you mean struct here? friend class PPU::Object; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:173:10: warning: class 'Window' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Window; ^ bsnes/sfc/ppu/window.hpp:1:8: note: previous use is here struct Window { ^ ./bsnes/sfc/ppu/ppu.hpp:173:10: note: did you mean struct here? friend class PPU::Window; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:174:10: warning: class 'Screen' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Screen; ^ bsnes/sfc/ppu/screen.hpp:1:8: note: previous use is here struct Screen { ^ ./bsnes/sfc/ppu/ppu.hpp:174:10: note: did you mean struct here? friend class PPU::Screen; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:175:10: warning: class 'System' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class System; ^ ./bsnes/sfc/system/system.hpp:1:8: note: previous use is here struct System { ^ ./bsnes/sfc/ppu/ppu.hpp:175:10: note: did you mean struct here? friend class System; ^~~~~ struct In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:138: ./bsnes/sfc/ppu-fast/ppu.hpp:10:1: warning: 'PPUfast' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct PPU : PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:176:10: note: did you mean struct here? friend class PPUfast; ^~~~~ struct In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:142: In file included from ./bsnes/sfc/coprocessor/coprocessor.hpp:1: ./bsnes/sfc/coprocessor/icd/icd.hpp:13:8: warning: 'SuperFamicom::ICD::load' hides overloaded virtual function [-Woverloaded-virtual] auto load() -> bool; ^ ./bsnes/emulator/platform.hpp:18:16: note: hidden overloaded virtual function 'Emulator::Platform::load' declared here: different number of parameters (4 vs 0) virtual auto load(uint id, string name, string type, vector options = {}) -> Load { return {}; } ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:1:1: warning: 'Cartridge' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Cartridge { ^ ./bsnes/sfc/system/system.hpp:48:10: note: did you mean struct here? friend class Cartridge; ^~~~~ struct In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:123:10: warning: class 'ICD' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class ICD; ^ ./bsnes/sfc/coprocessor/icd/icd.hpp:1:8: note: previous use is here struct ICD : Emulator::Platform, Thread { ^ ./bsnes/sfc/cartridge/cartridge.hpp:123:10: note: did you mean struct here? friend class ICD; ^~~~~ struct In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:150: ./bsnes/sfc/interface/interface.hpp:33:1: warning: 'Interface' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Interface : Emulator::Interface { ^ ./bsnes/sfc/cartridge/cartridge.hpp:122:10: note: did you mean struct here? friend class Interface; ^~~~~ struct In file included from bsnes/sfc/ppu/ppu.cpp:11: bsnes/sfc/ppu/window.cpp:46:17: warning: misleading indentation; statement is not part of the previous 'if' [-Wmisleading-indentation] return (one ^ two) == 3 - mask; ^ bsnes/sfc/ppu/window.cpp:45:3: note: previous statement is here if(mask == 1) return (one & two); ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/ppu/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ 79 warnings generated. c++ -c -o bsnes/sfc/ppu-fast/ppu.o bsnes/sfc/ppu-fast/ppu.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:14: ./bsnes/processor/upd96050/upd96050.hpp:61:19: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] bool _drs = drs & !drc; //when DRC=1, DRS=0 ^~~~~~~~~~ && ./bsnes/processor/upd96050/upd96050.hpp:61:19: note: cast one or both operands to int to silence this warning In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:157: ./bsnes/sfc/ppu/background.hpp:84:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:158: ./bsnes/sfc/ppu/object.hpp:90:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:159: ./bsnes/sfc/ppu/window.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:160: ./bsnes/sfc/ppu/screen.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: warning: class 'Background' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Background; ^ ./bsnes/sfc/ppu/background.hpp:1:8: note: previous use is here struct Background { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: note: did you mean struct here? friend class PPU::Background; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:172:10: warning: class 'Object' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Object; ^ ./bsnes/sfc/ppu/object.hpp:21:8: note: previous use is here struct Object { ^ ./bsnes/sfc/ppu/ppu.hpp:172:10: note: did you mean struct here? friend class PPU::Object; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:173:10: warning: class 'Window' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Window; ^ ./bsnes/sfc/ppu/window.hpp:1:8: note: previous use is here struct Window { ^ ./bsnes/sfc/ppu/ppu.hpp:173:10: note: did you mean struct here? friend class PPU::Window; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:174:10: warning: class 'Screen' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Screen; ^ ./bsnes/sfc/ppu/screen.hpp:1:8: note: previous use is here struct Screen { ^ ./bsnes/sfc/ppu/ppu.hpp:174:10: note: did you mean struct here? friend class PPU::Screen; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:175:10: warning: class 'System' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class System; ^ ./bsnes/sfc/system/system.hpp:1:8: note: previous use is here struct System { ^ ./bsnes/sfc/ppu/ppu.hpp:175:10: note: did you mean struct here? friend class System; ^~~~~ struct In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:138: ./bsnes/sfc/ppu-fast/ppu.hpp:10:1: warning: 'PPUfast' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct PPU : PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:176:10: note: did you mean struct here? friend class PPUfast; ^~~~~ struct In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:142: In file included from ./bsnes/sfc/coprocessor/coprocessor.hpp:1: ./bsnes/sfc/coprocessor/icd/icd.hpp:13:8: warning: 'SuperFamicom::ICD::load' hides overloaded virtual function [-Woverloaded-virtual] auto load() -> bool; ^ ./bsnes/emulator/platform.hpp:18:16: note: hidden overloaded virtual function 'Emulator::Platform::load' declared here: different number of parameters (4 vs 0) virtual auto load(uint id, string name, string type, vector options = {}) -> Load { return {}; } ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:1:1: warning: 'Cartridge' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Cartridge { ^ ./bsnes/sfc/system/system.hpp:48:10: note: did you mean struct here? friend class Cartridge; ^~~~~ struct In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:123:10: warning: class 'ICD' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class ICD; ^ ./bsnes/sfc/coprocessor/icd/icd.hpp:1:8: note: previous use is here struct ICD : Emulator::Platform, Thread { ^ ./bsnes/sfc/cartridge/cartridge.hpp:123:10: note: did you mean struct here? friend class ICD; ^~~~~ struct In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:150: ./bsnes/sfc/interface/interface.hpp:33:1: warning: 'Interface' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Interface : Emulator::Interface { ^ ./bsnes/sfc/cartridge/cartridge.hpp:122:10: note: did you mean struct here? friend class Interface; ^~~~~ struct In file included from bsnes/sfc/ppu-fast/ppu.cpp:15: bsnes/sfc/ppu-fast/mode7hd.cpp:103:19: warning: array index -1 is before the beginning of the array [-Warray-bounds] Pixel* above = &this->above[-1]; ^ ~~ ./bsnes/sfc/ppu-fast/ppu.hpp:338:5: note: array 'above' declared here Pixel above[256 * 9 * 9]; ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:15: bsnes/sfc/ppu-fast/mode7hd.cpp:104:19: warning: array index -1 is before the beginning of the array [-Warray-bounds] Pixel* below = &this->below[-1]; ^ ~~ ./bsnes/sfc/ppu-fast/ppu.hpp:339:5: note: array 'below' declared here Pixel below[256 * 9 * 9]; ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/ppu-fast/ppu.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ 80 warnings generated. c++ -c -o bsnes/sfc/expansion/expansion.o bsnes/sfc/expansion/expansion.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:14: ./bsnes/processor/upd96050/upd96050.hpp:61:19: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] bool _drs = drs & !drc; //when DRC=1, DRS=0 ^~~~~~~~~~ && ./bsnes/processor/upd96050/upd96050.hpp:61:19: note: cast one or both operands to int to silence this warning In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:157: ./bsnes/sfc/ppu/background.hpp:84:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:158: ./bsnes/sfc/ppu/object.hpp:90:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:159: ./bsnes/sfc/ppu/window.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:160: ./bsnes/sfc/ppu/screen.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: warning: class 'Background' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Background; ^ ./bsnes/sfc/ppu/background.hpp:1:8: note: previous use is here struct Background { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: note: did you mean struct here? friend class PPU::Background; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:172:10: warning: class 'Object' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Object; ^ ./bsnes/sfc/ppu/object.hpp:21:8: note: previous use is here struct Object { ^ ./bsnes/sfc/ppu/ppu.hpp:172:10: note: did you mean struct here? friend class PPU::Object; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:173:10: warning: class 'Window' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Window; ^ ./bsnes/sfc/ppu/window.hpp:1:8: note: previous use is here struct Window { ^ ./bsnes/sfc/ppu/ppu.hpp:173:10: note: did you mean struct here? friend class PPU::Window; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:174:10: warning: class 'Screen' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Screen; ^ ./bsnes/sfc/ppu/screen.hpp:1:8: note: previous use is here struct Screen { ^ ./bsnes/sfc/ppu/ppu.hpp:174:10: note: did you mean struct here? friend class PPU::Screen; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:175:10: warning: class 'System' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class System; ^ ./bsnes/sfc/system/system.hpp:1:8: note: previous use is here struct System { ^ ./bsnes/sfc/ppu/ppu.hpp:175:10: note: did you mean struct here? friend class System; ^~~~~ struct In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:138: ./bsnes/sfc/ppu-fast/ppu.hpp:10:1: warning: 'PPUfast' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct PPU : PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:176:10: note: did you mean struct here? friend class PPUfast; ^~~~~ struct In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:142: In file included from ./bsnes/sfc/coprocessor/coprocessor.hpp:1: ./bsnes/sfc/coprocessor/icd/icd.hpp:13:8: warning: 'SuperFamicom::ICD::load' hides overloaded virtual function [-Woverloaded-virtual] auto load() -> bool; ^ ./bsnes/emulator/platform.hpp:18:16: note: hidden overloaded virtual function 'Emulator::Platform::load' declared here: different number of parameters (4 vs 0) virtual auto load(uint id, string name, string type, vector options = {}) -> Load { return {}; } ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:1:1: warning: 'Cartridge' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Cartridge { ^ ./bsnes/sfc/system/system.hpp:48:10: note: did you mean struct here? friend class Cartridge; ^~~~~ struct In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:123:10: warning: class 'ICD' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class ICD; ^ ./bsnes/sfc/coprocessor/icd/icd.hpp:1:8: note: previous use is here struct ICD : Emulator::Platform, Thread { ^ ./bsnes/sfc/cartridge/cartridge.hpp:123:10: note: did you mean struct here? friend class ICD; ^~~~~ struct In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:150: ./bsnes/sfc/interface/interface.hpp:33:1: warning: 'Interface' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Interface : Emulator::Interface { ^ ./bsnes/sfc/cartridge/cartridge.hpp:122:10: note: did you mean struct here? friend class Interface; ^~~~~ struct In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/expansion/expansion.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ 78 warnings generated. c++ -c -o bsnes/sfc/coprocessor/coprocessor.o bsnes/sfc/coprocessor/coprocessor.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:14: ./bsnes/processor/upd96050/upd96050.hpp:61:19: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] bool _drs = drs & !drc; //when DRC=1, DRS=0 ^~~~~~~~~~ && ./bsnes/processor/upd96050/upd96050.hpp:61:19: note: cast one or both operands to int to silence this warning In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:157: ./bsnes/sfc/ppu/background.hpp:84:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:158: ./bsnes/sfc/ppu/object.hpp:90:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:159: ./bsnes/sfc/ppu/window.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:160: ./bsnes/sfc/ppu/screen.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: warning: class 'Background' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Background; ^ ./bsnes/sfc/ppu/background.hpp:1:8: note: previous use is here struct Background { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: note: did you mean struct here? friend class PPU::Background; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:172:10: warning: class 'Object' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Object; ^ ./bsnes/sfc/ppu/object.hpp:21:8: note: previous use is here struct Object { ^ ./bsnes/sfc/ppu/ppu.hpp:172:10: note: did you mean struct here? friend class PPU::Object; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:173:10: warning: class 'Window' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Window; ^ ./bsnes/sfc/ppu/window.hpp:1:8: note: previous use is here struct Window { ^ ./bsnes/sfc/ppu/ppu.hpp:173:10: note: did you mean struct here? friend class PPU::Window; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:174:10: warning: class 'Screen' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Screen; ^ ./bsnes/sfc/ppu/screen.hpp:1:8: note: previous use is here struct Screen { ^ ./bsnes/sfc/ppu/ppu.hpp:174:10: note: did you mean struct here? friend class PPU::Screen; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:175:10: warning: class 'System' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class System; ^ ./bsnes/sfc/system/system.hpp:1:8: note: previous use is here struct System { ^ ./bsnes/sfc/ppu/ppu.hpp:175:10: note: did you mean struct here? friend class System; ^~~~~ struct In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:138: ./bsnes/sfc/ppu-fast/ppu.hpp:10:1: warning: 'PPUfast' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct PPU : PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:176:10: note: did you mean struct here? friend class PPUfast; ^~~~~ struct In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:142: In file included from ./bsnes/sfc/coprocessor/coprocessor.hpp:1: ./bsnes/sfc/coprocessor/icd/icd.hpp:13:8: warning: 'SuperFamicom::ICD::load' hides overloaded virtual function [-Woverloaded-virtual] auto load() -> bool; ^ ./bsnes/emulator/platform.hpp:18:16: note: hidden overloaded virtual function 'Emulator::Platform::load' declared here: different number of parameters (4 vs 0) virtual auto load(uint id, string name, string type, vector options = {}) -> Load { return {}; } ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:1:1: warning: 'Cartridge' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Cartridge { ^ ./bsnes/sfc/system/system.hpp:48:10: note: did you mean struct here? friend class Cartridge; ^~~~~ struct In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:123:10: warning: class 'ICD' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class ICD; ^ ./bsnes/sfc/coprocessor/icd/icd.hpp:1:8: note: previous use is here struct ICD : Emulator::Platform, Thread { ^ ./bsnes/sfc/cartridge/cartridge.hpp:123:10: note: did you mean struct here? friend class ICD; ^~~~~ struct In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:150: ./bsnes/sfc/interface/interface.hpp:33:1: warning: 'Interface' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Interface : Emulator::Interface { ^ ./bsnes/sfc/cartridge/cartridge.hpp:122:10: note: did you mean struct here? friend class Interface; ^~~~~ struct In file included from bsnes/sfc/coprocessor/coprocessor.cpp:11: In file included from ./bsnes/sfc/coprocessor/necdsp/necdsp.cpp:2: In file included from ./bsnes/processor/upd96050/upd96050.cpp:6: ./bsnes/processor/upd96050/instructions.cpp:114:18: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] flag.ov1 = flag.ov0 & flag.ov1 ? flag.s0 == flag.s1 : flag.ov0 | flag.ov1; ^~~~~~~~~~~~~~~~~~~ && ./bsnes/processor/upd96050/instructions.cpp:114:18: note: cast one or both operands to int to silence this warning ./bsnes/processor/upd96050/instructions.cpp:114:61: warning: use of bitwise '|' with boolean operands [-Wbitwise-instead-of-logical] flag.ov1 = flag.ov0 & flag.ov1 ? flag.s0 == flag.s1 : flag.ov0 | flag.ov1; ^~~~~~~~~~~~~~~~~~~ || ./bsnes/processor/upd96050/instructions.cpp:114:61: note: cast one or both operands to int to silence this warning In file included from bsnes/sfc/coprocessor/coprocessor.cpp:22: In file included from ./bsnes/sfc/coprocessor/cx4/cx4.cpp:10: ./bsnes/sfc/coprocessor/cx4/opcodes.cpp:109:18: warning: assigning field to itself [-Wself-assign-field] C41FAngleRes = C41FAngleRes; ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:23: In file included from ./bsnes/sfc/coprocessor/dsp1/dsp1.cpp:15: ./bsnes/sfc/coprocessor/dsp1/dsp1emu.cpp:1153:7: warning: use of unary operator that may be intended as compound assignment (-=) C11=- (Px*shared.Nx>>15); ^~ ./bsnes/sfc/coprocessor/dsp1/dsp1emu.cpp:1154:6: warning: use of unary operator that may be intended as compound assignment (-=) C8=- (Py*shared.Ny>>15); ^~ ./bsnes/sfc/coprocessor/dsp1/dsp1emu.cpp:1155:6: warning: use of unary operator that may be intended as compound assignment (-=) C9=- (Pz*shared.Nz>>15); ^~ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/coprocessor/coprocessor.cpp:1: In file included from ./bsnes/sfc/coprocessor/icd/icd.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:142: In file included from ./bsnes/sfc/coprocessor/coprocessor.hpp:17: In file included from ./bsnes/sfc/coprocessor/sdd1/sdd1.hpp:35: ./bsnes/sfc/coprocessor/sdd1/decompressor.hpp:9:19: warning: private field 'self' is not used [-Wunused-private-field] Decompressor& self; ^ 85 warnings generated. c++ -c -o bsnes/sfc/slot/slot.o bsnes/sfc/slot/slot.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:14: ./bsnes/processor/upd96050/upd96050.hpp:61:19: warning: use of bitwise '&' with boolean operands [-Wbitwise-instead-of-logical] bool _drs = drs & !drc; //when DRC=1, DRS=0 ^~~~~~~~~~ && ./bsnes/processor/upd96050/upd96050.hpp:61:19: note: cast one or both operands to int to silence this warning In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:157: ./bsnes/sfc/ppu/background.hpp:84:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:158: ./bsnes/sfc/ppu/object.hpp:90:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:159: ./bsnes/sfc/ppu/window.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:137: In file included from ./bsnes/sfc/ppu/ppu.hpp:160: ./bsnes/sfc/ppu/screen.hpp:46:10: warning: class 'PPU' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU; ^ ./bsnes/sfc/ppu/ppu.hpp:1:8: note: previous use is here struct PPU : Thread, PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: warning: class 'Background' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Background; ^ ./bsnes/sfc/ppu/background.hpp:1:8: note: previous use is here struct Background { ^ ./bsnes/sfc/ppu/ppu.hpp:171:10: note: did you mean struct here? friend class PPU::Background; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:172:10: warning: class 'Object' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Object; ^ ./bsnes/sfc/ppu/object.hpp:21:8: note: previous use is here struct Object { ^ ./bsnes/sfc/ppu/ppu.hpp:172:10: note: did you mean struct here? friend class PPU::Object; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:173:10: warning: class 'Window' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Window; ^ ./bsnes/sfc/ppu/window.hpp:1:8: note: previous use is here struct Window { ^ ./bsnes/sfc/ppu/ppu.hpp:173:10: note: did you mean struct here? friend class PPU::Window; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:174:10: warning: class 'Screen' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class PPU::Screen; ^ ./bsnes/sfc/ppu/screen.hpp:1:8: note: previous use is here struct Screen { ^ ./bsnes/sfc/ppu/ppu.hpp:174:10: note: did you mean struct here? friend class PPU::Screen; ^~~~~ struct ./bsnes/sfc/ppu/ppu.hpp:175:10: warning: class 'System' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class System; ^ ./bsnes/sfc/system/system.hpp:1:8: note: previous use is here struct System { ^ ./bsnes/sfc/ppu/ppu.hpp:175:10: note: did you mean struct here? friend class System; ^~~~~ struct In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:138: ./bsnes/sfc/ppu-fast/ppu.hpp:10:1: warning: 'PPUfast' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct PPU : PPUcounter { ^ ./bsnes/sfc/ppu/ppu.hpp:176:10: note: did you mean struct here? friend class PPUfast; ^~~~~ struct In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:142: In file included from ./bsnes/sfc/coprocessor/coprocessor.hpp:1: ./bsnes/sfc/coprocessor/icd/icd.hpp:13:8: warning: 'SuperFamicom::ICD::load' hides overloaded virtual function [-Woverloaded-virtual] auto load() -> bool; ^ ./bsnes/emulator/platform.hpp:18:16: note: hidden overloaded virtual function 'Emulator::Platform::load' declared here: different number of parameters (4 vs 0) virtual auto load(uint id, string name, string type, vector options = {}) -> Load { return {}; } ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:1:1: warning: 'Cartridge' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Cartridge { ^ ./bsnes/sfc/system/system.hpp:48:10: note: did you mean struct here? friend class Cartridge; ^~~~~ struct In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:144: ./bsnes/sfc/cartridge/cartridge.hpp:123:10: warning: class 'ICD' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class ICD; ^ ./bsnes/sfc/coprocessor/icd/icd.hpp:1:8: note: previous use is here struct ICD : Emulator::Platform, Thread { ^ ./bsnes/sfc/cartridge/cartridge.hpp:123:10: note: did you mean struct here? friend class ICD; ^~~~~ struct In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:150: ./bsnes/sfc/interface/interface.hpp:33:1: warning: 'Interface' defined as a struct here but previously declared as a class; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] struct Interface : Emulator::Interface { ^ ./bsnes/sfc/cartridge/cartridge.hpp:122:10: note: did you mean struct here? friend class Interface; ^~~~~ struct In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/sfc/slot/slot.cpp:1: In file included from ./bsnes/sfc/slot/bsmemory/bsmemory.cpp:1: In file included from ./bsnes/sfc/sfc.hpp:6: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ 78 warnings generated. c++ -c -o bsnes/processor/arm7tdmi/arm7tdmi.o bsnes/processor/arm7tdmi/arm7tdmi.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/processor/arm7tdmi/arm7tdmi.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ 63 warnings generated. c++ -c -o bsnes/processor/spc700/spc700.o bsnes/processor/spc700/spc700.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/processor/spc700/spc700.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ 63 warnings generated. c++ -c -o bsnes/processor/wdc65816/wdc65816.o bsnes/processor/wdc65816/wdc65816.cpp -std=c++17 -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:8: In file included from ./nall/chrono.hpp:4: In file included from ./nall/string.hpp:360: ./nall/string/markup/node.hpp:43:10: warning: class 'Node' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Node; ^ ./nall/string/markup/node.hpp:5:8: note: previous use is here struct Node; ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:171:45: warning: all paths through this function will call itself [-Winfinite-recursion] inline auto square(const Pair& lhs) -> Pair { ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:18:49: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] explicit constexpr Pair(const Pair& source) : hi(source.hi), lo(source.lo) {} ^~~~~~~~~~~~~ ~~~~~~~~~~~~~ lo(source.lo) hi(source.hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:27:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator~() const -> Pair { return {~hi, ~lo}; } ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:261:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {lhs.lo << (shift - TypeBits), 0}; ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:271:12: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here return {0, lhs.hi >> (shift - TypeBits)}; ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: ./nall/file.hpp:38:71: warning: all paths through this function will call itself [-Winfinite-recursion] static auto truncate(const string& filename, uint64_t size) -> bool { ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:15: ./nall/random.hpp:91:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:91:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:125:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:125:10: note: did you mean struct here? friend class RNG; ^~~~~ struct ./nall/random.hpp:155:10: warning: class 'RNG' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class RNG; ^ ./nall/random.hpp:24:32: note: previous use is here template struct RNG { ^ ./nall/random.hpp:155:10: note: did you mean struct here? friend class RNG; ^~~~~ struct In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:30: ./bsnes/emulator/audio/audio.hpp:42:10: warning: class 'Stream' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Stream; ^ ./bsnes/emulator/audio/audio.hpp:13:8: note: previous use is here struct Stream; ^ ./bsnes/emulator/audio/audio.hpp:87:10: warning: class 'Audio' was previously declared as a struct; this is valid, but may result in linker errors under the Microsoft C++ ABI [-Wmismatched-tags] friend class Audio; ^ ./bsnes/emulator/audio/audio.hpp:15:8: note: previous use is here struct Audio { ^ ./bsnes/emulator/audio/audio.hpp:87:10: note: did you mean struct here? friend class Audio; ^~~~~ struct In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :368:1: note: expanded from here uint256_t ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :325:1: note: expanded from here uint512_t ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint256_t ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :320:1: note: expanded from here uint1024_t ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:45: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint512_t::uint512_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :403:1: note: expanded from here uint512_t ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :359:1: note: expanded from here uint2048_t ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:53: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint1024_t::uint1024_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :2:1: note: expanded from here uint1024_t ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :58:1: note: expanded from here uint4096_t ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:61: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint2048_t::uint2048_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :67:1: note: expanded from here uint2048_t ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:26:43: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here auto operator-() const -> Pair { return Pair(0) - *this; } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :127:1: note: expanded from here uint8192_t ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:69: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:56:82: note: in instantiation of function template specialization 'nall::uint4096_t::uint4096_t' requested here template auto& operator+= (const T& rhs) { return *this = *this + Pair(rhs); } ^ ./nall/arithmetic/natural.hpp:6:14: note: expanded from macro 'Pair' #define Pair DeclareType(PairBits) ^ ./nall/arithmetic/natural.hpp:4:27: note: expanded from macro 'DeclareType' #define DeclareType(Size) ConcatenateType(Size) ^ ./nall/arithmetic/natural.hpp:3:31: note: expanded from macro 'ConcatenateType' #define ConcatenateType(Size) uint##Size##_t ^ :136:1: note: expanded from here uint4096_t ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:77: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:69:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator<<(const T& rhs) const { return Cast(*this) << Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:67:84: note: in instantiation of function template specialization 'nall::uint8192_t::uint8192_t' requested here template auto operator+ (const T& rhs) const { return Cast(*this) + Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ In file included from bsnes/processor/wdc65816/wdc65816.cpp:1: In file included from ./bsnes/processor/processor.hpp:3: In file included from ./bsnes/emulator/emulator.hpp:13: In file included from ./nall/image.hpp:5: In file included from ./nall/file-map.hpp:3: In file included from ./nall/file.hpp:3: In file included from ./nall/file-buffer.hpp:12: In file included from ./nall/hash/sha256.hpp:3: In file included from ./nall/hash/hash.hpp:3: In file included from ./nall/arithmetic.hpp:37: ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ ./nall/arithmetic/natural.hpp:19:83: warning: field 'hi' will be initialized after field 'lo' [-Wreorder-ctor] template constexpr Pair(const Hi& hi, const Lo& lo) : hi(hi), lo(lo) {} ^~~~~~ ~~~~~~ lo(lo) hi(hi) ./nall/arithmetic/natural.hpp:136:9: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here lhs = {0, rhs}; ^ ./nall/arithmetic/natural.hpp:20:48: note: in instantiation of function template specialization 'nall::_set' requested here template Pair(const T& source) { _set(*this, source); } ^ ./nall/arithmetic/natural.hpp:72:84: note: in instantiation of function template specialization 'nall::uint256_t::uint256_t' requested here template auto operator| (const T& rhs) const { return Cast(*this) | Cast(rhs); } ^ ./nall/arithmetic/natural.hpp:11:14: note: expanded from macro 'Cast' #define Cast (typename conditional= sizeof(T), Pair, T>::type) ^ 63 warnings generated. cc -c -o libco/libco.o libco/libco.c -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" cc -c -o bsnes/gb/Core/apu.o bsnes/gb/Core/apu.c -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" cc -c -o bsnes/gb/Core/camera.o bsnes/gb/Core/camera.c -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" cc -c -o bsnes/gb/Core/display.o bsnes/gb/Core/display.c -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" cc -c -o bsnes/gb/Core/gb.o bsnes/gb/Core/gb.c -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" cc -c -o bsnes/gb/Core/joypad.o bsnes/gb/Core/joypad.c -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" cc -c -o bsnes/gb/Core/mbc.o bsnes/gb/Core/mbc.c -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" cc -c -o bsnes/gb/Core/memory.o bsnes/gb/Core/memory.c -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" cc -c -o bsnes/gb/Core/printer.o bsnes/gb/Core/printer.c -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" cc -c -o bsnes/gb/Core/random.o bsnes/gb/Core/random.c -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" cc -c -o bsnes/gb/Core/rewind.o bsnes/gb/Core/rewind.c -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" cc -c -o bsnes/gb/Core/rumble.o bsnes/gb/Core/rumble.c -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" cc -c -o bsnes/gb/Core/save_state.o bsnes/gb/Core/save_state.c -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" cc -c -o bsnes/gb/Core/sgb.o bsnes/gb/Core/sgb.c -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" cc -c -o bsnes/gb/Core/sm83_cpu.o bsnes/gb/Core/sm83_cpu.c -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" bsnes/gb/Core/sm83_cpu.c:1357:17: warning: converting the result of '<<' to a boolean; did you mean '(value << 1) != 0'? [-Wint-in-bool-context] if (!(value << 1)) { ^ 1 warning generated. cc -c -o bsnes/gb/Core/symbol_hash.o bsnes/gb/Core/symbol_hash.c -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" cc -c -o bsnes/gb/Core/timing.o bsnes/gb/Core/timing.c -O3 -fPIC -I. -I./bsnes -I./bsnes/gb -I./bsnes/sfc -Wall -Wno-sign-compare -Wno-unused-variable -Wno-unused-function -Wno-uninitialized -Wno-strict-aliasing -DSTDC_HEADERS -D__STDC_LIMIT_MACROS -D__LIBRETRO__ -DSFC_LAGFIX -DGB_INTERNAL -DGB_DISABLE_DEBUGGER -DGB_DISABLE_CHEATS -DGB_VERSION=\"0.14.7\" c++ -o bsnes_libretro.so bsnes/target-libretro/program.o bsnes/target-libretro/libretro.o bsnes/emulator/emulator.o bsnes/filter/filter.o bsnes/lzma/lzma.o bsnes/sfc/interface/interface.o bsnes/sfc/system/system.o bsnes/sfc/controller/controller.o bsnes/sfc/cartridge/cartridge.o bsnes/sfc/memory/memory.o bsnes/sfc/cpu/cpu.o bsnes/sfc/smp/smp.o bsnes/sfc/dsp/dsp.o bsnes/sfc/ppu/ppu.o bsnes/sfc/ppu-fast/ppu.o bsnes/sfc/expansion/expansion.o bsnes/sfc/coprocessor/coprocessor.o bsnes/sfc/slot/slot.o bsnes/processor/arm7tdmi/arm7tdmi.o bsnes/processor/spc700/spc700.o bsnes/processor/wdc65816/wdc65816.o libco/libco.o bsnes/gb/Core/apu.o bsnes/gb/Core/camera.o bsnes/gb/Core/display.o bsnes/gb/Core/gb.o bsnes/gb/Core/joypad.o bsnes/gb/Core/mbc.o bsnes/gb/Core/memory.o bsnes/gb/Core/printer.o bsnes/gb/Core/random.o bsnes/gb/Core/rewind.o bsnes/gb/Core/rumble.o bsnes/gb/Core/save_state.o bsnes/gb/Core/sgb.o bsnes/gb/Core/sm83_cpu.o bsnes/gb/Core/symbol_hash.o bsnes/gb/Core/timing.o -fstack-protector-strong -ldl -fPIC -shared -Wl,--no-undefined -Wl,--version-script=./bsnes/target-libretro/link.T =========================================================================== =================================================== ===== env: USE_PACKAGE_DEPENDS_ONLY=1 USER=root UID=0 GID=0 =========================================================================== =================================================== ===== env: NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Staging for libretro-bsnes-115.a.20231101_1,1 ===> Generating temporary packing list install -s -m 0644 /wrkdirs/usr/ports/emulators/libretro-bsnes/work/bsnes-libretro-0685381/bsnes_libretro.so /wrkdirs/usr/ports/emulators/libretro-bsnes/work/stage//usr/local/lib/libretro; ====> Compressing man pages (compress-man) =========================================================================== =================================================== ===== env: 'PKG_NOTES=build_timestamp ports_top_git_hash ports_top_checkout_unclean port_git_hash port_checkout_unclean built_by' 'PKG_NOTE_build_timestamp=2024-03-30T14:20:28+0000' 'PKG_NOTE_ports_top_git_hash=c2c35d895e' 'PKG_NOTE_ports_top_checkout_unclean=yes' 'PKG_NOTE_port_git_hash=f60288f8df' 'PKG_NOTE_port_checkout_unclean=no' 'PKG_NOTE_built_by=poudriere-git-3.4.99.20240122_1' NO_DEPENDS=yes USER=root UID=0 GID=0 ===> Building packages for libretro-bsnes-115.a.20231101_1,1 ===> Building libretro-bsnes-115.a.20231101_1,1 =========================================================================== =>> Cleaning up wrkdir ===> Cleaning for libretro-bsnes-115.a.20231101_1,1 build of emulators/libretro-bsnes | libretro-bsnes-115.a.20231101_1,1 ended at Sat Mar 30 14:28:33 GMT 2024 build time: 00:08:13