public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r13-4391] libstdc++: Do not use __used or __packed as identifiers
@ 2022-11-29 15:39 Jonathan Wakely
0 siblings, 0 replies; only message in thread
From: Jonathan Wakely @ 2022-11-29 15:39 UTC (permalink / raw)
To: gcc-cvs, libstdc++-cvs
https://gcc.gnu.org/g:0ded30b361d2b1e43048b640e9ad6fef161fe9a9
commit r13-4391-g0ded30b361d2b1e43048b640e9ad6fef161fe9a9
Author: Jonathan Wakely <jwakely@redhat.com>
Date: Mon Nov 28 20:48:55 2022 +0000
libstdc++: Do not use __used or __packed as identifiers
These names (and __unused) are defined as macros by newlib.
libstdc++-v3/ChangeLog:
* include/std/format: Rename all variables called __used or
__packed.
* testsuite/17_intro/badnames.cc: Add no_pch options.
* testsuite/17_intro/names.cc: Check __packed, __unused and
__used.
Diff:
---
libstdc++-v3/include/std/format | 30 ++++++++++++++---------------
libstdc++-v3/testsuite/17_intro/badnames.cc | 1 +
libstdc++-v3/testsuite/17_intro/names.cc | 10 ++++++++--
3 files changed, 24 insertions(+), 17 deletions(-)
diff --git a/libstdc++-v3/include/std/format b/libstdc++-v3/include/std/format
index 23ffbdabed8..cb5ce40dece 100644
--- a/libstdc++-v3/include/std/format
+++ b/libstdc++-v3/include/std/format
@@ -2472,21 +2472,21 @@ namespace __format
void
_M_overflow() override
{
- auto __used = this->_M_used();
+ auto __s = this->_M_used();
if (_M_max < 0) // No maximum.
- _M_out = ranges::copy(__used, std::move(_M_out)).out;
+ _M_out = ranges::copy(__s, std::move(_M_out)).out;
else if (_M_count < size_t(_M_max))
{
auto __max = _M_max - _M_count;
span<_CharT> __first;
- if (__max < __used.size())
- __first = __used.first(__max);
+ if (__max < __s.size())
+ __first = __s.first(__max);
else
- __first = __used;
+ __first = __s;
_M_out = ranges::copy(__first, std::move(_M_out)).out;
}
this->_M_rewind();
- _M_count += __used.size();
+ _M_count += __s.size();
}
public:
@@ -2529,8 +2529,8 @@ namespace __format
void
_M_overflow()
{
- auto __used = this->_M_used();
- _M_count += __used.size();
+ auto __s = this->_M_used();
+ _M_count += __s.size();
if (_M_max >= 0)
{
@@ -2544,7 +2544,7 @@ namespace __format
{
// No maximum character count. Just extend the span to allow
// writing more characters to it.
- this->_M_reset({__used.data(), __used.size() + 1024}, __used.end());
+ this->_M_reset({__s.data(), __s.size() + 1024}, __s.end());
}
}
@@ -2594,12 +2594,12 @@ namespace __format
{
_Iter_sink::_M_overflow();
iter_difference_t<_OutIter> __count(_M_count);
- auto __used = this->_M_used();
+ auto __s = this->_M_used();
auto __last = _M_first;
- if (__used.data() == _M_buf) // Wrote at least _M_max characters.
+ if (__s.data() == _M_buf) // Wrote at least _M_max characters.
__last += _M_max;
else
- __last += iter_difference_t<_OutIter>(__used.size());
+ __last += iter_difference_t<_OutIter>(__s.size());
return { __last, __count };
}
};
@@ -3119,10 +3119,10 @@ namespace __format
constexpr auto
__pack_arg_types(const array<_Arg_t, _Nm>& __types)
{
- __UINT64_TYPE__ __packed = 0;
+ __UINT64_TYPE__ __packed_types = 0;
for (auto __i = __types.rbegin(); __i != __types.rend(); ++__i)
- __packed = (__packed << _Bits) | *__i;
- return __packed;
+ __packed_types = (__packed_types << _Bits) | *__i;
+ return __packed_types;
}
} // namespace __format
/// @endcond
diff --git a/libstdc++-v3/testsuite/17_intro/badnames.cc b/libstdc++-v3/testsuite/17_intro/badnames.cc
index 63c955e8277..5f1be094515 100644
--- a/libstdc++-v3/testsuite/17_intro/badnames.cc
+++ b/libstdc++-v3/testsuite/17_intro/badnames.cc
@@ -16,6 +16,7 @@
// <http://www.gnu.org/licenses/>.
// { dg-do compile { target x86_64-*-linux* } }
+// { dg-add-options no_pch }
// Names taken from coding_style.bad_identifiers in the libstdc++ manual.
// We can't test this on all targets, because these names are used in
diff --git a/libstdc++-v3/testsuite/17_intro/names.cc b/libstdc++-v3/testsuite/17_intro/names.cc
index 6490cd63307..ffbb199797b 100644
--- a/libstdc++-v3/testsuite/17_intro/names.cc
+++ b/libstdc++-v3/testsuite/17_intro/names.cc
@@ -129,8 +129,11 @@
#define ptr (
#endif
-// This clashes with newlib so don't use it.
+// These clash with newlib so don't use them.
# define __lockable cannot be used as an identifier
+# define __packed cannot be used as an identifier
+# define __unused cannot be used as an identifier
+# define __used cannot be used as an identifier
#ifndef __APPLE__
#define __weak predefined qualifier on darwin
@@ -239,8 +242,11 @@
#endif
#if __has_include(<newlib.h>)
-// newlib's <sys/cdefs.h> defines __lockable as a macro.
+// newlib's <sys/cdefs.h> defines these as macros.
#undef __lockable
+#undef __packed
+#undef __unused
+#undef __used
// newlib's <time.h> defines __tzrule_type with these members.
#undef d
#undef m
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-11-29 15:39 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-29 15:39 [gcc r13-4391] libstdc++: Do not use __used or __packed as identifiers Jonathan Wakely
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).