gcc/libstdc++-v3/include
Jonathan Wakely 7b1de3eb9e libstdc++: Move attributes that follow requires-clauses [PR101782]
As explained in the PR, the grammar in the Concepts TS means that a [
token following a requires-clause is parsed as part of the
logical-or-expression rather than the start of an attribute. That makes
the following ill-formed when using -fconcepts-ts:

  template<typename T> requires foo<T> [[nodiscard]] int f(T);

This change moves all attributes that follow a requires-clause to the
end of the function declarator.

Signed-off-by: Jonathan Wakely <jwakely@redhat.com>

libstdc++-v3/ChangeLog:

	PR libstdc++/101782
	* include/bits/ranges_base.h (ranges::begin, ranges::end)
	(ranges::rbegin, ranges::rend, ranges::size, ranges::ssize)
	(ranges::empty, ranges::data): Move attribute to the end of
	the declarator.
	* include/bits/stl_iterator.h (__gnu_cxx::__normal_iterator)
	(common_iterator): Likewise for non-member operator functions.
	* include/std/ranges (views::all, views::filter)
	(views::transform, views::take, views::take_while, views::drop)
	(views::drop_while, views::join, views::lazy_split)
	(views::split, views::counted, views::common, views::reverse)
	(views::elements): Likewise.
	* testsuite/std/ranges/access/101782.cc: New test.
2021-08-05 15:16:58 +01:00
..
backward
bits libstdc++: Move attributes that follow requires-clauses [PR101782] 2021-08-05 15:16:58 +01:00
c
c_compatibility
c_global libstdc++: Add nodiscard attribute to cast-like functions 2021-04-06 16:43:25 +01:00
c_std
debug libstdc++: Add [[nodiscard]] to sequence containers 2021-08-04 12:54:29 +01:00
decimal libstdc++: Fix doxygen markup for group close commands 2021-04-06 16:43:24 +01:00
experimental libstdc++: Simplify std::optional::value() 2021-07-27 21:36:01 +01:00
ext libstdc++: Use __builtin_operator_new when available [PR94295] 2021-07-22 14:38:34 +01:00
parallel
precompiled
pstl
std libstdc++: Move attributes that follow requires-clauses [PR101782] 2021-08-05 15:16:58 +01:00
tr1 libstdc++: Fix even more doxygen markup for group close commands 2021-04-09 13:09:23 +01:00
tr2 libstdc++: Fix doxygen markup for group close commands 2021-04-06 16:43:24 +01:00
Makefile.am libstdc++: Move COW string definitions to separate header 2021-07-27 12:04:18 +01:00
Makefile.in libstdc++: Move COW string definitions to separate header 2021-07-27 12:04:18 +01:00