diff options
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 10 | ||||
-rw-r--r-- | gcc/dumpfile.c | 23 | ||||
-rw-r--r-- | gcc/dumpfile.h | 1 |
3 files changed, 26 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index c33a3ad7ce9..e7e9788ea6c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,13 @@ +2012-10-22 Sharad Singhai <singhai@google.com> + + * dumpfile.c (dump_phase_enabled_p): Renamed dump_enabled_p. Update + all callers. + (dump_enabled_p): A new function to check if any of the dump files + is available. + (dump_kind_p): Remove check for current_function_decl. Add check for + dumpfile and alt_dump_file. + * dumpfile.h: Add declaration of dump_enabled_p. + 2012-10-22 Richard Biener <rguenther@suse.de> PR lto/55021 diff --git a/gcc/dumpfile.c b/gcc/dumpfile.c index 2f610b6c259..4ac427b273a 100644 --- a/gcc/dumpfile.c +++ b/gcc/dumpfile.c @@ -35,7 +35,7 @@ static int alt_flags; /* current opt_info flags */ static FILE *alt_dump_file = NULL; static void dump_loc (int, FILE *, source_location); -static int dump_enabled_p (int); +static int dump_phase_enabled_p (int); static FILE *dump_open_alternate_stream (struct dump_file_info *); /* Table of tree dump switches. This must be consistent with the @@ -380,7 +380,7 @@ dump_start (int phase, int *flag_ptr) char *name; struct dump_file_info *dfi; FILE *stream; - if (phase == TDI_none || !dump_enabled_p (phase)) + if (phase == TDI_none || !dump_phase_enabled_p (phase)) return 0; dfi = get_dump_file_info (phase); @@ -461,7 +461,7 @@ dump_begin (int phase, int *flag_ptr) struct dump_file_info *dfi; FILE *stream; - if (phase == TDI_none || !dump_enabled_p (phase)) + if (phase == TDI_none || !dump_phase_enabled_p (phase)) return NULL; name = get_dump_file_name (phase); @@ -493,8 +493,8 @@ dump_begin (int phase, int *flag_ptr) If PHASE is TDI_tree_all, return nonzero if any dump is enabled for any phase. */ -int -dump_enabled_p (int phase) +static int +dump_phase_enabled_p (int phase) { if (phase == TDI_tree_all) { @@ -514,6 +514,14 @@ dump_enabled_p (int phase) } } +/* Return true if any of the dumps are enabled, false otherwise. */ + +inline bool +dump_enabled_p (void) +{ + return (dump_file || alt_dump_file); +} + /* Returns nonzero if tree dump PHASE has been initialized. */ int @@ -834,9 +842,8 @@ opt_info_switch_p (const char *arg) bool dump_kind_p (int msg_type) { - if (!current_function_decl) - return 0; - return ((msg_type & pflags) || (msg_type & alt_flags)); + return (dump_file && (msg_type & pflags)) + || (alt_dump_file && (msg_type & alt_flags)); } /* Print basic block on the dump streams. */ diff --git a/gcc/dumpfile.h b/gcc/dumpfile.h index 87a2c728623..24374bfd96b 100644 --- a/gcc/dumpfile.h +++ b/gcc/dumpfile.h @@ -121,6 +121,7 @@ extern int dump_switch_p (const char *); extern int opt_info_switch_p (const char *); extern const char *dump_flag_name (int); extern bool dump_kind_p (int); +extern inline bool dump_enabled_p (void); extern void dump_printf (int, const char *, ...) ATTRIBUTE_PRINTF_2; extern void dump_printf_loc (int, source_location, const char *, ...) ATTRIBUTE_PRINTF_3; |