* xcoffread.c (read_xcoff_symtab): When creating a dummy parameter
authorJim Kingdon <jkingdon@engr.sgi.com>
Thu, 16 Mar 1995 22:45:35 +0000 (22:45 +0000)
committerJim Kingdon <jkingdon@engr.sgi.com>
Thu, 16 Mar 1995 22:45:35 +0000 (22:45 +0000)
inferred from the traceback tags, give its type the name
"<non-float parameter>".

gdb/ChangeLog
gdb/xcoffread.c

index 9fc97f1069ef2e49a2924c2ffe0d3ae46564a93f..1afd3715560c09e109df50192ef9ba190b251326 100644 (file)
@@ -1,5 +1,9 @@
 Thu Mar 16 12:14:41 1995  Jim Kingdon  (kingdon@lioth.cygnus.com)
 
+       * xcoffread.c (read_xcoff_symtab): When creating a dummy parameter
+       inferred from the traceback tags, give its type the name
+       "<non-float parameter>".
+
        * stabsread.c (rs6000_builtin_type): Recognize types -31 to -34.
 
 Wed Mar 15 15:09:29 1995  Stu Grossman  (grossman@cygnus.com)
index 34acb06fad31049943ee6a91739d80fea3afcb96..368f1c51599a9242cb2b3f9121e144bc4357ecce 100644 (file)
@@ -1,5 +1,5 @@
 /* Read AIX xcoff symbol tables and convert to internal format, for GDB.
-   Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994
+   Copyright 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1995
             Free Software Foundation, Inc.
    Derived from coffread.c, dbxread.c, and a lot of hacking.
    Contributed by IBM Corporation.
@@ -1446,10 +1446,29 @@ read_xcoff_symtab (objfile, nsyms)
                            }
                          else
                            {
-                             /* fixed parm, use (int*) for hex rep. */
+                             static struct type *intparm_type;
+                             if (intparm_type == NULL)
+                               {
+
+                                 /* Create a type, which is a pointer
+                                    type (a kludge to make it print
+                                    in hex), but which has a name
+                                    indicating we don't know the real
+                                    type.  */
+
+                                 intparm_type =
+                                   init_type
+                                     (TYPE_CODE_PTR,
+                                      TARGET_PTR_BIT / HOST_CHAR_BIT,
+                                      0,
+                                      "<non-float parameter>",
+                                      NULL);
+                                 TYPE_TARGET_TYPE (intparm_type) =
+                                   builtin_type_void;
+                               }
                              ADD_PARM_TO_PENDING
                                (parm, parmvalue,
-                                lookup_pointer_type (builtin_type_int),
+                                intparm_type,
                                 local_symbols);
                              parmvalue += sizeof (int);
                            }