1169689Skan/* Mudflap: narrow-pointer bounds-checking by tree rewriting. 2169689Skan Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. 3169689Skan Contributed by Frank Ch. Eigler <fche@redhat.com> 4169689Skan 5169689SkanThis file is part of GCC. 6169689Skan 7169689SkanGCC is free software; you can redistribute it and/or modify it under 8169689Skanthe terms of the GNU General Public License as published by the Free 9169689SkanSoftware Foundation; either version 2, or (at your option) any later 10169689Skanversion. 11169689Skan 12169689SkanGCC is distributed in the hope that it will be useful, but WITHOUT ANY 13169689SkanWARRANTY; without even the implied warranty of MERCHANTABILITY or 14169689SkanFITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 15169689Skanfor more details. 16169689Skan 17169689SkanYou should have received a copy of the GNU General Public License 18169689Skanalong with GCC; see the file COPYING. If not, write to the Free 19169689SkanSoftware Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 20169689Skan02110-1301, USA. */ 21169689Skan 22169689Skan 23169689Skan#include "config.h" 24169689Skan#include "system.h" 25169689Skan#include "coretypes.h" 26169689Skan#include "tm.h" 27169689Skan#include "tree.h" 28169689Skan#include "tree-inline.h" 29169689Skan#include "c-tree.h" 30169689Skan#include "c-common.h" 31169689Skan#include "tree-gimple.h" 32169689Skan#include "diagnostic.h" 33169689Skan#include "hashtab.h" 34169689Skan#include "output.h" 35169689Skan#include "varray.h" 36169689Skan#include "langhooks.h" 37169689Skan#include "tree-mudflap.h" 38169689Skan#include "tree-pass.h" 39169689Skan#include "ggc.h" 40169689Skan#include "toplev.h" 41169689Skan 42169689Skan 43169689Skan 44169689Skan/* This file contains placeholder functions, to be used only for 45169689Skan language processors that cannot handle tree-mudflap.c directly. 46169689Skan (e.g. Fortran). */ 47169689Skan 48169689Skanstatic void 49169689Skannogo (void) 50169689Skan{ 51169689Skan internal_error ("mudflap: this language is not supported"); 52169689Skan} 53169689Skan 54169689Skanvoid 55169689Skanmudflap_enqueue_decl (tree obj ATTRIBUTE_UNUSED) 56169689Skan{ 57169689Skan nogo (); 58169689Skan} 59169689Skan 60169689Skanvoid 61169689Skanmudflap_enqueue_constant (tree obj ATTRIBUTE_UNUSED) 62169689Skan{ 63169689Skan nogo (); 64169689Skan} 65169689Skan 66169689Skanvoid 67169689Skanmudflap_finish_file (void) 68169689Skan{ 69169689Skan nogo (); 70169689Skan} 71169689Skan 72169689Skanint 73169689Skanmf_marked_p (tree t ATTRIBUTE_UNUSED) 74169689Skan{ 75169689Skan nogo (); 76169689Skan return 0; 77169689Skan} 78169689Skan 79169689Skantree 80169689Skanmf_mark (tree t ATTRIBUTE_UNUSED) 81169689Skan{ 82169689Skan nogo (); 83169689Skan return NULL; 84169689Skan} 85169689Skan 86169689Skan/* The pass structures must exist, but need not do anything. */ 87169689Skan 88169689Skanstruct tree_opt_pass pass_mudflap_1 = 89169689Skan{ 90169689Skan "mudflap1", /* name */ 91169689Skan NULL, /* gate */ 92169689Skan NULL, /* execute */ 93169689Skan NULL, /* sub */ 94169689Skan NULL, /* next */ 95169689Skan 0, /* static_pass_number */ 96169689Skan 0, /* tv_id */ 97169689Skan 0, /* properties_required */ 98169689Skan 0, /* properties_provided */ 99169689Skan 0, /* properties_destroyed */ 100169689Skan 0, /* todo_flags_start */ 101169689Skan 0, /* todo_flags_finish */ 102169689Skan 0 /* letter */ 103169689Skan}; 104169689Skan 105169689Skanstruct tree_opt_pass pass_mudflap_2 = 106169689Skan{ 107169689Skan "mudflap2", /* name */ 108169689Skan NULL, /* gate */ 109169689Skan NULL, /* execute */ 110169689Skan NULL, /* sub */ 111169689Skan NULL, /* next */ 112169689Skan 0, /* static_pass_number */ 113169689Skan 0, /* tv_id */ 114169689Skan 0, /* properties_required */ 115169689Skan 0, /* properties_provided */ 116169689Skan 0, /* properties_destroyed */ 117169689Skan 0, /* todo_flags_start */ 118169689Skan 0, /* todo_flags_finish */ 119169689Skan 0 /* letter */ 120169689Skan}; 121169689Skan 122169689Skan/* Instead of: 123169689Skan#include "gt-tree-mudflap.h" 124169689SkanWe prepare a little dummy struct here. 125169689Skan*/ 126169689Skan 127169689Skanconst struct ggc_root_tab gt_ggc_r_gt_tree_mudflap_h[] = { 128169689Skan LAST_GGC_ROOT_TAB 129169689Skan}; 130