This is the mail archive of the mailing list for the GCC project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [buildrobot] r203314..r203320: ssa / ssanames restructure broke alpha-linux again

On 10/10/2013 06:44 AM, Jan-Benedict Glaw wrote:

On Mon, 2013-09-16 10:32:24 -0400, Andrew MacLeod <> wrote:
On 09/16/2013 05:05 AM, Richard Biener wrote:
On Sat, Sep 14, 2013 at 12:41 PM, Jan-Benedict Glaw <> wrote:
My Build Robot[1] found this recent commit to break Alpha:

         * tree-flow.h (FREE_SSANAMES): Move to tree-ssanames.c
         num_ssa_names, ssa_name): Move to tree-ssanames.h + prototypes.
         * tree-flow-inline.h (make_ssa_name, copy_ssa_name, duplicate_ssa_name,
         make_temp_ssa_name): move to tree-ssanames.h
         * tree-ssa-alias.h: Move prototype.
         * tree-ssa.h: Include tree-ssanames.h.
         * tree-ssanames.c (FREE_SSANAMES): Move to here.
         * tree-ssanames.h: New.  Move items from tree-flow*.h
         * (tree-ssanames.h): Add to tree-ssanames.o and GTFILES.

See for example this build log:

I suggest this patch, which fixes an alpha-linux build for me:
I think you can remove the tree-flow.h include and you need to update the
dependencies in gcc/
of course... :-P

I see rs6000.c and i386.c  both use tree-flow.h as well.  I will
have to see what they are actually pulling in from that file so I
don't break those eventually too.
The build robot[1] found a similar problem:

g++ -c   -g -O2 -DIN_GCC -DCROSS_DIRECTORY_STRUCTURE  -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -fno-common  -DHAVE_CONFIG_H -I. -I. -I../../../../gcc/gcc -I../../../../gcc/gcc/. -I../../../../gcc/gcc/../include -I../../../../gcc/gcc/../libcpp/include  -I../../../../gcc/gcc/../libdecnumber -I../../../../gcc/gcc/../libdecnumber/dpd -I../libdecnumber -I../../../../gcc/gcc/../libbacktrace    -o alpha.o -MT alpha.o -MMD -MP -MF ./.deps/alpha.TPo ../../../../gcc/gcc/config/alpha/alpha.c
In file included from ../../../../gcc/gcc/config/alpha/alpha.c:53:0:
../../../../gcc/gcc/config/alpha/alpha.c: In function âbool alpha_stdarg_optimize_hook(stdarg_info*, const_gimple)â:
../../../../gcc/gcc/tree-ssanames.h:62:56: error: invalid use of incomplete type âstruct gimple_dfâ
  #define num_ssa_names (vec_safe_length (cfun->gimple_df->ssa_names))
../../../../gcc/gcc/config/alpha/alpha.c:5943:61: note: in expansion of macro ânum_ssa_namesâ
        || !bitmap_bit_p (si->va_list_vars, DECL_UID (base) + num_ssa_names))
In file included from ../../../../gcc/gcc/expr.h:24:0,
                  from ../../../../gcc/gcc/config/alpha/alpha.c:36:
../../../../gcc/gcc/function.h:164:8: error: forward declaration of âstruct gimple_dfâ
  struct gimple_df;
make[2]: *** [alpha.o] Error 1

r203314 is known-good (,
r203320 is known-bad (

So this is probably uncovered by one of the three large patches in
betwee, which all fight heder file dependencies :)



Thanks. Just needed to update alpha.c's include file to be able to access num_ssa_names. cross built stage 1 to confirm error and check the change solved the build problem.

attached patch checked in as revision 203352


	* config/aplha/alpha.c: Add gimple-ssa.h to include list.

Index: config/alpha/alpha.c
*** config/alpha/alpha.c	(revision 203351)
--- config/alpha/alpha.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 57,62 ****
--- 57,63 ----
  #include "libfuncs.h"
  #include "opts.h"
  #include "params.h"
+ #include "gimple-ssa.h"
  /* Specify which cpu to schedule for.  */
  enum processor_type alpha_tune;

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]