Update documentation
[platform/upstream/nasm.git] / compiler.h
1 /* ----------------------------------------------------------------------- *
2  *
3  *   Copyright 2007 The NASM Authors - All Rights Reserved
4  *
5  *   This program is free software; you can redistribute it and/or modify
6  *   it under the terms of the license given in the file "License"
7  *   distributed in the NASM archive.
8  *
9  * ----------------------------------------------------------------------- */
10
11 /*
12  * compiler.h
13  *
14  * Compiler-specific macros for NASM.  Feel free to add support for
15  * other compilers in here.
16  */
17
18 #ifndef COMPILER_H
19 #define COMPILER_H 1
20
21 #ifdef HAVE_CONFIG_H
22 # include "config.h"
23 #endif
24
25 #ifdef __GNUC__
26 # if __GNUC__ >= 4
27 #  define HAVE_GNUC_4
28 # endif
29 # if __GNUC__ >= 3
30 #  define HAVE_GNUC_3
31 # endif
32 #endif
33
34 #ifdef __GNUC__
35 # define _unused        __attribute__((unused))
36 #else
37 # define _unused
38 #endif
39
40 /* Some versions of MSVC have these only with underscores in front */
41
42 #if !defined(HAVE_SNPRINTF) && defined(HAVE__SNPRINTF)
43 # define snprintf _snprintf
44 #endif
45
46 #if !defined(HAVE_VSNPRINTF) && defined(HAVE__VSNPRINTF)
47 # define vsnprintf _vsnprintf
48 #endif
49
50 #endif  /* COMPILER_H */