Exception_Macros.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 // ============================================================================
00004 /**
00005  * @file Exception_Macros.h
00006  *
00007  * Exception_Macros.h,v 4.4 2003/07/19 19:04:11 dhinton Exp
00008  *
00009  *   Writing code that is portable between platforms with or without
00010  *   native C++ exceptions is hard.  The following macros offer some
00011  *   help on this task.
00012  *
00013  *  @author Nanbor Wang <nanbor@cs.wustl.edu>
00014  *  @author Aniruddha Gokhale  <gokhale@sahyadri.research.bell-labs.com>
00015  *  @author Carlos O'Ryan  <coryan@uci.edu>
00016  *  @author Krishnakumar B <kitty@cs.wustl.edu>, et al.
00017  */
00018 // ============================================================================
00019 
00020 // Macros for handling exceptions.
00021 
00022 #ifndef ACE_EXCEPTION_MACROS_H
00023 #define ACE_EXCEPTION_MACROS_H
00024 
00025 #include /**/ "ace/pre.h"
00026 
00027 #include "ace/config-all.h"
00028 
00029 # if !defined (ACE_LACKS_PRAGMA_ONCE)
00030 #   pragma once
00031 # endif /* ACE_LACKS_PRAGMA_ONCE */
00032 
00033 // By default, if the compiler supports native exception handling, assume
00034 // CORBA also support native exception handling. But it can be disabled by
00035 // defining ACE_CORBA_HAS_EXCEPTIONS=0. If the compiler does not support
00036 // exceptions handling, make sure native exception handling is disabled.
00037 #if defined (ACE_HAS_EXCEPTIONS)
00038 #  if defined (ACE_CORBA_HAS_EXCEPTIONS)
00039 #    if (ACE_CORBA_HAS_EXCEPTIONS == 0)
00040 #      undef ACE_USES_NATIVE_EXCEPTIONS
00041 #    else /* ACE_CORBA_HAS_EXCEPTIONS != 0 */
00042 #      define ACE_USES_NATIVE_EXCEPTIONS
00043 #    endif /* ACE_CORBA_HAS_EXCEPTIONS == 0 */
00044 #  else
00045 #    define ACE_USES_NATIVE_EXCEPTIONS
00046 #    define ACE_CORBA_HAS_EXCEPTIONS
00047 #  endif /* ACE_CORBA_HAS_EXCEPTIONS */
00048 #else /* ! ACE_HAS_EXCEPTIONS */
00049 #  undef ACE_CORBA_HAS_EXCEPTIONS
00050 #  undef ACE_USES_NATIVE_EXCEPTIONS
00051 #endif /* ACE_HAS_EXCEPTIONS */
00052 
00053 #include /**/ "ace/post.h"
00054 
00055 #endif /* ACE_EXCEPTION_MACROS_H */

Generated on Thu Nov 9 09:41:50 2006 for ACE by doxygen 1.3.6