X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=gcc%2Ftree-nomudflap.c;h=f204e2a064c4a72cc858ceea5d3ff6645ab8a7b1;hb=169d9eaf8c2d0c0f34b48dc474facc1c53546385;hp=420fc39a88b5d3ef8da0256d4890dfd00396b71f;hpb=4ee9c6840ad3fc92a9034343278a1e476ad6872a;p=pf3gnuchains%2Fgcc-fork.git diff --git a/gcc/tree-nomudflap.c b/gcc/tree-nomudflap.c index 420fc39a88b..f204e2a064c 100644 --- a/gcc/tree-nomudflap.c +++ b/gcc/tree-nomudflap.c @@ -1,12 +1,13 @@ /* Mudflap: narrow-pointer bounds-checking by tree rewriting. - Copyright (C) 2001, 2002, 2003 Free Software Foundation, Inc. + Copyright (C) 2001, 2002, 2003, 2007, 2008, 2009, 2010 + Free Software Foundation, Inc. Contributed by Frank Ch. Eigler This file is part of GCC. GCC 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 +Software Foundation; either version 3, or (at your option) any later version. GCC is distributed in the hope that it will be useful, but WITHOUT ANY @@ -15,29 +16,24 @@ 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 GCC; see the file COPYING. If not, write to the Free -Software Foundation, 59 Temple Place - Suite 330, Boston, MA -02111-1307, USA. */ +along with GCC; see the file COPYING3. If not see +. */ #include "config.h" -#include "errors.h" #include "system.h" #include "coretypes.h" #include "tm.h" #include "tree.h" #include "tree-inline.h" -#include "c-tree.h" -#include "c-common.h" -#include "tree-simple.h" -#include "diagnostic.h" +#include "gimple.h" #include "hashtab.h" #include "output.h" -#include "varray.h" #include "langhooks.h" #include "tree-mudflap.h" #include "tree-pass.h" #include "ggc.h" +#include "diagnostic-core.h" @@ -48,7 +44,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA static void nogo (void) { - internal_error ("mudflap: this language is not supported"); + sorry ("mudflap: this language is not supported"); } void @@ -85,36 +81,48 @@ mf_mark (tree t ATTRIBUTE_UNUSED) /* The pass structures must exist, but need not do anything. */ -struct tree_opt_pass pass_mudflap_1 = +static bool +gate_mudflap (void) { + return flag_mudflap != 0; +} + +struct gimple_opt_pass pass_mudflap_1 = +{ + { + GIMPLE_PASS, "mudflap1", /* name */ - NULL, /* gate */ + gate_mudflap, /* gate */ NULL, /* execute */ NULL, /* sub */ NULL, /* next */ 0, /* static_pass_number */ - 0, /* tv_id */ + TV_NONE, /* tv_id */ 0, /* properties_required */ 0, /* properties_provided */ 0, /* properties_destroyed */ 0, /* todo_flags_start */ - 0 /* todo_flags_finish */ + 0 /* todo_flags_finish */ + } }; -struct tree_opt_pass pass_mudflap_2 = +struct gimple_opt_pass pass_mudflap_2 = { + { + GIMPLE_PASS, "mudflap2", /* name */ - NULL, /* gate */ + gate_mudflap, /* gate */ NULL, /* execute */ NULL, /* sub */ NULL, /* next */ 0, /* static_pass_number */ - 0, /* tv_id */ + TV_NONE, /* tv_id */ 0, /* properties_required */ 0, /* properties_provided */ 0, /* properties_destroyed */ 0, /* todo_flags_start */ - 0 /* todo_flags_finish */ + 0 /* todo_flags_finish */ + } }; /* Instead of: @@ -122,6 +130,6 @@ struct tree_opt_pass pass_mudflap_2 = We prepare a little dummy struct here. */ -const struct ggc_root_tab gt_ggc_r_gt_tree_mudflap_h[] = { +EXPORTED_CONST struct ggc_root_tab gt_ggc_r_gt_tree_mudflap_h[] = { LAST_GGC_ROOT_TAB };