This is the mail archive of the 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: Weird warning when building gcc

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


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,


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]