aboutsummaryrefslogtreecommitdiff
path: root/gcc/common/common-target.h
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2011-06-14 21:11:37 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2011-06-14 21:11:37 +0100
commitc49a69620430855d0b44d4248f4722b0ce0e6013 (patch)
treefbc63c1e6ab5dbc70fa471c1f8ba73b1a4c9e4e5 /gcc/common/common-target.h
parent22c5fa5fbfd9634c3389f845e77ddf8e6ea32f7b (diff)
downloadgcc-c49a69620430855d0b44d4248f4722b0ce0e6013.zip
gcc-c49a69620430855d0b44d4248f4722b0ce0e6013.tar.gz
gcc-c49a69620430855d0b44d4248f4722b0ce0e6013.tar.bz2
common-target-def.h, [...]: New files.
* common/common-target-def.h, common/common-target.def, common/common-target.h, common/config/default-common.c, common/config/pa/pa-common.c: New files. * Makefile.in (common_out_file, common_out_object_file, COMMON_TARGET_H, COMMON_TARGET_DEF_H): New. (OBJS-libcommon-target): Include $(common_out_object_file). (prefix.o): Update dependencies. ($(common_out_object_file), common/common-target-hooks-def.h, s-common-target-hooks-def-h): New. (s-tm-texi): Also check timestamp on common-target.def. (build/genhooks.o): Update dependencies. * config.gcc (common_out_file, target_has_targetm_common): Define. * config/pa/som.h (ALWAYS_STRIP_DOTDOT): Replace with TARGET_ALWAYS_STRIP_DOTDOT. * configure.ac (common_out_object_file): Define. (common_out_file, common_out_object_file): Substitute. (common): Create directory. * configure: Regenerate. * doc/tm.texi.in (targetm_common): Document. (TARGET_ALWAYS_STRIP_DOTDOT): Add @hook entry. * doc/tm.texi: Regenerate. * genhooks.c (hook_array): Also include common/common-target.def. * prefix.c (tm.h): Don't include. (common/common-target.h): Include. (ALWAYS_STRIP_DOTDOT): Don't define. (update_path): Use targetm_common.always_strip_dotdot instead of ALWAYS_STRIP_DOTDOT. * system.h (ALWAYS_STRIP_DOTDOT): Poison. From-SVN: r175052
Diffstat (limited to 'gcc/common/common-target.h')
-rw-r--r--gcc/common/common-target.h35
1 files changed, 35 insertions, 0 deletions
diff --git a/gcc/common/common-target.h b/gcc/common/common-target.h
new file mode 100644
index 0000000..615ac08
--- /dev/null
+++ b/gcc/common/common-target.h
@@ -0,0 +1,35 @@
+/* Data structure definitions for common hooks.
+ Copyright (C) 2011
+ Free Software Foundation, Inc.
+
+ This program is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 3, or (at your option) any
+ later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; see the file COPYING3. If not see
+ <http://www.gnu.org/licenses/>.
+
+ In other words, you are welcome to use, share and improve this program.
+ You are forbidden to forbid anyone else to use, share and improve
+ what you give them. Help stamp out software-hoarding! */
+
+#ifndef GCC_COMMON_TARGET_H
+#define GCC_COMMON_TARGET_H
+
+#define DEFHOOKPOD(NAME, DOC, TYPE, INIT) TYPE NAME;
+#define DEFHOOK(NAME, DOC, TYPE, PARAMS, INIT) TYPE (* NAME) PARAMS;
+#define DEFHOOK_UNDOC DEFHOOK
+#define HOOKSTRUCT(FRAGMENT) FRAGMENT
+
+#include "common-target.def"
+
+extern struct gcc_targetm_common targetm_common;
+
+#endif /* GCC_C_TARGET_H */