IceShard 1
A personal game engine project, with development focused on 2D/2.5D games.
Loading...
Searching...
No Matches
warnings.hxx
Go to the documentation of this file.
1
3
4#pragma once
6
7#if ISP_COMPILER_MSVC
8
9# define ISC_WARNING_PUSH __pragma(warning(push))
10# define ISC_WARNING_SET(op, warn_value) __pragma(warning(op : warn_value))
11# define ISC_WARNING_POP __pragma(warning(pop))
12# define ISCW_OP_DISABLE disable
13
14// warning C<id>: ...
15# define ISC_WARNING_DISABLE(id) ISC_WARNING_SET(ISCW_OP_DISABLE, id)
16// warning C4324: '<...>': structure was padded due to alignment specifier
17# define ISCW_STRUCTURE_WAS_PADDED_DUE_TO_ALIGNMENT_SPECIFIER(op) ISC_WARNING_SET(op, 4324)
18// warning C4458: declaration of '<...>' hides class member
19# define ISCW_DECLARATION_HIDES_CLASS_MEMBER(op) ISC_WARNING_SET(op, 4458)
20// warning C4505: '<...>': unreferenced function with internal linkage has been removed
21# define ISCW_UNREFERENCED_INTERNAL_FUNCTION_REMOVED(op) ISC_WARNING_SET(op, 4505)
22// warning C4554: '<...>': check operator precedence for possible error; use parentheses to clarify precedence
23# define ISCW_CHECK_OPERATOR_PRECEDENCE(op) ISC_WARNING_SET(op, 4554)
24// warning C5054: operator '<...>': deprecated between enumerations of different types
25# define ISCW_OPERATOR_DEPRECATED_BETWEEN_UNRELATED_ENUMERATIONS(op) ISC_WARNING_SET(op, 5054)
26
27#elif ISP_COMPILER_CLANG | ISP_COMPILER_GCC
28
29# define ISC_WARNING_PUSH
30# define ISC_WARNING_SET(op, warn_value)
31# define ISC_WARNING_POP
32
33# define ISCW_OP_DISABLE disable
34
35# define ISCW_STRUCTURE_WAS_PADDED_DUE_TO_ALIGNMENT_SPECIFIER(op)
36# define ISCW_DECLARATION_HIDES_CLASS_MEMBER(op)
37# define ISCW_UNREFERENCED_INTERNAL_FUNCTION_REMOVED(op)
38# define ISCW_CHECK_OPERATOR_PRECEDENCE(op)
39# define ISCW_OPERATOR_DEPRECATED_BETWEEN_UNRELATED_ENUMERATIONS(op)
40
41#endif