On 10/10/2013 06:44 AM, Jan-Benedict Glaw wrote:
Hi!
On Mon, 2013-09-16 10:32:24 -0400, Andrew MacLeod <amacl...@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 <jbg...@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;