<div dir="ltr">This code doesn't actually want to create and modify a temporary iterator. It's better to rewrite this code as std::prev(f->arg_end()).</div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 22, 2017 at 11:58 AM, Dmitry Babokin <span dir="ltr"><<a href="mailto:babokin@gmail.com" target="_blank">babokin@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Reid,<div><br></div><div>After your recent redefinition of arg_iterator, it's missing increment/decrement operators (which people typically expect to be defined for iterators). So some external code relying on this is broken. If it's not intentional, would be nice to have it fixed.</div><div><br></div><div>Specific code that I is broken looks like this:</div><div><br></div><div>llvm::Function f;</div><div>foo(--f->arg_end()); // passing the last argument to the function.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Dmitry.<br></div></font></span></div>
</blockquote></div><br></div>