aboutsummaryrefslogtreecommitdiff
path: root/gdb/gnu-v3-abi.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@redhat.com>2011-07-05 13:36:42 +0000
committerTom Tromey <tromey@redhat.com>2011-07-05 13:36:42 +0000
commiteb2a6f420b324bc81207c7606ebef9db3a9bb984 (patch)
tree5741460f7d99914793d65d5ef485030ce74da60e /gdb/gnu-v3-abi.c
parent177b42fefa0b72f2ca50ddf7393c0f2465546ff4 (diff)
downloadgdb-eb2a6f420b324bc81207c7606ebef9db3a9bb984.zip
gdb-eb2a6f420b324bc81207c7606ebef9db3a9bb984.tar.gz
gdb-eb2a6f420b324bc81207c7606ebef9db3a9bb984.tar.bz2
gdb
* gnu-v3-abi.c (gnuv3_rtti_type): Check TYPE_CPLUS_REALLY_JAVA. * gdbtypes.h (struct cplus_struct_type) <is_java>: New field. (TYPE_CPLUS_REALLY_JAVA): New macro. * dwarf2read.c (process_structure_scope): Set TYPE_CPLUS_REALLY_JAVA. gdb/testsuite * gdb.java/jprint.java (jprint.hi): New field. * gdb.java/jprint.exp: Print string.
Diffstat (limited to 'gdb/gnu-v3-abi.c')
-rw-r--r--gdb/gnu-v3-abi.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/gdb/gnu-v3-abi.c b/gdb/gnu-v3-abi.c
index 25a437b..6c6f92c 100644
--- a/gdb/gnu-v3-abi.c
+++ b/gdb/gnu-v3-abi.c
@@ -287,6 +287,10 @@ gnuv3_rtti_type (struct value *value,
if (TYPE_CODE (values_type) != TYPE_CODE_CLASS)
return NULL;
+ /* Java doesn't have RTTI following the C++ ABI. */
+ if (TYPE_CPLUS_REALLY_JAVA (values_type))
+ return NULL;
+
/* Determine architecture. */
gdbarch = get_type_arch (values_type);