libstdc++: Fix uses of non-reserved names in headers

The non-reserved names 'val' and 'dest' were being used in our headers
but haven't been added to the 17_intro/names.cc test. That's because
they are used by <asm-generic/posix_types.h> and <netinet/tcp.h>
respecitvely on glibc-based systems.

libstdc++-v3/ChangeLog:

	* include/bits/fs_ops.h (create_directory): Use reserved name
	for parameter.
	* include/bits/ranges_algo.h (__contains_subrange_fn):
	Likewise.
	* include/bits/regex_automaton.h (_State_base::_M_print):
	Likewise.
	* include/bits/regex_automaton.tcc(_State_base::_M_print):
	Likewise.
	* include/bits/regex_scanner.tcc(_Scanner::_M_print): Likewise.
	* include/experimental/bits/fs_ops.h (create_directory):
	Likewise.
	* include/std/mutex (timed_mutex::_M_clocklock): Likewise.
	(recursive_timed_mutex:_M_clocklock): Likewise.
	* include/std/tuple (basic_common_reference): Likewise.
	* libsupc++/cxxabi_init_exception.h
	(__cxa_init_primary_exception): Likewise.
	* testsuite/17_intro/names.cc: Add checks.
This commit is contained in:
Jonathan Wakely 2023-02-10 23:16:15 +00:00
parent 55db240d28
commit dc79eba72b
10 changed files with 77 additions and 59 deletions

View file

