On 10/20/2016 08:37 AM, David Malcolm wrote:
On Thu, 2016-10-20 at 16:24 +0200, Marek Polacek wrote:
On Thu, Oct 20, 2016 at 10:11:55AM -0400, Jason Merrill wrote:
On Wed, Oct 19, 2016 at 7:07 AM, Marek Polacek <pola...@redhat.com>
wrote:
But since integer csts and various decls
don't carry location info, this works only partially, so the
warning
warns even for e.g.

  if (TREE_STATIC (node) || DECL_EXTERNAL (node))
    max_align = MAX_OFILE_ALIGNMENT;
  else
    max_align = MAX_STACK_ALIGNMENT;

when MAX_OFILE_ALIGNMENT and MAX_STACK_ALIGNMENT represent the
same number.
There's no way to get around this, so the warning isn't enabled
by nor
-Wall neither -Wextra, and can't be until we solve the pesky
location
horror.  (-Wduplicated-cond is off for the very same reason.)

Is someone working on this?

Not me, but I think David has been experimenting with this.  David,
is that
correct?

I started looking at this, but it's unlikely that I'll have something
ready for gcc 7 (have been focusing on the RTL frontend).
Right. David and I have kicked around some ideas on how we might get to a point where constants and decls can carry location information, but we agreed that it wasn't likely gcc-7 material.

So the question in my mind is does the warning make sense given we can't current disambiguate constants and thus are likely generating a goodly number of false positives.

[ Presumably it was good enough to catch the duplicated branch code Jon pointed out in tree-ssa-threadupdate.c recently? Any other real bugs
flagged? ]

jeff

Reply via email to