]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commit
Handle fixed-point types in amd64_classify
authorTom Tromey <tromey@adacore.com>
Tue, 10 Feb 2026 14:47:42 +0000 (07:47 -0700)
committerTom Tromey <tromey@adacore.com>
Fri, 13 Feb 2026 20:37:41 +0000 (13:37 -0700)
commit2cdb01e167ed486d02e9a4aff98936b77597a352
tree9622cdab68ca5223219ff84c97390a9c44c7d8ad
parent1f5f99c4b310e8c5c760d76246e0b20e8532c294
Handle fixed-point types in amd64_classify

gdb.ada/fixed_points_function.exp was failing when compiled with
gnat-llvm.  Debugging showed that this was a gdb bug that was hidden
by differences in the DWARF generated by gcc and gnat-llvm.

In particular, gcc emitted a DW_TAG_subrange_type (a subrange of the
fixed-point type) for the function's parameter type, whereas gnat-llvm
used a fixed-point type directly.

Then, the test failed because amd64_classify recognizes subrange types
but not fixed-point types.  Under the hood, fixed-point types are
really just integers, so the fix is to handle these directly in
amd64_classify.

Approved-By: Christina Schimpe <christina.schimpe@intel.com>
gdb/amd64-tdep.c