196263Sobrien/* General-purpose hooks. 2169689Skan Copyright (C) 2002, 2003, 2004, 2005 Free Software Foundation, Inc. 396263Sobrien 496263SobrienThis program is free software; you can redistribute it and/or modify it 596263Sobrienunder the terms of the GNU General Public License as published by the 696263SobrienFree Software Foundation; either version 2, or (at your option) any 796263Sobrienlater version. 896263Sobrien 996263SobrienThis program is distributed in the hope that it will be useful, 1096263Sobrienbut WITHOUT ANY WARRANTY; without even the implied warranty of 1196263SobrienMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1296263SobrienGNU General Public License for more details. 1396263Sobrien 1496263SobrienYou should have received a copy of the GNU General Public License 1596263Sobrienalong with this program; if not, write to the Free Software 16169689SkanFoundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. 1796263Sobrien 1896263Sobrien In other words, you are welcome to use, share and improve this program. 1996263Sobrien You are forbidden to forbid anyone else to use, share and improve 2096263Sobrien what you give them. Help stamp out software-hoarding! */ 2196263Sobrien 22102780Skan#ifndef GCC_HOOKS_H 23102780Skan#define GCC_HOOKS_H 24102780Skan 25169689Skan#include "machmode.h" 26169689Skan 27132718Skanextern bool hook_bool_void_false (void); 28169689Skanextern bool hook_bool_void_true (void); 29132718Skanextern bool hook_bool_bool_false (bool); 30169689Skanextern bool hook_bool_mode_false (enum machine_mode); 31169689Skanextern bool hook_bool_mode_rtx_false (enum machine_mode, rtx); 32169689Skanextern bool hook_bool_mode_rtx_true (enum machine_mode, rtx); 33132718Skanextern bool hook_bool_tree_false (tree); 34132718Skanextern bool hook_bool_tree_true (tree); 35132718Skanextern bool hook_bool_tree_hwi_hwi_tree_false (tree, HOST_WIDE_INT, HOST_WIDE_INT, 36132718Skan tree); 37132718Skanextern bool hook_bool_tree_hwi_hwi_tree_true (tree, HOST_WIDE_INT, HOST_WIDE_INT, 38132718Skan tree); 39132718Skanextern bool hook_bool_rtx_false (rtx); 40132718Skanextern bool hook_bool_uintp_uintp_false (unsigned int *, unsigned int *); 41132718Skanextern bool hook_bool_rtx_int_int_intp_false (rtx, int, int, int *); 42132718Skanextern bool hook_bool_constcharptr_size_t_false (const char *, size_t); 43169689Skanextern bool hook_bool_size_t_constcharptr_int_true (size_t, const char *, int); 44169689Skanextern bool hook_bool_tree_tree_false (tree, tree); 45169689Skanextern bool hook_bool_tree_bool_false (tree, bool); 46117395Skan 47132718Skanextern void hook_void_void (void); 48169689Skanextern void hook_void_constcharptr (const char *); 49132718Skanextern void hook_void_FILEptr_constcharptr (FILE *, const char *); 50132718Skanextern void hook_void_tree (tree); 51132718Skanextern void hook_void_tree_treeptr (tree, tree *); 52102780Skan 53169689Skanextern int hook_int_tree_0 (tree); 54132718Skanextern int hook_int_tree_tree_1 (tree, tree); 55132718Skanextern int hook_int_rtx_0 (rtx); 56132718Skanextern int hook_int_size_t_constcharptr_int_0 (size_t, const char *, int); 57132718Skanextern int hook_int_void_no_regs (void); 58117395Skan 59169689Skanextern tree hook_tree_tree_tree_null (tree, tree); 60169689Skanextern tree hook_tree_tree_tree_tree_3rd_identity (tree, tree, tree); 61169689Skanextern tree hook_tree_tree_tree_bool_null (tree, tree, bool); 62169689Skan 63132718Skanextern unsigned hook_uint_uint_constcharptrptr_0 (unsigned, const char **); 64117395Skan 65132718Skanextern bool default_can_output_mi_thunk_no_vcall (tree, HOST_WIDE_INT, 66132718Skan HOST_WIDE_INT, tree); 67132718Skan 68132718Skanextern rtx hook_rtx_rtx_identity (rtx); 69132718Skanextern rtx hook_rtx_rtx_null (rtx); 70132718Skanextern rtx hook_rtx_tree_int_null (tree, int); 71169689Skan 72146895Skanextern const char *hook_constcharptr_tree_null (tree); 73169689Skanextern const char *hook_constcharptr_rtx_null (rtx); 74169689Skanextern const char *hook_constcharptr_tree_tree_null (tree, tree); 75169689Skanextern const char *hook_constcharptr_int_tree_null (int, tree); 76169689Skanextern const char *hook_constcharptr_int_tree_tree_null (int, tree, tree); 77102780Skan#endif 78