~ubuntu-branches/ubuntu/warty/aqsis/warty

« back to all changes in this revision

Viewing changes to boost/boost/config/compiler/visualc.hpp

  • Committer: Bazaar Package Importer
  • Author(s): LaMont Jones
  • Date: 2004-08-24 07:25:04 UTC
  • Revision ID: james.westby@ubuntu.com-20040824072504-zf993vnevvisdsvb
Tags: upstream-0.9.1
ImportĀ upstreamĀ versionĀ 0.9.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
//  (C) Copyright Boost.org 2001. Permission to copy, use, modify, sell and
 
2
//  distribute this software is granted provided this copyright notice appears
 
3
//  in all copies. This software is provided "as is" without express or implied
 
4
//  warranty, and with no claim as to its suitability for any purpose.
 
5
 
 
6
//  See http://www.boost.org for most recent version.
 
7
 
 
8
//  Microsoft Visual C++ compiler setup:
 
9
 
 
10
#define BOOST_MSVC _MSC_VER
 
11
 
 
12
// turn off the warnings before we #include anything
 
13
#pragma warning( disable : 4503 ) // warning: decorated name length exceeded
 
14
 
 
15
#if _MSC_VER <= 1200  // 1200 == VC++ 6.0
 
16
#pragma warning( disable : 4786 ) // ident trunc to '255' chars in debug info
 
17
#  define BOOST_NO_EXPLICIT_FUNCTION_TEMPLATE_ARGUMENTS
 
18
#  define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
 
19
#  define BOOST_NO_VOID_RETURNS
 
20
#  define BOOST_NO_EXCEPTION_STD_NAMESPACE
 
21
#  define BOOST_NO_DEDUCED_TYPENAME
 
22
   // disable min/max macro defines on vc6:
 
23
   //
 
24
#endif
 
25
 
 
26
#if (_MSC_VER <= 1300)  // 1200 == VC++ 7.0
 
27
 
 
28
#if !defined(_MSC_EXTENSIONS) && !defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS)      // VC7 bug with /Za
 
29
#  define BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS
 
30
#endif
 
31
 
 
32
#  define BOOST_NO_INCLASS_MEMBER_INITIALIZATION
 
33
#  define BOOST_NO_PRIVATE_IN_AGGREGATE
 
34
#  define BOOST_NO_ARGUMENT_DEPENDENT_LOOKUP
 
35
#  define BOOST_NO_INTEGRAL_INT64_T
 
36
 
 
37
//    VC++ 6/7 has member templates but they have numerous problems including
 
38
//    cases of silent failure, so for safety we define:
 
39
#  define BOOST_NO_MEMBER_TEMPLATES
 
40
//    For VC++ experts wishing to attempt workarounds, we define:
 
41
#  define BOOST_MSVC6_MEMBER_TEMPLATES
 
42
 
 
43
#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
 
44
#  define BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
 
45
#  define BOOST_NO_CV_VOID_SPECIALIZATIONS
 
46
#  define BOOST_NO_FUNCTION_TEMPLATE_ORDERING
 
47
#  define BOOST_NO_USING_TEMPLATE
 
48
#  define BOOST_NO_SWPRINTF
 
49
#  define BOOST_NO_TEMPLATE_TEMPLATES
 
50
#  if (_MSC_VER > 1200)
 
51
#     define BOOST_NO_MEMBER_FUNCTION_SPECIALIZATIONS
 
52
#  endif
 
53
 
 
54
#endif
 
55
 
 
56
#if _MSC_VER < 1310 // 1310 == VC++ 7.1
 
57
#  define BOOST_NO_SWPRINTF
 
58
#endif
 
59
 
 
60
#if _MSC_VER <= 1310
 
61
#  define BOOST_NO_MEMBER_TEMPLATE_FRIENDS
 
62
#endif
 
63
 
 
64
#ifndef _NATIVE_WCHAR_T_DEFINED
 
65
#  define BOOST_NO_INTRINSIC_WCHAR_T
 
66
#endif
 
67
 
 
68
//   
 
69
// check for exception handling support:   
 
70
#ifndef _CPPUNWIND   
 
71
#  define BOOST_NO_EXCEPTIONS   
 
72
#endif 
 
73
 
 
74
//
 
75
// __int64 support:
 
76
//
 
77
#if (_MSC_VER >= 1200) && defined(_MSC_EXTENSIONS)
 
78
#   define BOOST_HAS_MS_INT64
 
79
#endif
 
80
#if (_MSC_VER >= 1310) && defined(_MSC_EXTENSIONS)
 
81
#   define BOOST_HAS_LONG_LONG
 
82
#endif
 
83
//
 
84
// disable Win32 API's if compiler extentions are
 
85
// turned off:
 
86
//
 
87
#ifndef _MSC_EXTENSIONS
 
88
#  define BOOST_DISABLE_WIN32
 
89
#endif
 
90
 
 
91
# if _MSC_VER == 1200
 
92
#   define BOOST_COMPILER_VERSION 6.0
 
93
# elif _MSC_VER == 1300
 
94
#   define BOOST_COMPILER_VERSION 7.0
 
95
# elif _MSC_VER == 1310
 
96
#   define BOOST_COMPILER_VERSION 7.1
 
97
# else
 
98
#   define BOOST_COMPILER_VERSION _MSC_VER
 
99
# endif
 
100
 
 
101
#define BOOST_COMPILER "Microsoft Visual C++ version " BOOST_STRINGIZE(BOOST_COMPILER_VERSION)
 
102
 
 
103
//
 
104
// versions check:
 
105
// we don't support Visual C++ prior to version 6:
 
106
#if _MSC_VER < 1200
 
107
#error "Compiler not supported or configured - please reconfigure"
 
108
#endif
 
109
//
 
110
// last known and checked version is 1310:
 
111
#if (_MSC_VER > 1310)
 
112
#  if defined(BOOST_ASSERT_CONFIG)
 
113
#     error "Unknown compiler version - please run the configure tests and report the results"
 
114
#  else
 
115
#     pragma message("Unknown compiler version - please run the configure tests and report the results")
 
116
#  endif
 
117
#endif
 
118
 
 
119
 
 
120
 
 
121
 
 
122
 
 
123