Add a flag to asection, linker_has_input, and use it to reliably
[deliverable/binutils-gdb.git] / binutils / debug.h
index 38ef7892867bb3ae89f973d1c7afaedf6131ea89..d60285d0812ba4d2864cb2f05bee894bd2287921 100644 (file)
@@ -1,5 +1,5 @@
 /* debug.h -- Describe generic debugging information.
-   Copyright (C) 1995, 1996 Free Software Foundation, Inc.
+   Copyright 1995, 1996 Free Software Foundation, Inc.
    Written by Ian Lance Taylor <ian@cygnus.com>.
 
    This file is part of GNU Binutils.
@@ -86,6 +86,8 @@ enum debug_type_kind
 
 enum debug_var_kind
 {
+  /* Not used.  */
+  DEBUG_VAR_ILLEGAL,
   /* A global variable.  */
   DEBUG_GLOBAL,
   /* A static variable.  */
@@ -102,6 +104,8 @@ enum debug_var_kind
 
 enum debug_parm_kind
 {
+  /* Not used.  */
+  DEBUG_PARM_ILLEGAL,
   /* A stack based parameter.  */
   DEBUG_PARM_STACK,
   /* A register parameter.  */
@@ -432,10 +436,6 @@ extern PTR debug_init PARAMS ((void));
 
 extern boolean debug_set_filename PARAMS ((PTR, const char *));
 
-/* Append a string to the source filename.  */
-
-extern boolean debug_append_filename PARAMS ((PTR, const char *));
-
 /* Change source files to the given file name.  This is used for
    include files in a single compilation unit.  */
 
@@ -645,9 +645,9 @@ extern debug_type debug_make_undefined_tagged_type
 
 /* Make a base class for an object.  The second argument is the base
    class type.  The third argument is the bit position of this base
-   class in the object (always 0 unless doing multiple inheritance).
-   The fourth argument is whether this is a virtual class.  The fifth
-   argument is the visibility of the base class.  */
+   class in the object.  The fourth argument is whether this is a
+   virtual class.  The fifth argument is the visibility of the base
+   class.  */
 
 extern debug_baseclass debug_make_baseclass
   PARAMS ((PTR, debug_type, bfd_vma, boolean, enum debug_visibility));
@@ -685,11 +685,9 @@ extern debug_method debug_make_method
    probably constructed by debug_make_method_type.  The fourth
    argument is the visibility.  The fifth argument is whether this is
    a const function.  The sixth argument is whether this is a volatile
-   function.  The seventh argument is the offset in the virtual
+   function.  The seventh argument is the index in the virtual
    function table, if any.  The eighth argument is the virtual
-   function context.  FIXME: Are the const and volatile arguments
-   necessary?  Could we just use debug_make_const_type?  The handling
-   of the second argument is biased toward the way that stabs works.  */
+   function context.  */
 
 extern debug_method_variant debug_make_method_variant
   PARAMS ((PTR, const char *, debug_type, enum debug_visibility, boolean,
@@ -733,6 +731,10 @@ extern enum debug_type_kind debug_get_type_kind PARAMS ((PTR, debug_type));
 
 extern const char *debug_get_type_name PARAMS ((PTR, debug_type));
 
+/* Get the size of a type.  */
+
+extern bfd_vma debug_get_type_size PARAMS ((PTR, debug_type));
+
 /* Get the return type of a function or method type.  */
 
 extern debug_type debug_get_return_type PARAMS ((PTR, debug_type));
@@ -762,6 +764,30 @@ extern const debug_field *debug_get_fields PARAMS ((PTR, debug_type));
 
 extern debug_type debug_get_field_type PARAMS ((PTR, debug_field));
 
+/* Get the name of a field.  */
+
+extern const char *debug_get_field_name PARAMS ((PTR, debug_field));
+
+/* Get the bit position of a field within the containing structure.
+   If the field is a static member, this will return (bfd_vma) -1.  */
+
+extern bfd_vma debug_get_field_bitpos PARAMS ((PTR, debug_field));
+
+/* Get the bit size of a field.  If the field is a static member, this
+   will return (bfd_vma) -1.  */
+
+extern bfd_vma debug_get_field_bitsize PARAMS ((PTR, debug_field));
+
+/* Get the visibility of a field.  */
+
+extern enum debug_visibility debug_get_field_visibility
+  PARAMS ((PTR, debug_field));
+
+/* Get the physical name of a field, if it is a static member.  If the
+   field is not a static member, this will return NULL.  */
+
+extern const char *debug_get_field_physname PARAMS ((PTR, debug_field));
+
 /* Write out the recorded debugging information.  This takes a set of
    function pointers which are called to do the actual writing.  The
    first PTR is the debugging handle.  The second PTR is a handle
This page took 0.025932 seconds and 4 git commands to generate.