Steven, actually the last piece of mail I sent you was a lie. The bug I fixed is different.

The problem is that between the time that I check my code in an now, someone changed the representation of BASIC_BLOCK.

lorien:~/gccDFTest/gcc(27) diff basic-block.h  ../../gccBaseline/gcc
370c370
<   varray_type x_basic_block_info;
---
>   VEC(basic_block,gc) *x_basic_block_info;
402c402
<   (VARRAY_BB (basic_block_info_for_function(FN), (N)))
---
>   (VEC_index (basic_block, basic_block_info_for_function(FN), (N)))
414c414,415
< #define BASIC_BLOCK(N)                (VARRAY_BB (basic_block_info, (N)))
---
> #define BASIC_BLOCK(N) (VEC_index (basic_block, basic_block_info, (N))) > #define SET_BASIC_BLOCK(N,BB) (VEC_replace (basic_block, basic_block_info, (N), (BB)))

I will change my code and submit something when I get it thru stage 1 build.

kenny


Steven Bosscher wrote:
On Wednesday 11 January 2006 21:44, Steven Bosscher wrote:
Hi,

I can't build the trunk today:

gcc -c   -O0 -g -DIN_GCC   -W -Wall -Wwrite-strings -Wstrict-prototypes
-Wmissing-prototypes -pedantic -Wno-long-long -Wno-variadic-macros
-Wold-style-definition -Wmissing-format-attribute    -DHAVE_CONFIG_H -I.
-I. -I../../trunk/gcc -I../../trunk/gcc/. -I../../trunk/gcc/../include
-I../../trunk/gcc/../libcpp/include  -I../../trunk/gcc/../libdecnumber
-I../libdecnumber    ../../trunk/gcc/df-problems.c -o df-problems.o
../../trunk/gcc/df-core.c: In function ‘df_compact_blocks’:
../../trunk/gcc/df-core.c:795: error: invalid lvalue in assignment
../../trunk/gcc/df-core.c:803: error: invalid lvalue in assignment
../../trunk/gcc/df-core.c: In function ‘df_bb_replace’:
../../trunk/gcc/df-core.c:833: error: invalid lvalue in assignment
make[2]: *** [df-core.o] Error 1
make[2]: *** Waiting for unfinished jobs....

From df-core.c:
  free (problem_temps);

  i = NUM_FIXED_BLOCKS;
  FOR_EACH_BB (bb)
    {
      BASIC_BLOCK (i) = bb;
      bb->index = i;
      i++;
    }

  gcc_assert (i == n_basic_blocks);

  for (; i < last_basic_block; i++)
    BASIC_BLOCK (i) = NULL;


Now look at cfg.c:compact_blocks...  df-core.c should use that function
instead of duplicating it.

Gr.
Steven


Reply via email to