diff --git a/bolt/include/bolt/Core/FunctionLayout.h b/bolt/include/bolt/Core/FunctionLayout.h --- a/bolt/include/bolt/Core/FunctionLayout.h +++ b/bolt/include/bolt/Core/FunctionLayout.h @@ -303,16 +303,16 @@ return {block_begin(), block_end()}; } block_reverse_iterator block_rbegin() { - return block_reverse_iterator(block_end()); + return block_reverse_iterator(Blocks.rbegin()); } block_const_reverse_iterator block_rbegin() const { - return block_const_reverse_iterator(block_end()); + return block_const_reverse_iterator(std::make_reverse_iterator(block_end())); } block_reverse_iterator block_rend() { - return block_reverse_iterator(block_begin()); + return block_reverse_iterator(Blocks.rend()); } block_const_reverse_iterator block_rend() const { - return block_const_reverse_iterator(block_begin()); + return block_const_reverse_iterator(std::make_reverse_iterator(block_begin())); } iterator_range rblocks() const { return {block_rbegin(), block_rend()};