00001 /***************************************************************************** 00002 00003 The following code is derived, directly or indirectly, from the SystemC 00004 source code Copyright (c) 1996-2006 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 // $Log: sc_cmnhdr.h,v $ 00037 // Revision 1.1.1.1 2006/12/15 20:31:36 acg 00038 // SystemC 2.2 00039 // 00040 // Revision 1.3 2006/01/13 18:44:29 acg 00041 // Added $Log to record CVS changes into the source. 00042 // 00043 00044 #ifndef SC_CMNHDR_H 00045 #define SC_CMNHDR_H 00046 00047 00048 // all windows 32-bit compilers should define WIN32 00049 00050 #if defined( _MSC_VER ) || defined( __BORLANDC__ ) 00051 #ifndef WIN32 00052 #define WIN32 00053 #endif 00054 #endif 00055 00056 // WIN64 is reserved for the future 64-bit OS 00057 00058 #ifdef WIN64 00059 #error WIN64 keyword is reserved for 64-bit Windows 00060 #endif 00061 00062 00063 // ---------------------------------------------------------------------------- 00064 00065 #ifdef _MSC_VER 00066 00067 // Disable VC++ warnings that are harmless 00068 00069 // this : used in base member initializer list 00070 #pragma warning(disable: 4355) 00071 00072 // new and delete warning when exception handling is turned on 00073 #pragma warning(disable: 4291) 00074 00075 // in many places implicit conversion to bool 00076 // from other integral types is performed 00077 #pragma warning(disable: 4800) 00078 00079 // unary minus operator applied to unsigned 00080 #pragma warning(disable: 4146) 00081 00082 // multiple copy constructors 00083 #pragma warning(disable: 4521) 00084 00085 // identifier was truncated to '255' characters in the browser information 00086 #pragma warning(disable: 4786) 00087 00088 00089 // Windows Version Build Option 00090 00091 #define _WIN32_WINNT 0x0400 00092 #include <Windows.h> 00093 00094 00095 // MSVC6.0 for() scope bug 00096 00097 #define for if( false ); else for 00098 00099 #endif 00100 00101 00102 // ---------------------------------------------------------------------------- 00103 00104 #ifdef __BORLANDC__ 00105 00106 // Windows Version Build Option 00107 00108 #define _WIN32_WINNT 0x0400 00109 #include <Windows.h> 00110 00111 #endif 00112 00113 00114 // ---------------------------------------------------------------------------- 00115 00116 #include <cassert> 00117 #include <cstdio> 00118 #include <cstdlib> 00119 00120 00121 #endif 00122 00123 // Taf!