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