diff options
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/tree-cfg.c | 7 |
2 files changed, 10 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0f834e4..f521314 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,5 +1,10 @@ 2007-02-19 Eric Botcazou <ebotcazou@adacore.com> + * tree-cfg.c (dump_function_to_file): Be prepared for functions + without DECL_STRUCT_FUNCTION initialized. + +2007-02-19 Eric Botcazou <ebotcazou@adacore.com> + * gimplify.c (gimplify_init_ctor_preeval_1): Detect potential overlap due to calls to functions taking pointers as parameters. diff --git a/gcc/tree-cfg.c b/gcc/tree-cfg.c index a99f3c7..593dc0d 100644 --- a/gcc/tree-cfg.c +++ b/gcc/tree-cfg.c @@ -4998,6 +4998,7 @@ void dump_function_to_file (tree fn, FILE *file, int flags) { tree arg, vars, var; + struct function *dsf; bool ignore_topmost_bind = false, any_var = false; basic_block bb; tree chain; @@ -5015,8 +5016,10 @@ dump_function_to_file (tree fn, FILE *file, int flags) } fprintf (file, ")\n"); - if (flags & TDF_DETAILS) - dump_eh_tree (file, DECL_STRUCT_FUNCTION (fn)); + dsf = DECL_STRUCT_FUNCTION (fn); + if (dsf && (flags & TDF_DETAILS)) + dump_eh_tree (file, dsf); + if (flags & TDF_RAW) { dump_node (fn, TDF_SLIM | flags, file); |