re PR bootstrap/44426 (gcc 4.5.0 requires c9x compiler to build)
PR bootstrap/44426 * sel-sched-dump.h (sel_prepare_string_for_dot_label): Remove prototype. (sel_print_to_dot): Remove macro. (sel_print): Likewise. New prototype. * sel-sched-dump.c (sel_prepare_string_for_dot_label): Make static. (sel_print): New function. From-SVN: r161092
This commit is contained in:
parent
d34b4f64c8
commit
6747788144
@ -3,6 +3,14 @@
|
||||
* stmt.c (resolve_asm_operand_names): Fix handling
|
||||
of %%.
|
||||
|
||||
PR bootstrap/44426
|
||||
* sel-sched-dump.h (sel_prepare_string_for_dot_label): Remove
|
||||
prototype.
|
||||
(sel_print_to_dot): Remove macro.
|
||||
(sel_print): Likewise. New prototype.
|
||||
* sel-sched-dump.c (sel_prepare_string_for_dot_label): Make static.
|
||||
(sel_print): New function.
|
||||
|
||||
2010-06-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
|
||||
|
||||
* config/sol2.h (TARGET_OS_CPP_BUILTINS): Define
|
||||
|
@ -566,7 +566,7 @@ replace_str_in_buf (char *buf, const char *str1, const char *str2)
|
||||
}
|
||||
|
||||
/* Replace characters in BUF that have special meaning in .dot file. */
|
||||
void
|
||||
static void
|
||||
sel_prepare_string_for_dot_label (char *buf)
|
||||
{
|
||||
static char specials_from[7][2] = { "<", ">", "{", "|", "}", "\"",
|
||||
@ -579,6 +579,28 @@ sel_prepare_string_for_dot_label (char *buf)
|
||||
replace_str_in_buf (buf, specials_from[i], specials_to[i]);
|
||||
}
|
||||
|
||||
/* This function acts like printf but dumps to the sched_dump file. */
|
||||
void
|
||||
sel_print (const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
va_start (ap, fmt);
|
||||
if (sched_dump_to_dot_p)
|
||||
{
|
||||
char *message;
|
||||
if (vasprintf (&message, fmt, ap) >= 0 && message != NULL)
|
||||
{
|
||||
message = (char *) xrealloc (message, 2 * strlen (message) + 1);
|
||||
sel_prepare_string_for_dot_label (message);
|
||||
fprintf (sched_dump, "%s", message);
|
||||
free (message);
|
||||
}
|
||||
}
|
||||
else
|
||||
vfprintf (sched_dump, fmt, ap);
|
||||
va_end (ap);
|
||||
}
|
||||
|
||||
/* Dump INSN with FLAGS. */
|
||||
static void
|
||||
sel_dump_cfg_insn (insn_t insn, int flags)
|
||||
|
@ -177,34 +177,13 @@ extern void dump_insn_1 (insn_t, int);
|
||||
extern void dump_insn (insn_t);
|
||||
extern void debug_insn (insn_t);
|
||||
|
||||
extern void sel_prepare_string_for_dot_label (char *);
|
||||
|
||||
/* When this flag is on, we are dumping to the .dot file.
|
||||
When it is off, we are dumping to log. */
|
||||
extern bool sched_dump_to_dot_p;
|
||||
|
||||
/* This macro acts like printf but dumps information to the .dot file.
|
||||
Used when dumping control flow. */
|
||||
#define sel_print_to_dot(...) \
|
||||
do { \
|
||||
int __j = 1 + 2 * snprintf (NULL, 0, __VA_ARGS__); \
|
||||
char *__s = XALLOCAVEC (char, __j); \
|
||||
snprintf (__s, __j, __VA_ARGS__); \
|
||||
sel_prepare_string_for_dot_label (__s); \
|
||||
fprintf (sched_dump, "%s", __s); \
|
||||
} while (0)
|
||||
|
||||
/* This macro acts like printf but dumps to the sched_dump file. */
|
||||
#define sel_print(...) \
|
||||
do { \
|
||||
if (sched_dump_to_dot_p) \
|
||||
sel_print_to_dot (__VA_ARGS__); \
|
||||
else \
|
||||
fprintf (sched_dump, __VA_ARGS__); \
|
||||
} while (0)
|
||||
|
||||
|
||||
/* Functions from sel-sched-dump.c. */
|
||||
extern void sel_print (const char *fmt, ...) ATTRIBUTE_PRINTF_1;
|
||||
extern const char * sel_print_insn (const_rtx, int);
|
||||
extern void free_sel_dump_data (void);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user