From: KONRAD Frederic Date: Thu, 14 Feb 2019 03:37:11 +0000 (-0500) Subject: (riscv/ada) fix error when calling functions with range argument X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=2988d01ea5fcc474a9b714d2148bab5fcf4e4be8;p=binutils-gdb.git (riscv/ada) fix error when calling functions with range argument Using the gdb.ada/call_pn.exp testcase, and running it by hand on riscv64-elf, we get the following error: (gdb) call pn(55) Could not compute alignment of type The problem occurs because the parameter's type is a TYPE_CODE_RANGE, and that type code is not handled by riscv_type_alignment. So this patch fixes the issue by handling TYPE_CODE_RANGE the same way we handle other integral types. gdb/ChangeLog: * riscv-rdep.c (riscv_type_alignment): Handle TYPE_CODE_RANGE. Tested on riscv64-elf using AdaCore's testsuite. --- diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 0dec9b00c0d..34fe174cb2a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,7 @@ +2019-02-14 Frederic Konrad + + * riscv-rdep.c (riscv_type_alignment): Handle TYPE_CODE_RANGE. + 2019-02-14 Joel Brobecker * windows-nat.c (windows_add_thread): Add new parameter diff --git a/gdb/riscv-tdep.c b/gdb/riscv-tdep.c index fb5e2c59e0c..3e8f56450eb 100644 --- a/gdb/riscv-tdep.c +++ b/gdb/riscv-tdep.c @@ -1632,6 +1632,7 @@ riscv_type_alignment (struct type *t) default: error (_("Could not compute alignment of type")); + case TYPE_CODE_RANGE: case TYPE_CODE_RVALUE_REF: case TYPE_CODE_PTR: case TYPE_CODE_ENUM: