diff options
author | David Malcolm <dmalcolm@redhat.com> | 2019-12-10 02:02:38 +0000 |
---|---|---|
committer | David Malcolm <dmalcolm@gcc.gnu.org> | 2019-12-10 02:02:38 +0000 |
commit | d68f5d458d7df12b31d27094e8f7ed0208ccf693 (patch) | |
tree | c30d686a52fa2b8eecdade9221ca87d28f6f4909 /gcc/c-family | |
parent | d3e28653fa2cd9ad8d5c6acb4bd182bd473c0995 (diff) | |
download | gcc-d68f5d458d7df12b31d27094e8f7ed0208ccf693.zip gcc-d68f5d458d7df12b31d27094e8f7ed0208ccf693.tar.gz gcc-d68f5d458d7df12b31d27094e8f7ed0208ccf693.tar.bz2 |
Replace label_text ctor with "borrow" and "take"
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.
From-SVN: r279153
Diffstat (limited to 'gcc/c-family')
-rw-r--r-- | gcc/c-family/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/c-family/c-format.c | 2 |
2 files changed, 6 insertions, 1 deletions
diff --git a/gcc/c-family/ChangeLog b/gcc/c-family/ChangeLog index 09d7a04..9d48855 100644 --- a/gcc/c-family/ChangeLog +++ b/gcc/c-family/ChangeLog @@ -1,5 +1,10 @@ 2019-12-09 David Malcolm <dmalcolm@redhat.com> + * c-format.c (range_label_for_format_type_mismatch::get_text): + Replace label_text ctor called with true with label_text::take. + +2019-12-09 David Malcolm <dmalcolm@redhat.com> + * c-format.c (selftest::test_type_mismatch_range_labels): Remove initial newline from expected outputs. * c-opts.c (c_diagnostic_finalizer): Add pp_newline call before diff --git a/gcc/c-family/c-format.c b/gcc/c-family/c-format.c index 0be1349..c5fefd5 100644 --- a/gcc/c-family/c-format.c +++ b/gcc/c-family/c-format.c @@ -4629,7 +4629,7 @@ class range_label_for_format_type_mismatch char *result = concat (text.m_buffer, p, NULL); text.maybe_free (); - return label_text (result, true); + return label_text::take (result); } private: |