blob: f8407e3cf1d325b84e870530b0157c49a755660d [file] [log] [blame]
Benny Prijono4766ffe2005-11-01 17:56:59 +00001/* $Id$
2 *
3 */
Benny Prijonodd859a62005-11-01 16:42:51 +00004/* $Log: /pjproject-0.3/pjlib/include/pj/compat/cc_msvc.h $
5 *
6 * 3 10/14/05 12:26a Bennylp
7 * Finished error code framework, some fixes in ioqueue, etc. Pretty
8 * major.
9 *
10 * 2 9/17/05 10:37a Bennylp
11 * Major reorganization towards version 0.3.
12 *
13 */
14#ifndef __PJ_COMPAT_CC_MSVC_H__
15#define __PJ_COMPAT_CC_MSVC_H__
16
17/**
18 * @file cc_msvc.h
19 * @brief Describes Microsoft Visual C compiler specifics.
20 */
21
22#ifndef _MSC_VER
23# error "This header file is only for Visual C compiler!"
24#endif
25
26# pragma warning(disable: 4127) // conditional expression is constant
27# pragma warning(disable: 4611) // not wise to mix setjmp with C++
28# pragma warning(disable: 4514) // unreferenced inline function has been removed
29# ifdef __cplusplus
30# define PJ_INLINE_SPECIFIER inline
31# else
32# define PJ_INLINE_SPECIFIER static __inline
33# endif
34# define PJ_THREAD_FUNC
35# define PJ_NORETURN __declspec(noreturn)
36# define PJ_ATTR_NORETURN
37
38# define PJ_HAS_INT64 1
39typedef __int64 pj_int64_t;
40typedef unsigned __int64 pj_uint64_t;
41
42#endif /* __PJ_COMPAT_CC_MSVC_H__ */