This is the mail archive of the gcc-patches@gcc.gnu.org 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:
Hi!

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

         * tree-flow.h (FREE_SSANAMES): Move to tree-ssanames.c
         (SSANAMES, MODIFIED_NORETURN_CALLS, DEFAULT_DEFS, ptr_info_def,
         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
         * Makefile.in (tree-ssanames.h): Add to tree-ssanames.o and GTFILES.

See for example this build log:
http://toolchain.lug-owl.de/buildbot/showlog.php?id=11663&mode=view

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/Makefile.in.
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 (http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=16934),
r203320 is known-bad (http://toolchain.lug-owl.de/buildbot/show_build_details.php?id=16956).

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

MfG, JBG

[1] http://toolchain.lug-owl.de/buildbot/
     http://toolchain.lug-owl.de/buildbot/timeline.php


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

Andrew

	* 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]