(root)/
gcc-13.2.0/
libgcc/
config/
ia64/
unwind-ia64.h
       1  /* Copyright (C) 1999-2023 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")));