On Fri, 2019-11-15 at 20:22 -0500, David Malcolm wrote:
> libcpp's label_text class wraps a text buffer, along with a flag to
> determine if it "owns" the buffer.
> 
> The existing ctor exposed this directly, but I found it difficult
> to remember the sense of flag, so this patch hides the ctor, in
> favor of static member functions "borrow" and "take", to make
> the effect on ownership explicit in the name.
> 
> gcc/c-family/ChangeLog:
>       * c-format.c (range_label_for_format_type_mismatch::get_text):
>       Replace label_text ctor called with true with label_text::take.
> 
> gcc/c/ChangeLog:
>       * c-objc-common.c (range_label_for_type_mismatch::get_text):
>       Replace label_text ctor calls.
> 
> gcc/cp/ChangeLog:
>       * error.c (range_label_for_type_mismatch::get_text): Replace
>       label_text ctor calls with label_text::borrow.
> 
> gcc/ChangeLog:
>       * gcc-rich-location.c
>       (maybe_range_label_for_tree_type_mismatch::get_text): Replace
>       label_text ctor call with label_text::borrow.
>       * gcc-rich-location.h (text_range_label::get_text): Replace
>       label_text ctor called with false with label_text::borrow.
> 
> libcpp/ChangeLog:
>       * include/line-map.h (label_text::label_text): Make private.
>       (label_text::borrow): New.
>       (label_text::take): New.
>       (label_text::take_or_copy): New.
OK
jeff

Reply via email to