In the parser, cpp_end and cpp_vend are very similar. cpp_end is removed and instead replaced by cpp_vend and additional checks that ensure a non-virtual destructor does not have a pure specifier.