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

Reply via email to