Message ID | yddwnxgyb12.fsf@CeBiTec.Uni-Bielefeld.DE |
---|---|
State | New |
Headers | show |
Series | rtl-ssa: Include memmodel.h before tm_p.h | expand |
Hi Rainer, > -----Original Message----- > From: Gcc-patches <gcc-patches-bounces@gcc.gnu.org> On Behalf Of > Rainer Orth > Sent: 17 December 2020 10:36 > To: gcc-patches@gcc.gnu.org > Cc: Richard Sandiford <Richard.Sandiford@arm.com> > Subject: [PATCH] rtl-ssa: Include memmodel.h before tm_p.h > > The RTL SSA merge broke SPARC bootstrap: > > In file included from ./tm_p.h:4, > from /vol/gcc/src/hg/master/local/gcc/rtl-ssa.h:54, > from /vol/gcc/src/hg/master/local/gcc/fwprop.c:29: > /vol/gcc/src/hg/master/local/gcc/config/sparc/sparc-protos.h:45:47: error: > use of enum 'memmodel' without previous declaration > extern void sparc_emit_membar_for_model (enum memmodel, int, int); > ^~~~~~~~ > > and similarly in rtl-ssa/functions.cc, rtl-ssa/changes.cc, and > rtl-ssa/insns.cc. > > Fixed by moving the memmove.h include in rtl-ssa.h before tm_p.h. > > Tested on sparc-sun-solaris2.11 and i386-pc-solaris2.11 (both into stage > 3 now, so the compilation error is gone). > > Ok for master? AFAIK simple patches like this that fix build/bootstrap are viewed as obvious and can be committed. I hope I'm not wrong 😊 Thanks, Kyrill > > Rainer > > -- > ----------------------------------------------------------------------------- > Rainer Orth, Center for Biotechnology, Bielefeld University > > > 2020-12-17 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> > > gcc: > * rtl-ssa.h: Include memmodel.h before tm_p.h.
Hi Kyryll, >> Fixed by moving the memmove.h include in rtl-ssa.h before tm_p.h. >> >> Tested on sparc-sun-solaris2.11 and i386-pc-solaris2.11 (both into stage >> 3 now, so the compilation error is gone). >> >> Ok for master? > > AFAIK simple patches like this that fix build/bootstrap are viewed as > obvious and can be committed. > I hope I'm not wrong 😊 I know, however I'm always unsure about the proper include order, thus asking for review. Thanks. Rainer
Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> writes: > Hi Kyryll, > >>> Fixed by moving the memmove.h include in rtl-ssa.h before tm_p.h. >>> >>> Tested on sparc-sun-solaris2.11 and i386-pc-solaris2.11 (both into stage >>> 3 now, so the compilation error is gone). >>> >>> Ok for master? >> >> AFAIK simple patches like this that fix build/bootstrap are viewed as >> obvious and can be committed. >> I hope I'm not wrong 😊 > > I know, however I'm always unsure about the proper include order, Me too TBH, as seen here. But I agree it looks like memmodel.h has to be included before tm_p.h. It looks like some files include emit-rtl.h without directly including tm_p.h (such as auto-inc-dec.c) so maybe that tm_p.h include was needed for something else. Or maybe auto-inc-dec.c gets it indirectly via something else. > thus asking for review. OK, thanks, and sorry for the breakage. Richard
diff --git a/gcc/rtl-ssa.h b/gcc/rtl-ssa.h --- a/gcc/rtl-ssa.h +++ b/gcc/rtl-ssa.h @@ -51,8 +51,8 @@ #include "rtlanal.h" // Provides the global crtl->ssa. +#include "memmodel.h" #include "tm_p.h" -#include "memmodel.h" #include "emit-rtl.h" // The rtl-ssa files themselves.