https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84856
Bug ID: 84856 Summary: Bootstrap failure on riscv: comparison of integer expressions of different signedness Product: gcc Version: 8.0.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: bootstrap Assignee: unassigned at gcc dot gnu.org Reporter: belyshev at depni dot sinp.msu.ru Target Milestone: --- Target: riscv*-*-* On RISC-V STACK_BOUNDARY and BIGGEST_ALIGNMENT are defined to an unsigned varible, unlike most other architectures where they are constants, triggering bootstrap failure with: ../../gcc/gcc/calls.c: In function 'poly_int64 compute_argument_block_size(int, args_size*, tree, tree, int)': ../../gcc/gcc/calls.c:2201:60: error: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Werror=sign-compare] if (ACCUMULATE_OUTGOING_ARGS && preferred_stack_boundary > STACK_BOUNDARY) ../../gcc/gcc/final.c: In function 'int final_addr_vec_align(rtx_jump_table_data*)': ../../gcc/gcc/final.c:521:13: error: comparison of integer expressions of different signedness: 'int' and 'unsigned int' [-Werror=sign-compare] if (align > BIGGEST_ALIGNMENT / BITS_PER_UNIT) The fix would be to change appropriate variables also to unsigned. (Also may as well to remove ATTRIBUTE_UNUSED annotations on of compute_argument_block_size(), which are no longer useful since r44814.