@ -90,8 +90,8 @@ namespace filesystem
bool create_directory(const path& __p);
bool create_directory(const path& __p, error_code& __ec) noexcept;
bool create_directory(const path& __p, const path& attributes);
bool create_directory(const path& __p, const path& attributes,
bool create_directory(const path& __p, const path& __attributes);
bool create_directory(const path& __p, const path& __attributes,
error_code& __ec) noexcept;
void create_directory_symlink(const path& __to, const path& __new_symlink);

View file

@ -3490,11 +3490,11 @@ namespace ranges
template<forward_iterator _Iter1, sentinel_for<_Iter1> _Sent1,
forward_iterator _Iter2, sentinel_for<_Iter2> _Sent2,
typename _Pred = ranges::equal_to,
typename Proj1 = identity, typename Proj2 = identity>
requires indirectly_comparable<_Iter1, _Iter2, _Pred, Proj1, Proj2>
typename _Proj1 = identity, typename _Proj2 = identity>
requires indirectly_comparable<_Iter1, _Iter2, _Pred, _Proj1, _Proj2>
constexpr bool
operator()(_Iter1 __first1, _Sent1 __last1, _Iter2 __first2, _Sent2 __last2,
_Pred __pred = {}, Proj1 __proj1 = {}, Proj2 __proj2 = {}) const
_Pred __pred = {}, _Proj1 __proj1 = {}, _Proj2 __proj2 = {}) const
{
return __first2 == __last2
|| !ranges::search(__first1, __last1, __first2, __last2,

View file

@ -110,7 +110,7 @@ namespace __detail
#ifdef _GLIBCXX_DEBUG
std::ostream&
_M_print(std::ostream& ostr) const;
_M_print(std::ostream& __ostr) const;
// Prints graphviz dot commands for state.
std::ostream&

View file

@ -36,34 +36,34 @@ namespace __detail
{
#ifdef _GLIBCXX_DEBUG
inline std::ostream&
_State_base::_M_print(std::ostream& ostr) const
_State_base::_M_print(std::ostream& __ostr) const
{
switch (_M_opcode)
{
case _S_opcode_alternative:
case _S_opcode_repeat:
ostr << "alt next=" << _M_next << " alt=" << _M_alt;
__ostr << "alt next=" << _M_next << " alt=" << _M_alt;
break;
case _S_opcode_subexpr_begin:
ostr << "subexpr begin next=" << _M_next << " index=" << _M_subexpr;
__ostr << "subexpr begin next=" << _M_next << " index=" << _M_subexpr;
break;
case _S_opcode_subexpr_end:
ostr << "subexpr end next=" << _M_next << " index=" << _M_subexpr;
__ostr << "subexpr end next=" << _M_next << " index=" << _M_subexpr;
break;
case _S_opcode_backref:
ostr << "backref next=" << _M_next << " index=" << _M_backref_index;
__ostr << "backref next=" << _M_next << " index=" << _M_backref_index;
break;
case _S_opcode_match:
ostr << "match next=" << _M_next;
__ostr << "match next=" << _M_next;
break;
case _S_opcode_accept:
ostr << "accept next=" << _M_next;
__ostr << "accept next=" << _M_next;
break;
default:
ostr << "unknown next=" << _M_next;
__ostr << "unknown next=" << _M_next;
break;
}
return ostr;
return __ostr;
}
// Prints graphviz dot commands for state.

View file

@ -484,98 +484,98 @@ namespace __detail
template<typename _CharT>
std::ostream&
_Scanner<_CharT>::
_M_print(std::ostream& ostr)
_M_print(std::ostream& __ostr)
{
switch (_M_token)
{
case _S_token_anychar:
ostr << "any-character\n";
__ostr << "any-character\n";
break;
case _S_token_backref:
ostr << "backref\n";
__ostr << "backref\n";
break;
case _S_token_bracket_begin:
ostr << "bracket-begin\n";
__ostr << "bracket-begin\n";
break;
case _S_token_bracket_neg_begin:
ostr << "bracket-neg-begin\n";
__ostr << "bracket-neg-begin\n";
break;
case _S_token_bracket_end:
ostr << "bracket-end\n";
__ostr << "bracket-end\n";
break;
case _S_token_char_class_name:
ostr << "char-class-name \"" << _M_value << "\"\n";
__ostr << "char-class-name \"" << _M_value << "\"\n";
break;
case _S_token_closure0:
ostr << "closure0\n";
__ostr << "closure0\n";
break;
case _S_token_closure1:
ostr << "closure1\n";
__ostr << "closure1\n";
break;
case _S_token_collsymbol:
ostr << "collsymbol \"" << _M_value << "\"\n";
__ostr << "collsymbol \"" << _M_value << "\"\n";
break;
case _S_token_comma:
ostr << "comma\n";
__ostr << "comma\n";
break;
case _S_token_dup_count:
ostr << "dup count: " << _M_value << "\n";
__ostr << "dup count: " << _M_value << "\n";
break;
case _S_token_eof:
ostr << "EOF\n";
__ostr << "EOF\n";
break;
case _S_token_equiv_class_name:
ostr << "equiv-class-name \"" << _M_value << "\"\n";
__ostr << "equiv-class-name \"" << _M_value << "\"\n";
break;
case _S_token_interval_begin:
ostr << "interval begin\n";
__ostr << "interval begin\n";
break;
case _S_token_interval_end:
ostr << "interval end\n";
__ostr << "interval end\n";
break;
case _S_token_line_begin:
ostr << "line begin\n";
__ostr << "line begin\n";
break;
case _S_token_line_end:
ostr << "line end\n";
__ostr << "line end\n";
break;
case _S_token_opt:
ostr << "opt\n";
__ostr << "opt\n";
break;
case _S_token_or:
ostr << "or\n";
__ostr << "or\n";
break;
case _S_token_ord_char:
ostr << "ordinary character: \"" << _M_value << "\"\n";
__ostr << "ordinary character: \"" << _M_value << "\"\n";
break;
case _S_token_subexpr_begin:
ostr << "subexpr begin\n";
__ostr << "subexpr begin\n";
break;
case _S_token_subexpr_no_group_begin:
ostr << "no grouping subexpr begin\n";
__ostr << "no grouping subexpr begin\n";
break;
case _S_token_subexpr_lookahead_begin:
ostr << "lookahead subexpr begin\n";
__ostr << "lookahead subexpr begin\n";
break;
case _S_token_subexpr_end:
ostr << "subexpr end\n";
__ostr << "subexpr end\n";
break;
case _S_token_unknown:
ostr << "-- unknown token --\n";
__ostr << "-- unknown token --\n";
break;
case _S_token_oct_num:
ostr << "oct number " << _M_value << "\n";
__ostr << "oct number " << _M_value << "\n";
break;
case _S_token_hex_num:
ostr << "hex number " << _M_value << "\n";
__ostr << "hex number " << _M_value << "\n";
break;
case _S_token_quoted_class:
ostr << "quoted class " << "\\" << _M_value << "\n";
__ostr << "quoted class " << "\\" << _M_value << "\n";
break;
default:
_GLIBCXX_DEBUG_ASSERT(false);
}
return ostr;
return __ostr;
}
#endif

View file

@ -98,8 +98,8 @@ inline namespace v1
bool create_directory(const path& __p);
bool create_directory(const path& __p, error_code& __ec) noexcept;
bool create_directory(const path& __p, const path& attributes);
bool create_directory(const path& __p, const path& attributes,
bool create_directory(const path& __p, const path& __attributes);
bool create_directory(const path& __p, const path& __attributes,
error_code& __ec) noexcept;
void create_directory_symlink(const path& __to, const path& __new_symlink);

View file

@ -294,8 +294,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#if _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK
bool
_M_clocklock(clockid_t clockid, const __gthread_time_t& __ts)
{ return !pthread_mutex_clocklock(&_M_mutex, clockid, &__ts); }
_M_clocklock(clockid_t __clockid, const __gthread_time_t& __ts)
{ return !pthread_mutex_clocklock(&_M_mutex, __clockid, &__ts); }
#endif
};
@ -372,8 +372,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#ifdef _GLIBCXX_USE_PTHREAD_MUTEX_CLOCKLOCK
bool
_M_clocklock(clockid_t clockid, const __gthread_time_t& __ts)
{ return !pthread_mutex_clocklock(&_M_mutex, clockid, &__ts); }
_M_clocklock(clockid_t __clockid, const __gthread_time_t& __ts)
{ return !pthread_mutex_clocklock(&_M_mutex, __clockid, &__ts); }
#endif
};

View file

@ -2328,10 +2328,10 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
#if __cplusplus > 202002L
template<typename... _TTypes, typename... _UTypes,
template<typename> class TQual, template<typename> class UQual>
requires requires { typename tuple<common_reference_t<TQual<_TTypes>, UQual<_UTypes>>...>; }
struct basic_common_reference<tuple<_TTypes...>, tuple<_UTypes...>, TQual, UQual>
{ using type = tuple<common_reference_t<TQual<_TTypes>, UQual<_UTypes>>...>; };
template<typename> class _TQual, template<typename> class _UQual>
requires requires { typename tuple<common_reference_t<_TQual<_TTypes>, _UQual<_UTypes>>...>; }
struct basic_common_reference<tuple<_TTypes...>, tuple<_UTypes...>, _TQual, _UQual>
{ using type = tuple<common_reference_t<_TQual<_TTypes>, _UQual<_UTypes>>...>; };
template<typename... _TTypes, typename... _UTypes>
requires requires { typename tuple<common_type_t<_TTypes, _UTypes>...>; }

View file

@ -67,8 +67,9 @@ namespace __cxxabiv1
// Initialize exception (this is a GNU extension)
__cxa_refcounted_exception*
__cxa_init_primary_exception(void *object, std::type_info *tinfo,
void (_GLIBCXX_CDTOR_CALLABI *dest) (void *)) _GLIBCXX_NOTHROW;
__cxa_init_primary_exception(void *__object, std::type_info *__tinfo,
void (_GLIBCXX_CDTOR_CALLABI *__dest) (void *))
_GLIBCXX_NOTHROW;
}
} // namespace __cxxabiv1

