On Thu, 2016-02-11 at 19:54 +0100, Basile Starynkevitch wrote: > Hello All, > > I am busy merging the GCC trunk branch (i.e. future GCC 6) into the > MELT > branch & plugin. > > I am noticing a strange thing. > > I was able to merge GCC trunk svn rev. 227945 into the MELT branch > (svn > rev. 233352) without any issues. > > Now, I am trying to merge into the MELT branch > > svn merge -r227926:227945 ^/trunk > > Notice that the merge above is quite small, and AFAIU did not touch > any > gengtype related stuff. > > But strangely, the merged build is failing in gengtype: > > > build/gengtype -v \ > -r gtype.state > gengtype reading state file gtype.state;gengtype read 1085612 bytes. > ../../gcc-melt-basile/gcc/melt/generated/meltrunsup.h:256: missing > `tag' > option for type `gimple' > ../../gcc-melt-basile/gcc/melt/generated/meltrunsup.h:265: missing > `tag' > option for type `gimple' > ../../gcc-melt-basile/gcc/melt/generated/meltrunsup.h:256: missing > `tag' > option for type `gimple' > ../../gcc-melt-basile/gcc/melt/generated/meltrunsup.h:265: missing > `tag' > option for type `gimple' > ../../gcc-melt-basile/gcc/melt/generated/meltrunsup.h:256: missing > `tag' > option for type `gimple' > ../../gcc-melt-basile/gcc/melt/generated/meltrunsup.h:265: missing > `tag' > option for type `gimple' > gengtype write #1 gt-go-go-lang.h > gengtype write #2 gt-jit-dummy-frontend.h > gengtype write #3 gt-c-c-decl.h > gengtype write #4 gt-cp-tree.h > gengtype write #5 gt-fortran-f95-lang.h > gengtype write #6 gtype-desc.c > gengtype write #7 gtype-lto.h > gengtype write #8 gtype-java.h > gengtype write #9 gtype-ada.h > gengtype write #10 gtype-desc.h > gengtype wrote 10 files. > > > Here are lines 252-267 of my gcc/melt/generated/meltrunsup.h > /*gtyctypebox gtyctyp #4 CTYPE_GIMPLE*/ > struct GTY (()) meltgimple_st /* when MELTOBMAG_GIMPLE*/ > { > meltobject_ptr_t discr; > gimple val; > operator melt_ptr_t () > { > return reinterpret_cast<melt_ptr_t>(this); > } > }; /* end of meltgimple_st */ > > struct GTY (()) entrygimplemelt_st /* for MELTOBMAG_MAPGIMPLES*/ > { > gimple e_at; > melt_ptr_t e_va; > }; > > > FWIW, the gcc/melt/generated/meltrunsup.h file did not change in the > MELT branch since long time ago. > > Do you have any clues about what has changed in gengtype about these > tag > options in GCC 6? Or about the gimple type?
In r227941, "gimple" changed meaning. It's no longer a pointer to a statement; instead, it's now the statement struct itself (see e.g. https://gcc.gnu.org/ml/gcc-patches/2016-02/msg00765.html ) Try changing these to "gimple *". Hope this is helpful Dave