]> git.ipfire.org Git - thirdparty/gcc.git/blob - libgcc/config/ia64/unwind-ia64.h
Update copyright years in libgcc/
[thirdparty/gcc.git] / libgcc / config / ia64 / unwind-ia64.h
1 /* Copyright (C) 1999-2014 Free Software Foundation, Inc.
2 Contributed by Andrew MacLeod <amacleod@cygnus.com>
3 Andrew Haley <aph@cygnus.com>
4
5 This file is part of GCC.
6
7 GCC is free software; you can redistribute it and/or modify it under
8 the terms of the GNU General Public License as published by the Free
9 Software Foundation; either version 3, or (at your option) any later
10 version.
11
12 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13 WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15 for more details.
16
17 Under Section 7 of GPL version 3, you are granted additional
18 permissions described in the GCC Runtime Library Exception, version
19 3.1, as published by the Free Software Foundation.
20
21 You should have received a copy of the GNU General Public License and
22 a copy of the GCC Runtime Library Exception along with this program;
23 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
24 <http://www.gnu.org/licenses/>. */
25
26 #ifdef __VMS__
27 /* On VMS, long is a 32 bit type. */
28 typedef unsigned long long unw_word;
29 typedef long long unw_sword;
30 #else
31 typedef unsigned long unw_word;
32 typedef long unw_sword;
33 #endif
34
35 struct unw_table_entry
36 {
37 unw_word start_offset;
38 unw_word end_offset;
39 unw_word info_offset;
40 };
41
42 /* Accessors to fields of an unwind info block header. In this common file to
43 be visible from all the units involved in a target implementation. */
44
45 #ifndef __USING_SJLJ_EXCEPTIONS__
46 #define UNW_VER(x) ((x) >> 48)
47 #define UNW_FLAG_MASK 0x0000ffff00000000
48 #define UNW_FLAG_OSMASK 0x0000f00000000000
49 #define UNW_FLAG_EHANDLER(x) ((x) & 0x0000000100000000L)
50 #define UNW_FLAG_UHANDLER(x) ((x) & 0x0000000200000000L)
51 #define UNW_LENGTH(x) ((x) & 0x00000000ffffffffL)
52 #endif
53
54 extern struct unw_table_entry *
55 _Unwind_FindTableEntry (void *pc, unw_word *segment_base,
56 unw_word *gp, struct unw_table_entry *ent)
57 __attribute__ ((__visibility__ ("hidden")));