aboutsummaryrefslogtreecommitdiff
path: root/gdb/i386-tdep.c
diff options
context:
space:
mode:
authorAlok Kumar Sharma <AlokKumar.Sharma@amd.com>2020-09-03 21:51:01 +0530
committerAlok Kumar Sharma <AlokKumar.Sharma@amd.com>2020-09-03 21:57:16 +0530
commite56798df08154c6e5155d3bb6cb536a14de0ebb4 (patch)
tree55c59677a0d2976e9f13ac3474681b6270487a42 /gdb/i386-tdep.c
parent0316fb52d6eaca5f2398843f57ba08f8d3746056 (diff)
downloadgdb-e56798df08154c6e5155d3bb6cb536a14de0ebb4.zip
gdb-e56798df08154c6e5155d3bb6cb536a14de0ebb4.tar.gz
gdb-e56798df08154c6e5155d3bb6cb536a14de0ebb4.tar.bz2
Support printing of 16 byte real/complex type for Flang compiler
Currently GDB is not able to print correct value for real/complex type from binary generated from Flang compiler. This is due to GDB not able to recognise and determine correct format floatformats_ia64_quad and instead falling back to default_floatformat_for_type. This leads incorrect output. Now function i386_floatformat_for_type is fixed to correctly identify Flang generated 16 byte real/complex type. gdb/ChangeLog * gdb/i386-tdep.c (i386_floatformat_for_type): Added conditions to match 16 byte real/complex type generated by Flang compiler.
Diffstat (limited to 'gdb/i386-tdep.c')
-rw-r--r--gdb/i386-tdep.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index d9fa2b9..b3aa115 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -8211,7 +8211,9 @@ i386_floatformat_for_type (struct gdbarch *gdbarch,
|| strcmp (name, "_Float128") == 0
|| strcmp (name, "complex _Float128") == 0
|| strcmp (name, "complex(kind=16)") == 0
- || strcmp (name, "real(kind=16)") == 0)
+ || strcmp (name, "quad complex") == 0
+ || strcmp (name, "real(kind=16)") == 0
+ || strcmp (name, "real*16") == 0)
return floatformats_ia64_quad;
return default_floatformat_for_type (gdbarch, name, len);