summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/ext/gnu-inline-common.h
blob: 87455ae7a6cb76fb02a7bdb33786af98e91faaff (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#ifndef gnu
# define gnu_inline __attribute__((gnu_inline)) inline
#endif

#define declspec(spec, name) spec int name (void)
#ifdef IN_CLASS
# define decl(spec, name)
#else
# define decl(spec, name) defpfx declspec(spec, name);
#endif
#define def(spec, name, ret) defpfx declspec(spec, name) { return ret; }
#define gnuindef(name, ret) def(gnu_inline, name, ret)

#ifndef pfx
# ifdef IN_CLASS
#  define pfx(x) IN_CLASS::x
# else
#  define pfx(x) x
# endif
#endif

#ifndef defpfx
# define defpfx
#endif