Dune Core Modules (2.6.0)

visibility.hh
Go to the documentation of this file.
1 // -*- tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*-
2 // vi: set et ts=4 sw=2 sts=2:
3 #ifndef DUNE_COMMON_VISIBILITY_HH
4 #define DUNE_COMMON_VISIBILITY_HH
5 
10 #ifdef DOXYGEN
11 
13 
18 #define DUNE_EXPORT implementation_defined
19 
21 
26 #define DUNE_PRIVATE implementation_defined
27 
28 #else // DOXYGEN
29 
30 #if __GNUC__ >= 4
31 // GCC and Clang both define __GNUC__ to 4 and they both support the visibility
32 // attribute
33 #define DUNE_EXPORT __attribute__((visibility("default")))
34 #define DUNE_PRIVATE __attribute__((visibility("hidden")))
35 #else
36 // We don't know about the active compiler, so just turn the visibility macros to no-ops.
37 #define DUNE_EXPORT
38 #define DUNE_PRIVATE
39 #endif
40 
41 #endif // DOXYGEN
42 
43 #endif // DUNE_COMMON_VISIBILITY
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.80.0 (May 2, 22:35, 2024)