[llvm-commits] [PATCH] Change SMRange to be half-open (exclusive end)

Chris Lattner clattner at apple.com
Fri Jan 4 18:01:35 PST 2013


On Jan 3, 2013, at 1:25 PM, Jordan Rose <jordan_rose at apple.com> wrote:

> Happy new year, everyone. Here's my half-open SMRange patch again, now with correct fixes for all the asm parsers. A repeat of the justification:
> 
> - More consistent with C++ (begin() and end()).
> - Empty ranges are useful to represent insertions (for my upcoming revised fixit patch)
> - It is unclear what it means if the last character of a range is a multibyte character -- does the pointer refer to the start of the character, or the last byte in the character?
> - It looks like some of the AsmParser uses of SMRange were already assuming this.
> 
> This touches a lot of AsmParser code, but it should only be modifying source locations (in some cases the source fidelity will improve because I cleaned the logic up a bit; in others it may actually slip a bit since one-character tokens can no longer be represented by an [X, X] range). If anyone wants to look over the AsmParser changes, or to comment on the change in general, please reply; otherwise I'll check this in tomorrow.

It's a big patch, but LGTM!

-Chris



More information about the llvm-commits mailing list