View file

@ -30,7 +30,7 @@
#define F (
#define G (
#define H (
#define I (
// <complex.h> defines I
#define J (
#define K (
#define L (
@ -108,9 +108,18 @@
#endif
#define z (
#define attributes (
#define bin_op (
#define clockid (
#define func (
#define tmp (
#define max_val (
#define min_val (
#define object (
#define ostr (
#define policy (
#define sz (
#define tinfo (
#define tmp (
#define token (
#define value_t (
@ -156,6 +165,7 @@
#define Alloc Alloc is not a reserved name
#define BinaryFunction1 BinaryFunction1 is not a reserved name
#define BinaryFunction2 BinaryFunction2 is not a reserved name
#define BinaryOperation BinaryOperation is not a reserved name
#define Char Char is not a reserved name
#define CharT CharT is not a reserved name
#define Cmp Cmp is not a reserved name
@ -179,6 +189,7 @@
#define H1 H1 is not a reserved name
#define H2 H2 is not a reserved name
#define Head Head is not a reserved name
#define IsVector IsVector is not a reserved name
#define It It is not a reserved name
#define Iter Iter is not a reserved name
#define Iterator Iterator is not a reserved name
@ -191,16 +202,22 @@
#define Pointer Pointer is not a reserved name
#define Policy Policy is not a reserved name
#define Pred Pred is not a reserved name
#define Proj Proj is not a reserved name
#define Proj1 Proj1 is not a reserved name
#define Proj2 Proj2 is not a reserved name
#define Ptr Ptr is not a reserved name
#define Reference Reference is not a reserved name
#define Seq Seq is not a reserved name
#define Seq_RAIter Seq_RAIter is not a reserved name
#define Series Series is not a reserved name
#define Set Set is not a reserved name
#define Size Size is not a reserved name
#define String String is not a reserved name
#define Tp Tp is not a reserved name
#define TQual TQual is not a reserved name
#define Traits Traits is not a reserved name
#define Type Type is not a reserved name
#define UQual UQual is not a reserved name
#define Value Value is not a reserved name
#define ValueT ValueT is not a reserved name
#define ValueType ValueType is not a reserved name