aboutsummaryrefslogtreecommitdiff
path: root/gcc/config.gcc
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2011-04-06 12:08:17 +0100
committerJoseph Myers <jsm28@gcc.gnu.org>2011-04-06 12:08:17 +0100
commitacce4e77382b198a70f1044724bda19b01997657 (patch)
tree8e4c7045bc87ed3ed6e71d6b4f137a6be8e21970 /gcc/config.gcc
parent275b4baa7103f181bf0d7a7e3b97497d6b678ce6 (diff)
downloadgcc-acce4e77382b198a70f1044724bda19b01997657.zip
gcc-acce4e77382b198a70f1044724bda19b01997657.tar.gz
gcc-acce4e77382b198a70f1044724bda19b01997657.tar.bz2
tm.texi.in: Document C target hooks as separate from general target hooks.
* doc/tm.texi.in: Document C target hooks as separate from general target hooks. * doc/tm.texi: Regenerate. * genhooks.c (struct hook_desc): Add docname field. (HOOK_VECTOR_1, DEFHOOKPOD, DEFHOOK, DEFHOOK_UNDOC). Initialize docname field. (hook_array): Include c-target.def. (emit_documentation): Use docname field in output. (emit_init_macros): Take docname argument. Only emit definitions for hooks matching docname. (main): Expect additional arguments in all cases. Pass argument to emit_init_macros. * target.def: Move initial macro definitions and comments to target-hooks-macros.h. (gcc_targetcm): Move to c-family/c-target.def. * target.h (targetcm): Move declaration to c-family/c-target.h. * targhooks.c (default_handle_c_option): Move to c-family/c-opts.c. * targhooks.h (default_handle_c_option): Move declaration to c-family/c-common.h. * target-hooks-macros.h: New file. * config.gcc (target_has_targetcm): Define and use to add to c_target_objs and cxx_target_objs. * config/default-c.c: New file. * config/darwin-c.c: Include c-target.h and c-target-def.h instead of target.h and target-def.h. (TARGET_HANDLE_C_OPTION, targetcm): Define later in file. (darwin_objc_construct_string, darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Make static. (TARGET_OBJC_CONSTRUCT_STRING_OBJECT, TARGET_STRING_OBJECT_REF_TYPE_P, TARGET_CHECK_STRING_OBJECT_FORMAT_ARG): Define here. * config/darwin-protos.h (darwin_objc_construct_string, darwin_cfstring_ref_p, darwin_check_cfstring_format_arg): Don't declare. * config/darwin.h (TARGET_OBJC_CONSTRUCT_STRING_OBJECT, TARGET_STRING_OBJECT_REF_TYPE_P, TARGET_CHECK_STRING_OBJECT_FORMAT_ARG, TARGET_HAS_TARGETCM): Remove. * config/t-darwin (darwin-c.o): Update dependencies. * system.h (TARGET_HAS_TARGETCM): Poison. * Makefile.in (TARGET_H): Update. (TARGET_DEF, C_TARGET_DEF, C_TARGET_H, C_TARGET_DEF_H): Define. (c-family/c-format.o, c-family/c-opts.o): Update dependencies. (default-c.o): New target. (s-target-hooks-def-h): Pass "Target Hook" string to genhooks. (c-family/c-target-hooks-def.h, s-c-target-hooks-def-h): New targets. (s-tm-texi): Pass -d option to genhooks. Also test timestamp on c-target.def. (build/genhooks.o): Update dependencies. c-family: * c-target-def.h: New file. * c-target.def: New file. * c-target.h: New file. * c-common.c (targetcm): Don't define here. * c-common.h (default_handle_c_option): Declare. * c-format.c: Include c-target.h instead of target.h. * c-opts.c: Include c-target.h instead of target.h. Explicitly include tm.h. (default_handle_c_option): Move from targhooks.c. objc: * objc-act.c: Include c-target.h instead of target.h. * Make-lang.in (objc/objc-act.o): Update dependencies. From-SVN: r172035
Diffstat (limited to 'gcc/config.gcc')
-rw-r--r--gcc/config.gcc10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/config.gcc b/gcc/config.gcc
index d40ad44d..811b8e1 100644
--- a/gcc/config.gcc
+++ b/gcc/config.gcc
@@ -183,6 +183,9 @@
#
# gnu_ld Set to yes or no depending on whether the target
# system normally uses GNU ld.
+#
+# target_has_targetcm Set to yes or no depending on whether the target
+# has its own definition of targetcm.
out_file=
tmake_file=
@@ -200,6 +203,7 @@ extra_options=
c_target_objs=
cxx_target_objs=
fortran_target_objs=
+target_has_targetcm=no
tm_defines=
xm_defines=
# Set this to force installation and use of collect2.
@@ -478,6 +482,7 @@ case ${target} in
c_target_objs="${c_target_objs} darwin-c.o"
cxx_target_objs="${cxx_target_objs} darwin-c.o"
fortran_target_objs="darwin-f.o"
+ target_has_targetcm=yes
extra_objs="darwin.o"
extra_gcc_objs="darwin-driver.o"
default_use_cxa_atexit=yes
@@ -2661,6 +2666,11 @@ powerpc*-*-* | rs6000-*-*)
tm_file="${tm_file} rs6000/option-defaults.h"
esac
+if [ "$target_has_targetcm" = "no" ]; then
+ c_target_objs="$c_target_objs default-c.o"
+ cxx_target_objs="$cxx_target_objs default-c.o"
+fi
+
# Support for --with-cpu and related options (and a few unrelated options,
# too).
case ${with_cpu} in