home
about
news
download
doc
source
systems
tests
bugs
contact
IMP Reference Guide
develop.63b38c487d,2024/12/21
The Integrative Modeling Platform
IMP Manual
Reference Guide
Tutorial Index
Modules
Classes
Examples
include
IMP
version 20241221.develop.63b38c487d
warning_macros.h
Go to the documentation of this file.
1
/**
2
* \file IMP/warning_macros.h
3
* \brief Macros to control compiler warnings.
4
*
5
* Copyright 2007-2022 IMP Inventors. All rights reserved.
6
*
7
*/
8
9
#ifndef IMPKERNEL_WARNING_MACROS_H
10
#define IMPKERNEL_WARNING_MACROS_H
11
12
#include <IMP/kernel_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
/** Disable unused variable warning for a variable.
24
*/
25
#define IMP_UNUSED(variable) IMP::internal::eat(variable)
26
27
#ifndef IMP_DOXYGEN
28
#ifdef __GNUC__
29
#define IMP_WARN_PREPROCESS(msg) IMP_PRAGMA(message IMP_STRINGIFY(msg))
30
31
//#if __GNUC_PREREQ(4,2)
32
#define IMP_GCC_DISABLE_WARNING(name) \
33
IMP_GCC_PRAGMA(diagnostic ignored IMP_STRINGIFY(name))
34
35
/*#else
36
#define IMP_GCC_DISABLE_WARNING(name)
37
#endif*/
38
39
#else
40
#define IMP_GCC_DISABLE_WARNING(name)
41
#endif
42
43
#endif
44
45
#endif
/* IMPKERNEL_WARNING_MACROS_H */