aboutsummaryrefslogtreecommitdiff
path: root/libcpp
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2022-07-18 09:50:59 +0200
committerMartin Liska <mliska@suse.cz>2022-07-18 09:50:59 +0200
commit85df616e13a6a176883e39362c764a2dfa3448e8 (patch)
treef8a689c7075c69fce355abdbe5bc97b0d10bb144 /libcpp
parentc29d4ad6d7f4ca1ebfd9489bb62178ea09ae6c6b (diff)
parent2907bfc3412dd8aef6c6acc17f2152a4e0ac4979 (diff)
downloadgcc-85df616e13a6a176883e39362c764a2dfa3448e8.zip
gcc-85df616e13a6a176883e39362c764a2dfa3448e8.tar.gz
gcc-85df616e13a6a176883e39362c764a2dfa3448e8.tar.bz2
Merge branch 'master' into devel/sphinx
Diffstat (limited to 'libcpp')
-rw-r--r--libcpp/ChangeLog7
-rw-r--r--libcpp/include/line-map.h25
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)
{}