* dwarf2read.c (read_subroutine_type): Set TYPE_FLAG_PROTOTYPED
authorPeter Schauer <Peter.Schauer@mytum.de>
Sat, 23 May 1998 09:31:41 +0000 (09:31 +0000)
committerPeter Schauer <Peter.Schauer@mytum.de>
Sat, 23 May 1998 09:31:41 +0000 (09:31 +0000)
on C++ functions.
* valops.c (value_arg_coerce):  Add new argument to indicate whether
the function has a prototype, handle integer and float promotions
accordingly.
        (call_function_by_hand):  Always call value_arg_coerce, pass down
prototype information.

gdb/ChangeLog
gdb/dwarf2read.c

index 1dd926ff9e9fd47135af2eb82ff982814057a628..0b7ed736648060d198ee638db95c98144ec659c6 100644 (file)
@@ -1,3 +1,13 @@
+Sat May 23 02:23:09 1998  Peter Schauer  <pes@regent.e-technik.tu-muenchen.de>
+
+       * dwarf2read.c (read_subroutine_type):  Set TYPE_FLAG_PROTOTYPED
+       on C++ functions.
+       * valops.c (value_arg_coerce):  Add new argument to indicate whether
+       the function has a prototype, handle integer and float promotions
+       accordingly.
+        (call_function_by_hand):  Always call value_arg_coerce, pass down
+       prototype information.
+
 Fri May 22 10:56:36 1998  John Metzler  <jmetzler@cygnus.com>
 
        * remote.c (_initialize_remote): Typo extended__remote
index b6162d4bb918e277b59bb5d4e51eeaaa59ef96fb..298788241e0d36e4db67b61654e52a2e5031c6e7 100644 (file)
@@ -1,5 +1,5 @@
 /* DWARF 2 debugging format support for GDB.
-   Copyright 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
+   Copyright 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
 
    Adapted by Gary Funck (gary@intrepid.com), Intrepid Technology,
    Inc.  with support from Florida State University (under contract
@@ -2801,8 +2801,11 @@ read_subroutine_type (die, objfile)
     }
   type = die_type (die, objfile);
   ftype = lookup_function_type (type);
+
+  /* All functions in C++ have prototypes.  */
   attr = dwarf_attr (die, DW_AT_prototyped);
-  if (attr && (DW_UNSND (attr) != 0))
+  if ((attr && (DW_UNSND (attr) != 0))
+      || cu_language == language_cplus)
     TYPE_FLAGS (ftype) |= TYPE_FLAG_PROTOTYPED;
 
   if (die->has_children)