[PATCH] D41976: Low-hanging fruit optimization in string::__move_assign().

Marshall Clow via Phabricator via cfe-commits cfe-commits at lists.llvm.org
Fri Jan 19 12:10:02 PST 2018


mclow.lists accepted this revision.
mclow.lists added a comment.
This revision is now accepted and ready to land.

This looks good to me.
Please add a test in test/libcxx/strings/string.modifiers and commit.

Something like this:

  #include <string>
  #include <cassert>
  
  int main () {
      std::string l = "This makes this a long string, I hope; just rambling on and on...";
      std::string s = "short";
      assert(l.__invariants());
      assert(s.__invariants());
  
      s.__clear_and_shrink();
      assert(s.__invariants());
      assert(s.size() == 0);
  
      l.__clear_and_shrink();
      assert(l.__invariants());
      assert(l.size() == 0);
  }


https://reviews.llvm.org/D41976





More information about the cfe-commits mailing list