Hi, Eli Zaretskii via Gcc-bugs <gcc-bugs@gcc.gnu.org> writes: > The version of rust-demangle.c included with Binutils 2.37 doesn't > compile with MinGW: > > mingw32-gcc -c -DHAVE_CONFIG_H -O2 -gdwarf-4 -g3 -I. > -I../../binutils-2.37/libiberty/../include -W -Wall -Wwrite-strings > -Wc++-compat -Wstrict-prototypes -Wshadow=local -pedantic -D_GNU_SOURCE > ../../binutils-2.37/libiberty/rust-demangle.c -o rust-demangle.o > ../../binutils-2.37/libiberty/rust-demangle.c:84:3: error: unknown type > name 'uint' > 84 | uint recursion; > | ^~~~ > ../../binutils-2.37/libiberty/rust-demangle.c: In function > 'demangle_path': > ../../binutils-2.37/libiberty/rust-demangle.c:87:37: error: 'uint' > undeclared (first use in this function); did you mean 'int'? > 87 | #define RUST_NO_RECURSION_LIMIT ((uint) -1) > | ^~~~ > ../../binutils-2.37/libiberty/rust-demangle.c:686:25: note: in expansion > of macro 'RUST_NO_RECURSION_LIMIT' > 686 | if (rdm->recursion != RUST_NO_RECURSION_LIMIT) > | ^~~~~~~~~~~~~~~~~~~~~~~ > ../../binutils-2.37/libiberty/rust-demangle.c:87:37: note: each > undeclared identifier is reported only once for each function it appears in > 87 | #define RUST_NO_RECURSION_LIMIT ((uint) -1) > | ^~~~ > ../../binutils-2.37/libiberty/rust-demangle.c:686:25: note: in expansion > of macro 'RUST_NO_RECURSION_LIMIT' > 686 | if (rdm->recursion != RUST_NO_RECURSION_LIMIT) > | ^~~~~~~~~~~~~~~~~~~~~~~ > ../../binutils-2.37/libiberty/rust-demangle.c: In function > 'rust_demangle_callback': > ../../binutils-2.37/libiberty/rust-demangle.c:87:37: error: 'uint' > undeclared (first use in this function); did you mean 'int'? > 87 | #define RUST_NO_RECURSION_LIMIT ((uint) -1) > | ^~~~ > ../../binutils-2.37/libiberty/rust-demangle.c:1347:55: note: in > expansion of macro 'RUST_NO_RECURSION_LIMIT' > 1347 | rdm.recursion = (options & DMGL_NO_RECURSE_LIMIT) ? > RUST_NO_RECURSION_LIMIT : 0; > | > ^~~~~~~~~~~~~~~~~~~~~~~ > > This is because the data type 'uint' is not defined in the MinGW > headers. I used uint32_t instead, and it compiled OK.
This list is mostly just a bugzilla feed and so isn't widely read. Could you file a PR? Thanks, Richard