summaryrefslogtreecommitdiff
path: root/gcc/common/config/default-common.c
diff options
context:
space:
mode:
authorjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2011-06-14 20:11:37 +0000
committerjsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>2011-06-14 20:11:37 +0000
commit3e87b9805fa6658a46a068e835a004005bcef879 (patch)
treefbc63c1e6ab5dbc70fa471c1f8ba73b1a4c9e4e5 /gcc/common/config/default-common.c
parent771e289076fb404b3af142ccbc1ce7251ae95ee6 (diff)
downloadgcc-3e87b9805fa6658a46a068e835a004005bcef879.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175052 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/common/config/default-common.c')
-rw-r--r--gcc/common/config/default-common.c34
1 files changed, 34 insertions, 0 deletions
diff --git a/gcc/common/config/default-common.c b/gcc/common/config/default-common.c
new file mode 100644
index 00000000000..8ea235495cb
--- /dev/null
+++ b/gcc/common/config/default-common.c
@@ -0,0 +1,34 @@
+/* Default common target hooks initializer.
+ Copyright (C) 2011
+ Free Software Foundation, Inc.
+
+This file is part of GCC.
+
+GCC 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.
+
+GCC 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 GCC; see the file COPYING3. If not see
+<http://www.gnu.org/licenses/>. */
+
+#include "config.h"
+#include "system.h"
+#include "coretypes.h"
+#include "common/common-target.h"
+#include "common/common-target-def.h"
+
+/* Do not include tm.h or tm_p.h here; if it is useful for a target to
+ define some macros for the initializer in a header without defining
+ targetm_common itself (for example, because of interactions with
+ some hooks depending on the target OS and others on the target
+ architecture), create a separate tm_common.h for only the relevant
+ definitions. */
+
+struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER;