Y
Hacker News
new
|
ask
|
show
|
jobs
by
arestor
3403 days ago
It's C. If you have an array, you may only compare to one element behind the last. Everything else is undefined behavior. So a compiler may just "optimize" your >= to ==.
2 comments
eridius
3403 days ago
No it won't. It's using pointers, not array indices. The compiler has no possible way of knowing that `pe` is the one-past-the-end address.
link
arestor
3403 days ago
It's still UB. The array could potentially be at the end of the address space...
link
eridius
3403 days ago
Well yes, it could, but that's not really an argument for saying that Ragel using == is just as good as using >=.
link
vbernat
3403 days ago
It's not an array. It's inside a large buffer allocated by nginx.
link