* stabsread.c (read_member_functions): Initialize domain for stubbed
authorPeter Schauer <Peter.Schauer@mytum.de>
Wed, 14 Apr 1993 19:53:11 +0000 (19:53 +0000)
committerPeter Schauer <Peter.Schauer@mytum.de>
Wed, 14 Apr 1993 19:53:11 +0000 (19:53 +0000)
member functions to avoid gdb core dumps when printing pointers
to member functions.
* cp-valprint.c (cp_print_class_method): Check for stubbed member
functions.

gdb/ChangeLog
gdb/cp-valprint.c
gdb/stabsread.c

index fcc450b71aec21f51173229e75f6140b8d89f9c9..65475e08acd0d2d9b3f5094f940adaf14e8742a5 100644 (file)
@@ -1,3 +1,11 @@
+Wed Apr 14 12:49:29 1993  Peter Schauer  (pes@regent.e-technik.tu-muenchen.de)
+
+       * stabsread.c (read_member_functions): Initialize domain for stubbed
+       member functions to avoid gdb core dumps when printing pointers
+       to member functions.
+       * cp-valprint.c (cp_print_class_method): Check for stubbed member
+       functions.
+
 Tue Apr 13 08:28:26 1993  Jim Kingdon  (kingdon@cygnus.com)
 
        * expprint.c (print_subexp): If opcode not found in op_print_tab,
index 3e4068560f8e4a9a8458787293b9d1e8c7612c3e..680a75dc699966a35105f64f52d17d895076b2a6 100644 (file)
@@ -116,6 +116,8 @@ cp_print_class_method (valaddr, type, stream)
          for (j = 0; j < len2; j++)
            {
              QUIT;
+             if (TYPE_FN_FIELD_STUB (f, j))
+               check_stub_method (domain, i, j);
              if (STREQ (SYMBOL_NAME (sym), TYPE_FN_FIELD_PHYSNAME (f, j)))
                {
                  goto common;
index 52c6c72e0fc39b909b0a9c77939d0c0897bb16bd..0061d2048432b4d358b78de607d4d755d122ae1f 100644 (file)
@@ -1566,6 +1566,8 @@ read_member_functions (fip, pp, type, objfile)
 
          if (TYPE_FLAGS (new_sublist -> fn_field.type) & TYPE_FLAG_STUB)
            {
+             if (!TYPE_DOMAIN_TYPE (new_sublist -> fn_field.type))
+               TYPE_DOMAIN_TYPE (new_sublist -> fn_field.type) = type;
              new_sublist -> fn_field.is_stub = 1;
            }
          new_sublist -> fn_field.physname = savestring (*pp, p - *pp);