/[escript]/trunk/esysUtils/src/system_dep.h
ViewVC logotype

Contents of /trunk/esysUtils/src/system_dep.h

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2519 - (show annotations)
Mon Jul 6 00:43:08 2009 UTC (10 years, 1 month ago) by jfenwick
File MIME type: text/plain
File size: 2039 byte(s)
Correcting some doxygen errors
1
2 /*******************************************************
3 *
4 * Copyright (c) 2003-2008 by University of Queensland
5 * Earth Systems Science Computational Center (ESSCC)
6 * http://www.uq.edu.au/esscc
7 *
8 * Primary Business: Queensland, Australia
9 * Licensed under the Open Software License version 3.0
10 * http://www.opensource.org/licenses/osl-3.0.php
11 *
12 *******************************************************/
13
14
15 /**
16 \file esysUtils/src/system_dep.h
17 \ingroup Other
18 */
19 /*
20 * @(#) system_dep.h
21 */
22
23 #ifndef esysutils_system_dep_h
24 #define esysutils_system_dep_h
25
26 #if defined(_WIN32) && defined(__INTEL_COMPILER)
27 /* The Intel compiler on windows has an "improved" math library compared to the usual Visual C++ one
28 * In particular it has a acosh and other similar functions which aren't implemented in Visual C++ math.h
29 * Note you will get a compile time error if any other header (including system ones) include math.h before mathimf.h
30 * has been included. As a result system_dep.h must be included FIRST at all times (this prevents math.h from being included).
31 */
32 #include <mathimf.h>
33 #else
34 #include <math.h>
35 #endif
36
37 #define ESYSUTILS_DLL_API
38
39 #ifdef _WIN32
40 # ifndef ESYSUTILS_STATIC_LIB
41 # undef ESYSUTILS_DLL_API
42 # ifdef ESYSUTILS_EXPORTS
43 # define ESYSUTILS_DLL_API __declspec(dllexport)
44 # else
45 # define ESYSUTILS_DLL_API __declspec(dllimport)
46 # endif
47 # endif
48
49 /* This is because of the different declarations of std::exception mentods
50 * on windows.
51 * Also, putting a "throw" in any declaration on windows causes a warning!!!!!!
52 * If you wish to generate a throw() on other systems, please use
53 * THROW(NO_ARG). This is because windows generates warnings if you say
54 * THROW(), so the NO_ARG trick must be used to avoid the mass of warnings.
55 */
56
57 # define THROW(ARG)
58 #else
59 # define THROW(ARG) throw(ARG)
60 #endif
61
62 #define NO_ARG
63
64 /* you'll need this one day. */
65 #ifndef __const
66 # if (defined __STDC__ && __STDC__) || defined __cplusplus
67 # define __const const
68 # else
69 # define __const
70 # endif
71 #endif
72
73 #endif

  ViewVC Help
Powered by ViewVC 1.1.26