On Sat, Sep 23, 2017 at 12:34 PM, nick <xerofo...@gmail.com> wrote: > > > On 2017-09-23 12:05 PM, Jeff Law wrote: >> On 09/22/2017 08:25 PM, nick wrote: >>> Greetings All, >>> >>> I am wondering if this is a warning worth looking into or is it just >>> another false postive: >>> >>> /home/nick/gcc/gcc/combine.c:1316:8: warning: ‘prev’ may be used >>> uninitialized in this function [-Wmaybe-uninitialized] >>> if ((next = try_combine (insn, prev, NULL, NULL, >>> >>> Maybe it's just me being new to the project but is the code for that >>> literally or also identical between this and the >>> one where CC0 register is directly used. >> Looks like a false positive to me. Without more details (host, target, >> flags, cpp output) I can't be 100% sure why it triggers though. >> >> Flow sensitive warnings such as this are very sensitive to a variety of >> low level target and IL details. >> >> >> >> Jeff >> > > Jeff, > > Thanks specifically what low level details do you need. It's currently on a > x86-64 bit ubuntu host. > Was build with the stock gcc from the ubuntu 17.04 repos with W=2 for extra > warnings. What do these > lines do, anything outside of the normal setting marcos as they seem to me: > > && GET_CODE (PATTERN (insn)) == SET > && reg_mentioned_p (cc0_rtx, SET_SRC (PATTERN (insn))) > > I am wondering what GET_CODE,SET_SRC, PATTERN marcos do plus the function > called, reg_mentioned_P? > If your able to just tell me where the functions are located or how do you > enable ctags for all of > gcc? That would just save me asking stupid questions. Is there a global > setting like make ctags for > doing this or you I have to do it manually. > > Thanks for the quick response, > > Nick
I think I remember running into this warning before; it's because stage 1 of bootstrap is built without optimization so the warnings don't have as good information. Right, here's the link to the end of the thread about it: https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00143.html