<div dir="ltr">Fully C-reduced, same flags:<div><br></div><div>$ cat t.cpp<div><div>struct a {</div><div>  static const bool b = b;</div><div>};</div><div>class c {</div><div>public:</div><div>  int *f();</div><div>  int operator[](unsigned d) { return f()[d]; }</div><div>};</div><div>template <typename, int> class e : public c {};</div><div>struct g {</div><div>  unsigned h();</div><div>  unsigned j();</div><div>};</div><div>class k {</div><div>  int m_fn4(int &) const;</div><div>};</div><div>bool ac(e<int, a::b> ad, g m) {</div><div>  int n = m.h(), o = m.j() / 8;</div><div>  if (n != 4)</div><div>    return false;</div><div>  int s = n / o;</div><div>  for (int l = 0; l < o; ++l)</div><div>    for (int i = l * s; i; ++i) {</div><div>      int p = ad[i];</div><div>      if (p)</div><div>        return false;</div><div>    }</div><div>  return true;</div><div>}</div><div>int k::m_fn4(int &q) const {</div><div>  g m;</div><div>  e<int, a::b> r;</div><div>  ac(r, m);</div><div>  return q;</div><div>}</div></div><div><br></div><div>$ <span style="color:rgb(0,0,0)">clang -c t.cpp -O2 -fsanitize=address -std=c++11 -fno-exceptions</span></div><div><br></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 13, 2016 at 6:57 AM, Sebastian Pop <span dir="ltr"><<a href="mailto:sebpop.llvm@gmail.com" target="_blank">sebpop.llvm@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Mon, Dec 12, 2016 at 5:33 PM, Reid Kleckner via llvm-commits<br>
<<a href="mailto:llvm-commits@lists.llvm.org">llvm-commits@lists.llvm.org</a>> wrote:<br>
> Reverted in r289453. This is still reducing<br>
<br>
</span>Thanks Reid for taking care of reverting the patch.<br>
I will have a look at the partially reduced testcase.<br>
<span class="HOEnZb"><font color="#888888"><br>
Sebastian<br>
</font></span></blockquote></div><br></div>