IMP  2.0.0
The Integrative Modeling Platform
warning_macros.h
Go to the documentation of this file.
1 /**
2  * \file IMP/base/warning_macros.h
3  * \brief Various general useful macros for IMP.
4  *
5  * Copyright 2007-2013 IMP Inventors. All rights reserved.
6  *
7  */
8 
9 #ifndef IMPBASE_WARNING_MACROS_H
10 #define IMPBASE_WARNING_MACROS_H
11 
12 #include <IMP/base/base_config.h>
13 #include "internal/eat.h"
14 
15 #define IMP_REQUIRE_SEMICOLON_CLASS(Name)
16 #define IMP_REQUIRE_SEMICOLON_NAMESPACE
17 /*
18 #define IMP_REQUIRE_SEMICOLON_CLASS(Name) \
19  IMP_NO_DOXYGEN(IMP_NO_SWIG(struct semicolon_##Name##_helper_struct{}))
20 #define IMP_REQUIRE_SEMICOLON_NAMESPACE void dummy_f()
21 */
22 
23 
24 /** Disable unused variable warning for a variable.
25  */
26 #define IMP_UNUSED(variable) IMP::base::internal::eat(variable)
27 
28 #ifndef IMP_DOXYGEN
29 #ifdef __GNUC__
30 #define IMP_WARN_PREPROCESS(msg) IMP_PRAGMA(message IMP_STRINGIFY(msg) )
31 
32 //#if __GNUC_PREREQ(4,2)
33 #define IMP_GCC_DISABLE_WARNING(name)\
34  IMP_GCC_PRAGMA( diagnostic ignored IMP_STRINGIFY(name) )
35 
36 /*#else
37 #define IMP_GCC_DISABLE_WARNING(name)
38 #endif*/
39 
40 #else
41 #define IMP_GCC_DISABLE_WARNING(name)
42 #endif
43 
44 #endif
45 
46 
47 #endif /* IMPBASE_WARNING_MACROS_H */