f6155fda7b
* target.h (struct gcc_target): New fields init_builtins and expand_builtin. * target-def.h (TARGET_INIT_BUILTINS): New macro. (TARGET_EXPAND_BUILTIN): New macro. (TARGET_INITIALIZER): Add them. * builtins.c: Include target.h. (expand_builtin): Use targetm.expand_builtin. (default_init_builtins): New function. (default_expand_builtin): New function. * expr.h (default_init_builtins): Declare. (default_expand_builtin): Declare. * c-common.c (c_common_nodes_and_builtins): Use targetm.init_builtins. * defaults.h (MD_INIT_BUILTINS): Remove. * Makefile.in (builtins.o): Depend on target.h. * config/arm/arm.c (TARGET_INIT_BUILTINS): Define. (TARGET_EXPAND_BUILTIN): Define. * config/arm/arm.h (MD_INIT_BUILTINS): Remove. (MD_EXPAND_BUILTIN): Remove. * config/c4x/c4x.c (TARGET_INIT_BUILTINS): Define. (TARGET_EXPAND_BUILTIN): Define. (c4x_init_builtins): Make endlink arg a local. (c4x_print_operand): Fix typos in adjust_address usages. * config/c4x/c4x-protos.h (c4x_init_builtins): Update decl. * config/c4x/c4x.h (MD_INIT_BUILTINS): Remove. (MD_EXPAND_BUILTIN): Remove. * config/i386/i386.c (TARGET_INIT_BUILTINS): Define. (TARGET_EXPAND_BUILTIN): Define. (ix86_init_mmx_sse_builtins): New function, was ix86_init_builtins. (ix86_init_builtins): Call new function only if TARGET_MMX. * config/i386/i386-protos.h (ix86_init_mmx_sse_builtins): Declare. * config/i386/i386.h (MD_INIT_BUILTINS): Remove. (MD_EXPAND_BUILTIN): Remove. * config/ia64/ia64.c (TARGET_INIT_BUILTINS): Define. (TARGET_EXPAND_BUILTIN): Define. * config/ia64/ia64.h (MD_INIT_BUILTINS): Remove. (MD_EXPAND_BUILTIN): Remove. * doc/tm.texi: Document these changes. From-SVN: r43888
70 lines
2.7 KiB
C
70 lines
2.7 KiB
C
/* Default initializers for a generic GCC target.
|
|
Copyright (C) 2001 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 2, 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; if not, write to the Free Software
|
|
Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
|
|
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! */
|
|
|
|
/* See target.h for a desciption of what this file contains and how to
|
|
use it.
|
|
|
|
We want to have non-NULL default definitions of all hook functions,
|
|
even if they do nothing. */
|
|
|
|
/* Assembler output. */
|
|
#define TARGET_ASM_OPEN_PAREN "("
|
|
#define TARGET_ASM_CLOSE_PAREN ")"
|
|
#define TARGET_ASM_FUNCTION_PROLOGUE default_function_pro_epilogue
|
|
#define TARGET_ASM_FUNCTION_EPILOGUE default_function_pro_epilogue
|
|
#define TARGET_ASM_FUNCTION_END_PROLOGUE no_asm_to_stream
|
|
#define TARGET_ASM_FUNCTION_BEGIN_EPILOGUE no_asm_to_stream
|
|
|
|
#define TARGET_ASM_OUT {TARGET_ASM_OPEN_PAREN, \
|
|
TARGET_ASM_CLOSE_PAREN, \
|
|
TARGET_ASM_FUNCTION_PROLOGUE, \
|
|
TARGET_ASM_FUNCTION_END_PROLOGUE, \
|
|
TARGET_ASM_FUNCTION_BEGIN_EPILOGUE, \
|
|
TARGET_ASM_FUNCTION_EPILOGUE}
|
|
|
|
/* All in tree.c. */
|
|
#define TARGET_MERGE_DECL_ATTRIBUTES merge_decl_attributes
|
|
#define TARGET_MERGE_TYPE_ATTRIBUTES merge_type_attributes
|
|
#define TARGET_VALID_DECL_ATTRIBUTE default_valid_attribute_p
|
|
#define TARGET_VALID_TYPE_ATTRIBUTE default_valid_attribute_p
|
|
#define TARGET_COMP_TYPE_ATTRIBUTES default_comp_type_attributes
|
|
#define TARGET_SET_DEFAULT_TYPE_ATTRIBUTES default_set_default_type_attributes
|
|
#define TARGET_INSERT_ATTRIBUTES default_insert_attributes
|
|
|
|
/* In builtins.c. */
|
|
#define TARGET_INIT_BUILTINS default_init_builtins
|
|
#define TARGET_EXPAND_BUILTIN default_expand_builtin
|
|
|
|
/* The whole shebang. */
|
|
#define TARGET_INITIALIZER \
|
|
{ \
|
|
TARGET_ASM_OUT, \
|
|
TARGET_MERGE_DECL_ATTRIBUTES, \
|
|
TARGET_MERGE_TYPE_ATTRIBUTES, \
|
|
TARGET_VALID_DECL_ATTRIBUTE, \
|
|
TARGET_VALID_TYPE_ATTRIBUTE, \
|
|
TARGET_COMP_TYPE_ATTRIBUTES, \
|
|
TARGET_SET_DEFAULT_TYPE_ATTRIBUTES, \
|
|
TARGET_INSERT_ATTRIBUTES, \
|
|
TARGET_INIT_BUILTINS, \
|
|
TARGET_EXPAND_BUILTIN \
|
|
}
|