<div dir="ltr">Reid,<div><br></div><div>std::prev() works, though IMHO increment/decrement are more conventional way (I'm not saying better) to work with iterators.</div><div><br></div><div>I have no problem fixing code on my side, I'm just bringing your attention that code like this is broken. If your judgement is to keep it the way it is now, I'm ok with it.</div><div><br></div><div>Thanks.</div><div><br></div><div>Dmitry.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 22, 2017 at 1:20 PM, Reid Kleckner <span dir="ltr"><<a href="mailto:rnk@google.com" target="_blank">rnk@google.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"><div class="gmail_extra"><div class="gmail_quote"><span class="">On Wed, Mar 22, 2017 at 1:12 PM, 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"><div class="gmail_extra"><div class="gmail_quote"><span><div>Correct, I mean exactly this. Though &* is not important in this case.<br></div></span><div><br></div><div>This code doesn't work anymore, as arg_iterator is defined differently now: <a href="https://github.com/llvm-mirror/llvm/blob/master/include/llvm/IR/Function.h#L57" target="_blank">https://github.com/llvm-m<wbr>irror/llvm/blob/master/include<wbr>/llvm/IR/Function.h#L57</a></div><div><br></div><div>I get an error when I'm using pre-decrement operator:</div><div><div>error: expression is not assignable</div><div>      --f->arg_end();</div></div></div></div></div></blockquote><div><br></div></span><div>Today's arg_iterator is now just an Argument*, which is the world's simplest iterator. The '--f->arg_end()' snippet only compiled before this change because we used to use fancy ilist iterators which had overloaded decrement operators.</div><div><br></div><div>I don't think we should make a wrapper pointer iterator type just to make old code like this compile.</div></div></div></div>
</blockquote></div><br></div>