summaryrefslogtreecommitdiffstats
path: root/contrib/gcc/unwind-dw2-fde.h
diff options
context:
space:
mode:
authorkan <kan@FreeBSD.org>2004-07-28 03:11:36 +0000
committerkan <kan@FreeBSD.org>2004-07-28 03:11:36 +0000
commit5e00ec74d8ce58f99801200d4d3d0412c7cc1b28 (patch)
tree052f4bb635f2bea2c5e350bd60c902be100a0d1e /contrib/gcc/unwind-dw2-fde.h
parent87b8398a7d9f9bf0e28bbcd54a4fc27db2125f38 (diff)
downloadFreeBSD-src-5e00ec74d8ce58f99801200d4d3d0412c7cc1b28.zip
FreeBSD-src-5e00ec74d8ce58f99801200d4d3d0412c7cc1b28.tar.gz
Gcc 3.4.2 20040728.
Diffstat (limited to 'contrib/gcc/unwind-dw2-fde.h')
-rw-r--r--contrib/gcc/unwind-dw2-fde.h34
1 files changed, 19 insertions, 15 deletions
diff --git a/contrib/gcc/unwind-dw2-fde.h b/contrib/gcc/unwind-dw2-fde.h
index 7565c49..16ffa949 100644
--- a/contrib/gcc/unwind-dw2-fde.h
+++ b/contrib/gcc/unwind-dw2-fde.h
@@ -1,5 +1,5 @@
/* Subroutines needed for unwinding stack frames for exception handling. */
-/* Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003
+/* Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2004
Free Software Foundation, Inc.
Contributed by Jason Merrill <jason@cygnus.com>.
@@ -29,12 +29,14 @@ along with GCC; see the file COPYING. If not, write to the Free
Software Foundation, 59 Temple Place - Suite 330, Boston, MA
02111-1307, USA. */
+#ifndef GCC_UNWIND_DW2_FDE_H
+#define GCC_UNWIND_DW2_FDE_H
struct fde_vector
{
- void *orig_data;
+ const void *orig_data;
size_t count;
- struct dwarf_fde *array[];
+ const struct dwarf_fde *array[];
};
struct object
@@ -43,7 +45,7 @@ struct object
void *tbase;
void *dbase;
union {
- struct dwarf_fde *single;
+ const struct dwarf_fde *single;
struct dwarf_fde **array;
struct fde_vector *sort;
} u;
@@ -90,16 +92,16 @@ struct dwarf_eh_bases
};
-extern void __register_frame_info_bases (void *, struct object *,
+extern void __register_frame_info_bases (const void *, struct object *,
void *, void *);
-extern void __register_frame_info (void *, struct object *);
+extern void __register_frame_info (const void *, struct object *);
extern void __register_frame (void *);
extern void __register_frame_info_table_bases (void *, struct object *,
void *, void *);
extern void __register_frame_info_table (void *, struct object *);
extern void __register_frame_table (void *);
-extern void *__deregister_frame_info (void *);
-extern void *__deregister_frame_info_bases (void *);
+extern void *__deregister_frame_info (const void *);
+extern void *__deregister_frame_info_bases (const void *);
extern void __deregister_frame (void *);
@@ -151,22 +153,22 @@ typedef struct dwarf_fde fde;
/* Locate the CIE for a given FDE. */
-static inline struct dwarf_cie *
-get_cie (struct dwarf_fde *f)
+static inline const struct dwarf_cie *
+get_cie (const struct dwarf_fde *f)
{
return (void *)&f->CIE_delta - f->CIE_delta;
}
-static inline fde *
-next_fde (fde *f)
+static inline const fde *
+next_fde (const fde *f)
{
- return (fde *) ((char *) f + f->length + sizeof (f->length));
+ return (const fde *) ((char *) f + f->length + sizeof (f->length));
}
-extern fde * _Unwind_Find_FDE (void *, struct dwarf_eh_bases *);
+extern const fde * _Unwind_Find_FDE (void *, struct dwarf_eh_bases *);
static inline int
-last_fde (struct object *obj __attribute__ ((__unused__)), fde *f)
+last_fde (struct object *obj __attribute__ ((__unused__)), const fde *f)
{
#ifdef DWARF2_OBJECT_END_PTR_EXTENSION
return (char *)f == obj->fde_end || f->length == 0;
@@ -174,3 +176,5 @@ last_fde (struct object *obj __attribute__ ((__unused__)), fde *f)
return f->length == 0;
#endif
}
+
+#endif /* unwind-dw2-fde.h */
OpenPOWER on IntegriCloud