summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/ext/gnu-inline-common.h
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.dg/ext/gnu-inline-common.h')
-rw-r--r--gcc/testsuite/g++.dg/ext/gnu-inline-common.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/ext/gnu-inline-common.h b/gcc/testsuite/g++.dg/ext/gnu-inline-common.h
new file mode 100644
index 000000000..87455ae7a
--- /dev/null
+++ b/gcc/testsuite/g++.dg/ext/gnu-inline-common.h
@@ -0,0 +1,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