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