18c8152070
2003-07-29 Geoffrey Keating <geoffk@apple.com> * c-common.c (allow_pch): Remove. * c-common.h (allow_pch): Remove. (c_common_no_more_pch): Declare. * c-lex.c (c_lex): Call c_common_no_more_pch when appropriate. * c-pch.c: Include hosthooks.h. (c_common_valid_pch): Don't check allow_pch. (c_common_read_pch): Clear valid_pch to prevent reading PCH files. (c_common_no_more_pch): New. * ggc-common.c: Include hosthooks.h. (gt_pch_save): Call gt_pch_get_address. (gt_pch_restore): Call gt_pch_use_address. * hooks.c (hook_voidp_size_t_null): New. (hook_bool_voidp_size_t_false): New. * hooks.h (hook_voidp_size_t_null): New. (hook_bool_voidp_size_t_false): New. * hosthooks-def.h (HOST_HOOKS_GT_PCH_GET_ADDRESS): New. (HOST_HOOKS_GT_PCH_USE_ADDRESS): New. (HOST_HOOKS_INITIALIZER): Add HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS. * hosthooks.h (struct host_hooks): Add gt_pch_get_address, gt_pch_use_address. * doc/hostconfig.texi (Host Common): Document HOST_HOOKS_GT_PCH_GET_ADDRESS, HOST_HOOKS_GT_PCH_USE_ADDRESS. * Makefile.in (c-pch.o): Depend on hosthooks.h. (ggc-common.o): Likewise. * config/rs6000/host-darwin.c (HOST_HOOKS_GT_PCH_GET_ADDRESS): Define. (HOST_HOOKS_GT_PCH_USE_ADDRESS): Define. (pch_address_space): New. (darwin_rs6000_gt_pch_get_address): New. (darwin_rs6000_gt_pch_use_address): New. Index: cp/ChangeLog 2003-07-29 Geoffrey Keating <geoffk@apple.com> * parser.c (cp_lexer_new_main): Use c_common_no_more_pch instead of setting valid_pch by hand. From-SVN: r69944
210 lines
4.3 KiB
C
210 lines
4.3 KiB
C
/* General-purpose hooks.
|
|
Copyright (C) 2002, 2003 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! */
|
|
|
|
/* This file contains generic hooks that can be used as defaults for
|
|
target or language-dependent hook initializers. */
|
|
|
|
#include "config.h"
|
|
#include "system.h"
|
|
#include "coretypes.h"
|
|
#include "tm.h"
|
|
#include "hooks.h"
|
|
|
|
/* Generic hook that does absolutely zappo. */
|
|
void
|
|
hook_void_void (void)
|
|
{
|
|
}
|
|
|
|
/* Generic hook that takes no arguments and returns false. */
|
|
bool
|
|
hook_bool_void_false (void)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
/* The same, but formally returning NO_REGS. */
|
|
int
|
|
hook_int_void_no_regs (void)
|
|
{
|
|
return NO_REGS;
|
|
}
|
|
|
|
/* Generic hook that takes (bool) and returns false. */
|
|
bool
|
|
hook_bool_bool_false (bool a ATTRIBUTE_UNUSED)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
|
|
/* Generic hook that takes (tree, int) and does nothing. */
|
|
void
|
|
hook_void_tree_int (tree a ATTRIBUTE_UNUSED, int b ATTRIBUTE_UNUSED)
|
|
{
|
|
}
|
|
|
|
/* Generic hook that takes (FILE *, const char *) and does nothing. */
|
|
void
|
|
hook_void_FILEptr_constcharptr (FILE *a ATTRIBUTE_UNUSED, const char *b ATTRIBUTE_UNUSED)
|
|
{
|
|
}
|
|
|
|
void
|
|
hook_void_constcharptr (const char *a ATTRIBUTE_UNUSED)
|
|
{
|
|
}
|
|
|
|
/* Used for the TARGET_ASM_CAN_OUTPUT_MI_THUNK hook. */
|
|
bool
|
|
hook_bool_tree_hwi_hwi_tree_false (tree a ATTRIBUTE_UNUSED,
|
|
HOST_WIDE_INT b ATTRIBUTE_UNUSED,
|
|
HOST_WIDE_INT c ATTRIBUTE_UNUSED,
|
|
tree d ATTRIBUTE_UNUSED)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
bool
|
|
hook_bool_tree_hwi_hwi_tree_true (tree a ATTRIBUTE_UNUSED,
|
|
HOST_WIDE_INT b ATTRIBUTE_UNUSED,
|
|
HOST_WIDE_INT c ATTRIBUTE_UNUSED,
|
|
tree d ATTRIBUTE_UNUSED)
|
|
{
|
|
return true;
|
|
}
|
|
|
|
bool
|
|
hook_bool_constcharptr_size_t_false (const char *a ATTRIBUTE_UNUSED,
|
|
size_t b ATTRIBUTE_UNUSED)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
bool
|
|
default_can_output_mi_thunk_no_vcall (tree a ATTRIBUTE_UNUSED,
|
|
HOST_WIDE_INT b ATTRIBUTE_UNUSED,
|
|
HOST_WIDE_INT c,
|
|
tree d ATTRIBUTE_UNUSED)
|
|
{
|
|
return c == 0;
|
|
}
|
|
|
|
/* ??? Used for comp_type_attributes, which ought to return bool. */
|
|
int
|
|
hook_int_tree_tree_1 (tree a ATTRIBUTE_UNUSED, tree b ATTRIBUTE_UNUSED)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
int
|
|
hook_int_rtx_0 (rtx a ATTRIBUTE_UNUSED)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int
|
|
hook_int_void_0 (void)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
int
|
|
hook_int_size_t_constcharptr_int_0 (size_t a ATTRIBUTE_UNUSED,
|
|
const char *b ATTRIBUTE_UNUSED,
|
|
int c ATTRIBUTE_UNUSED)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
unsigned int
|
|
hook_uint_uint_constcharptrptr_0 (unsigned int a ATTRIBUTE_UNUSED,
|
|
const char **b ATTRIBUTE_UNUSED)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
void
|
|
hook_void_tree (tree a ATTRIBUTE_UNUSED)
|
|
{
|
|
}
|
|
|
|
void
|
|
hook_void_tree_treeptr (tree a ATTRIBUTE_UNUSED, tree *b ATTRIBUTE_UNUSED)
|
|
{
|
|
}
|
|
|
|
bool
|
|
hook_bool_tree_false (tree a ATTRIBUTE_UNUSED)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
bool
|
|
hook_bool_tree_tree_false (tree a ATTRIBUTE_UNUSED, tree b ATTRIBUTE_UNUSED)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
bool
|
|
hook_bool_rtx_false (rtx a ATTRIBUTE_UNUSED)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
bool
|
|
hook_bool_rtx_int_int_intp_false (rtx a ATTRIBUTE_UNUSED,
|
|
int b ATTRIBUTE_UNUSED,
|
|
int c ATTRIBUTE_UNUSED,
|
|
int *d ATTRIBUTE_UNUSED)
|
|
{
|
|
return false;
|
|
}
|
|
|
|
/* Generic hook that takes an rtx and returns it. */
|
|
rtx
|
|
hook_rtx_rtx_identity (rtx x)
|
|
{
|
|
return x;
|
|
}
|
|
|
|
/* Generic hook that takes an rtx and returns NULL_RTX. */
|
|
rtx
|
|
hook_rtx_rtx_null (rtx x ATTRIBUTE_UNUSED)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
/* Generic hook that takes a size_t and returns NULL. */
|
|
void *
|
|
hook_voidp_size_t_null (size_t a ATTRIBUTE_UNUSED)
|
|
{
|
|
return NULL;
|
|
}
|
|
|
|
/* Generic hook that takes a size_t and a pointer and returns false. */
|
|
bool
|
|
hook_bool_voidp_size_t_false (void * a ATTRIBUTE_UNUSED,
|
|
size_t b ATTRIBUTE_UNUSED)
|
|
{
|
|
return false;
|
|
}
|