(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.
This commit is contained in:
KONRAD Frederic 2019-02-13 22:37:11 -05:00 committed by Joel Brobecker
parent c559d7096b
commit 2988d01ea5
2 changed files with 5 additions and 0 deletions

View File

@ -1,3 +1,7 @@
2019-02-14 Frederic Konrad <konrad@adacore.com>
* riscv-rdep.c (riscv_type_alignment): Handle TYPE_CODE_RANGE.
2019-02-14 Joel Brobecker <brobecker@adacore.com>
* windows-nat.c (windows_add_thread): Add new parameter

View File

@ -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: