3.1-rc3 (revision d9ca08bb)
otf2_compiler.h
Go to the documentation of this file.
1 /*
2  * This file is part of the Score-P software (http://www.score-p.org)
3  *
4  * Copyright (c) 2021,
5  * Technische Universitaet Dresden, Germany
6  *
7  * This software may be modified and distributed under the terms of
8  * a BSD-style license. See the COPYING file in the package base
9  * directory for details.
10  *
11  */
12 
13 
14 #ifndef OTF2_COMPILER_H
15 #define OTF2_COMPILER_H
16 
17 
25 #if defined( __has_attribute )
26  #define __otf2_has_attribute( x ) __has_attribute( x )
27 #else
28  #define __otf2_has_attribute( x ) 0
29 #endif
30 
31 
32 #if __otf2_has_attribute( deprecated ) && !defined( OTF2_IGNORE_ATTRIBUTE_DEPRECATED )
33  // __has_attribute was introduced in GCC 5 but attributes on enum entries only in GCC 6
34  // PGI/NVIDIA still claim GCC compatibility, but this is a lie
35  #if !( defined( __PGI ) || defined( __GNUC__ ) && __GNUC__ < 6 )
36  #define __otf2_deprecated__ __attribute__( ( deprecated ) )
37  #endif
38 #endif
39 
40 
41 #ifndef __otf2_deprecated__
42  #define __otf2_deprecated__
43 #endif
44 
45 
46 #undef __otf2_has_attribute
47 
48 
49 #endif /* !OTF2_COMPILER_H */