Home | History | Annotate | Download | only in stlport
      1 /*
      2  * Copyright (c) 1996,1997
      3  * Silicon Graphics Computer Systems, Inc.
      4  *
      5  * Copyright (c) 1999
      6  * Boris Fomitchev
      7  *
      8  * This material is provided "as is", with absolutely no warranty expressed
      9  * or implied. Any use is at your own risk.
     10  *
     11  * Permission to use or copy this software for any purpose is hereby granted
     12  * without fee, provided the above notices are retained on all copies.
     13  * Permission to modify the code and to distribute modified code is granted,
     14  * provided the above notices are retained, and a notice that the code was
     15  * modified is included with the above copyright notice.
     16  */
     17 
     18 // This header exists solely for portability.  Normally it just includes
     19 // the native header <exception>.
     20 
     21 #ifndef _STLP_EXCEPTION
     22 
     23 #if !defined (_STLP_OUTERMOST_HEADER_ID)
     24 #  define _STLP_OUTERMOST_HEADER_ID 0x423
     25 #  include <stl/_prolog.h>
     26 #elif (_STLP_OUTERMOST_HEADER_ID == 0x423)
     27 #  define _STLP_DONT_POP_HEADER_ID
     28 #  define _STLP_EXCEPTION
     29 #endif
     30 
     31 #if (_STLP_OUTERMOST_HEADER_ID == 0x423) && !defined (_STLP_DONT_POP_HEADER_ID)
     32 #  ifndef _STLP_INTERNAL_EXCEPTION
     33 #    include <stl/_exception.h>
     34 #  endif
     35 #endif
     36 
     37 #if (_STLP_OUTERMOST_HEADER_ID != 0x423) || defined (_STLP_DONT_POP_HEADER_ID) || defined (_STLP_IMPORT_VENDOR_STD)
     38 /* If we are here it means that we are in an include called
     39  * from the native lib which means that we can simply forward this
     40  * call to the native exception header:
     41  */
     42 #  if defined (_STLP_HAS_INCLUDE_NEXT)
     43 #    include_next <exception>
     44 #  else
     45 #    if defined (__DMC__) && (_STLP_OUTERMOST_HEADER_ID == 0x874)
     46 // Workaround to DMC harcoded typeinfo.h inclusion.
     47 #      include <../include/exception>
     48 #    else
     49 #      include _STLP_NATIVE_CPP_RUNTIME_HEADER(exception)
     50 #    endif
     51 #  endif
     52 #endif
     53 
     54 #if (_STLP_OUTERMOST_HEADER_ID == 0x423)
     55 #  if !defined(_STLP_DONT_POP_HEADER_ID)
     56 #    include <stl/_epilog.h>
     57 #    undef  _STLP_OUTERMOST_HEADER_ID
     58 #  else
     59 #    undef  _STLP_DONT_POP_HEADER_ID
     60 #  endif
     61 #endif
     62 
     63 #endif /* _STLP_EXCEPTION */
     64 
     65 
     66 // Local Variables:
     67 // mode:C++
     68 // End:
     69