aboutsummaryrefslogtreecommitdiff
path: root/gcc/common/config
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/config
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/config')
-rw-r--r--gcc/common/config/default-common.c34
-rw-r--r--gcc/common/config/pa/pa-common.c28
2 files changed, 62 insertions, 0 deletions
diff --git a/gcc/common/config/default-common.c b/gcc/common/config/default-common.c
new file mode 100644
index 0000000..8ea2354
--- /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;
diff --git a/gcc/common/config/pa/pa-common.c b/gcc/common/config/pa/pa-common.c
new file mode 100644
index 0000000..a14e9b1
--- /dev/null
+++ b/gcc/common/config/pa/pa-common.c
@@ -0,0 +1,28 @@
+/* HPPA common hooks.
+ 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"
+#include "tm.h"
+
+struct gcc_targetm_common targetm_common = TARGETM_COMMON_INITIALIZER;