modernc.org/cc@v1.0.1/v2/headers/linux_arm/usr/include/arm-linux-gnueabihf/bits/setjmp.h (about)

     1  /* Copyright (C) 2004-2016 Free Software Foundation, Inc.
     2     This file is part of the GNU C Library.
     3  
     4     The GNU C Library is free software; you can redistribute it and/or
     5     modify it under the terms of the GNU Lesser General Public
     6     License as published by the Free Software Foundation; either
     7     version 2.1 of the License, or (at your option) any later version.
     8  
     9     The GNU C Library is distributed in the hope that it will be useful,
    10     but WITHOUT ANY WARRANTY; without even the implied warranty of
    11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    12     Lesser General Public License for more details.
    13  
    14     You should have received a copy of the GNU Lesser General Public
    15     License along with the GNU C Library.  If not, see
    16     <http://www.gnu.org/licenses/>.  */
    17  
    18  /* Define the machine-dependent type `jmp_buf'.  ARM EABI version.  */
    19  
    20  #ifndef _BITS_SETJMP_H
    21  #define _BITS_SETJMP_H 1
    22  
    23  #if !defined _SETJMP_H && !defined _PTHREAD_H
    24  #error "Never include <bits/setjmp.h> directly; use <setjmp.h> instead."
    25  #endif
    26  
    27  #ifndef __ASSEMBLER__
    28  /* The exact set of registers saved may depend on the particular core
    29     in use, as some coprocessor registers may need to be saved.  The C
    30     Library ABI requires that the buffer be 8-byte aligned, and
    31     recommends that the buffer contain 64 words.  The first 26 words
    32     are occupied by sp, lr, v1-v6, sl, fp, and d8-d15.  */
    33  typedef int __jmp_buf[64] __attribute__ ((__aligned__(8)));
    34  #endif
    35  
    36  #endif