summaryrefslogtreecommitdiff
path: root/thirdparty/thekla_atlas/nvcore/DefsGnucWin32.h
blob: f35ed885751622d99824348143fd151ecd73da0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#ifndef NV_CORE_H
#error "Do not include this file directly."
#endif

//#include <cstddef> // size_t, NULL

// Function linkage
#define DLL_IMPORT	__declspec(dllimport)
#define DLL_EXPORT	__declspec(dllexport)
#define DLL_EXPORT_CLASS DLL_EXPORT

// Function calling modes
#if NV_CPU_X86
#	define NV_CDECL 	__attribute__((cdecl))
#	define NV_STDCALL	__attribute__((stdcall))
#else
#	define NV_CDECL 
#	define NV_STDCALL
#endif

#define NV_FASTCALL		__attribute__((fastcall))
#define NV_FORCEINLINE	__attribute__((always_inline))
#define NV_DEPRECATED   __attribute__((deprecated))

#if __GNUC__ > 2
#define NV_PURE		__attribute__((pure))
#define NV_CONST	__attribute__((const))
#else
#define NV_PURE
#define NV_CONST
#endif

#define NV_NOINLINE __attribute__((noinline))

// Define __FUNC__ properly.
#if __STDC_VERSION__ < 199901L
#	if __GNUC__ >= 2
#		define __FUNC__ __PRETTY_FUNCTION__	// __FUNCTION__
#	else
#		define __FUNC__ "<unknown>"
#	endif
#else
#	define __FUNC__ __PRETTY_FUNCTION__
#endif

#define restrict	__restrict__

/*
// Type definitions
typedef unsigned char		uint8;
typedef signed char			int8;

typedef unsigned short		uint16;
typedef signed short		int16;

typedef unsigned int		uint32;
typedef signed int			int32;

typedef unsigned long long	uint64;
typedef signed long long	int64;

// Aliases
typedef uint32				uint;
*/