src/sysc/kernel/sc_cmnhdr.h

Go to the documentation of this file.
00001 /*****************************************************************************
00002 
00003   The following code is derived, directly or indirectly, from the SystemC
00004   source code Copyright (c) 1996-2005 by all Contributors.
00005   All Rights reserved.
00006 
00007   The contents of this file are subject to the restrictions and limitations
00008   set forth in the SystemC Open Source License Version 2.4 (the "License");
00009   You may not use this file except in compliance with such restrictions and
00010   limitations. You may obtain instructions on how to receive a copy of the
00011   License at http://www.systemc.org/. Software distributed by Contributors
00012   under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF
00013   ANY KIND, either express or implied. See the License for the specific
00014   language governing rights and limitations under the License.
00015 
00016  *****************************************************************************/
00017 
00018 /*****************************************************************************
00019 
00020   sc_cmnhdr.h - Common header file containing handy pragmas, macros and
00021                 definitions common to all SystemC source files.
00022 
00023   Original Author: Amit Rao, Synopsys, Inc.
00024 
00025  *****************************************************************************/
00026 
00027 /*****************************************************************************
00028 
00029   MODIFICATION LOG - modifiers, enter your name, affiliation, date and
00030   changes you are making here.
00031 
00032       Name, Affiliation, Date:
00033   Description of Modification:
00034 
00035  *****************************************************************************/
00036 
00037 #ifndef SC_CMNHDR_H
00038 #define SC_CMNHDR_H
00039 
00040 
00041 // all windows 32-bit compilers should define WIN32
00042 
00043 #if defined( _MSC_VER ) || defined( __BORLANDC__ )
00044 #ifndef WIN32
00045 #define WIN32
00046 #endif
00047 #endif
00048 
00049 // WIN64 is reserved for the future 64-bit OS
00050 
00051 #ifdef WIN64
00052 #error WIN64 keyword is reserved for 64-bit Windows
00053 #endif
00054 
00055 
00056 // ----------------------------------------------------------------------------
00057 
00058 #ifdef _MSC_VER
00059 
00060 // Disable VC++ warnings that are harmless
00061 
00062 // this : used in base member initializer list
00063 #pragma warning(disable: 4355)
00064 
00065 // new and delete warning when exception handling is turned on
00066 #pragma warning(disable: 4291)
00067 
00068 // in many places implicit conversion to bool
00069 // from other integral types is performed
00070 #pragma warning(disable: 4800)
00071 
00072 // unary minus operator applied to unsigned
00073 #pragma warning(disable: 4146)
00074 
00075 // multiple copy constructors
00076 #pragma warning(disable: 4521)
00077 
00078 // identifier was truncated to '255' characters in the browser information
00079 #pragma warning(disable: 4786)
00080 
00081 
00082 // Windows Version Build Option
00083 
00084 #define _WIN32_WINNT 0x0400
00085 #include <Windows.h>
00086 
00087 
00088 // MSVC6.0 for() scope bug
00089 
00090 #define for if( false ); else for
00091 
00092 #endif
00093 
00094 
00095 // ----------------------------------------------------------------------------
00096 
00097 #ifdef __BORLANDC__
00098 
00099 // Windows Version Build Option
00100 
00101 #define _WIN32_WINNT 0x0400
00102 #include <Windows.h>
00103 
00104 #endif
00105 
00106 
00107 // ----------------------------------------------------------------------------
00108 
00109 #include <cassert>
00110 #include <cstdio>
00111 #include <cstdlib>
00112 
00113 
00114 #endif
00115 
00116 // Taf!

Generated on Wed Apr 25 13:53:27 2007 for SystemC by  doxygen 1.5.1