home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / setjmp.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-20  |  2.0 KB  |  75 lines

  1. #if (defined(__IBMC__) || defined(__IBMCPP__))
  2. #pragma info( none )
  3. #ifndef __CHKHDR__
  4.    #pragma info( none )
  5. #endif
  6. #pragma info( restore )
  7. #endif
  8.  
  9. #ifndef __setjmp_h
  10.    #define __setjmp_h
  11.  
  12.    #ifdef __cplusplus
  13.       extern "C" {
  14.    #endif
  15.  
  16.    #ifndef  _LNK_CONV
  17.       #ifdef _M_I386
  18.          #define _LNK_CONV   _Optlink
  19.       #else
  20.          #define _LNK_CONV
  21.       #endif
  22.    #endif
  23.  
  24.    #ifndef _IMPORT
  25.       #ifdef __IMPORTLIB__
  26.          #define _IMPORT _Import
  27.       #else
  28.          #define _IMPORT
  29.       #endif
  30.    #endif
  31.  
  32.    /********************************************************************/
  33.    /*  <setjmp.h> header file                                          */
  34.    /*                                                                  */
  35.    /*  VisualAge for C++ for Windows, Version 3.5                      */
  36.    /*    Licensed Material - Property of IBM                           */
  37.    /*                                                                  */
  38.    /*  5801-ARR and Other Materials                                    */
  39.    /*                                                                  */
  40.    /*  (c) Copyright IBM Corp 1991, 1996. All rights reserved.         */
  41.    /*                                                                  */
  42.    /********************************************************************/
  43.  
  44.    #ifdef _M_I386
  45.      typedef int jmp_buf[8];
  46.      extern int  _Builtin _IMPORT setjmp( jmp_buf );
  47.    #else
  48.      typedef double jmp_buf[128];
  49.      extern int _IMPORT setjmp( jmp_buf );
  50.      #if (defined(__IBMC__) || defined(__IBMCPP__))
  51.         #pragma reachable(setjmp)
  52.      #endif
  53.    #endif
  54.  
  55.      #if ((defined(__IBMC__) || defined(__IBMCPP__)) && defined(__THW_PPC__))
  56.         #pragma leaves(longjmp)
  57.      #endif
  58.  
  59.      extern void _IMPORT _LNK_CONV longjmp( jmp_buf, int );
  60.  
  61.    #ifdef __cplusplus
  62.       }
  63.    #endif
  64.  
  65. #endif
  66.  
  67. #if (defined(__IBMC__) || defined(__IBMCPP__))
  68. #pragma info( none )
  69. #ifndef __CHKHDR__
  70.    #pragma info( restore )
  71. #endif
  72. #pragma info( restore )
  73. #endif
  74.  
  75.