diff options
author | Martin Liska <mliska@suse.cz> | 2022-07-18 09:50:59 +0200 |
---|---|---|
committer | Martin Liska <mliska@suse.cz> | 2022-07-18 09:50:59 +0200 |
commit | 85df616e13a6a176883e39362c764a2dfa3448e8 (patch) | |
tree | f8a689c7075c69fce355abdbe5bc97b0d10bb144 /libcpp | |
parent | c29d4ad6d7f4ca1ebfd9489bb62178ea09ae6c6b (diff) | |
parent | 2907bfc3412dd8aef6c6acc17f2152a4e0ac4979 (diff) | |
download | gcc-85df616e13a6a176883e39362c764a2dfa3448e8.zip gcc-85df616e13a6a176883e39362c764a2dfa3448e8.tar.gz gcc-85df616e13a6a176883e39362c764a2dfa3448e8.tar.bz2 |
Merge branch 'master' into devel/sphinx
Diffstat (limited to 'libcpp')
-rw-r--r-- | libcpp/ChangeLog | 7 | ||||
-rw-r--r-- | libcpp/include/line-map.h | 25 |
2 files changed, 20 insertions, 12 deletions
diff --git a/libcpp/ChangeLog b/libcpp/ChangeLog index fe02298..4905bd5 100644 --- a/libcpp/ChangeLog +++ b/libcpp/ChangeLog @@ -1,3 +1,10 @@ +2022-07-15 Jonathan Wakely <jwakely@redhat.com> + + * include/line-map.h (label_text::take_or_copy): Remove. + (label_text::moved_from): Rename to release. + (label_text::m_buffer, label_text::m_owned): Make private. + (label_text::get, label_text::is_owned): New accessors. + 2022-07-13 Marek Polacek <polacek@redhat.com> PR preprocessor/106272 diff --git a/libcpp/include/line-map.h b/libcpp/include/line-map.h index c434a24..9bdd5b9 100644 --- a/libcpp/include/line-map.h +++ b/libcpp/include/line-map.h @@ -1851,7 +1851,7 @@ public: label_text (label_text &&other) : m_buffer (other.m_buffer), m_owned (other.m_owned) { - other.moved_from (); + other.release (); } /* Move assignment. */ @@ -1861,7 +1861,7 @@ public: free (m_buffer); m_buffer = other.m_buffer; m_owned = other.m_owned; - other.moved_from (); + other.release (); return *this; } @@ -1882,25 +1882,26 @@ public: return label_text (buffer, true); } - /* Take ownership of the buffer, copying if necessary. */ - char *take_or_copy () + void release () { - if (m_owned) - return m_buffer; - else - return xstrdup (m_buffer); + m_buffer = NULL; + m_owned = false; } - void moved_from () + const char *get () const { - m_buffer = NULL; - m_owned = false; + return m_buffer; } + bool is_owner () const + { + return m_owned; + } + +private: char *m_buffer; bool m_owned; -private: label_text (char *buffer, bool owned) : m_buffer (buffer), m_owned (owned) {} |