Patchwork [committed] sel-sched: unbreak init_expr when building with CXX

login
register
mail settings
Submitter Alexander Monakov
Date Nov. 18, 2010, 10:25 a.m.
Message ID <alpine.LNX.2.00.1011181304000.6883@monoid.intra.ispras.ru>
Download mbox | patch
Permalink /patch/72072/
State New
Headers show

Comments

Alexander Monakov - Nov. 18, 2010, 10:25 a.m.
Hi,

When the type of expr_def.target_available changed from bool to signed char,
the type of the corresponding parameter in init_expr was not updated.  This
breaks selective scheduler with --enable-build-with-cxx.  I have also made a
minor correction to usage of char type in fill_vec_av_set.

Committed as obvious.

2010-11-18  Alexander Monakov  <amonakov@ispras.ru>

        PR middle-end/46518
        * sel-sched-ir.c (init_expr): Use the correct type for
        target_available.
	* sel-sched.c (fill_vec_av_set): Use explicitly signed char type.

Patch

diff --git a/gcc/sel-sched-ir.c b/gcc/sel-sched-ir.c
index e169276..71c02c4 100644
--- a/gcc/sel-sched-ir.c
+++ b/gcc/sel-sched-ir.c
@@ -1595,7 +1595,7 @@  static void
 init_expr (expr_t expr, vinsn_t vi, int spec, int use, int priority,
 	   int sched_times, int orig_bb_index, ds_t spec_done_ds,
 	   ds_t spec_to_check_ds, int orig_sched_cycle,
-	   VEC(expr_history_def, heap) *history, bool target_available,
+	   VEC(expr_history_def, heap) *history, signed char target_available,
            bool was_substituted, bool was_renamed, bool needs_spec_check_p,
            bool cant_move)
 {
diff --git a/gcc/sel-sched.c b/gcc/sel-sched.c
index 8550fcc..cb3c379 100644
--- a/gcc/sel-sched.c
+++ b/gcc/sel-sched.c
@@ -3735,7 +3735,7 @@  fill_vec_av_set (av_set_t av, blist_t bnds, fence_t fence,
     {
       expr_t expr = VEC_index (expr_t, vec_av_set, n);
       insn_t insn = EXPR_INSN_RTX (expr);
-      char target_available;
+      signed char target_available;
       bool is_orig_reg_p = true;
       int need_cycles, new_prio;