Skip to content

Commit 78bc957

Browse files
committed
Re-ran regression tests
1 parent 27d268e commit 78bc957

File tree

3 files changed

+47
-57
lines changed

3 files changed

+47
-57
lines changed
Lines changed: 39 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,21 @@
1-
pure2-last-use.cpp2:273:36: error: expected variable name or 'this' in lambda capture list
2-
public: std::add_pointer_t<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)> g;
3-
^
4-
pure2-last-use.cpp2:329:2: error: expected '>'
5-
};
6-
^
7-
pure2-last-use.cpp2:273:30: note: to match this '<'
8-
public: std::add_pointer_t<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)> g;
9-
^
1+
pure2-last-use.cpp2:274:16: error: no template named 'move_only_function' in namespace 'std'
2+
public: std::move_only_function<int()> mf;
3+
~~~~~^
4+
pure2-last-use.cpp2:275:16: error: no template named 'move_only_function' in namespace 'std'
5+
public: std::move_only_function<int(cpp2::impl::in<int> x)> mg;
6+
~~~~~^
7+
pure2-last-use.cpp2:277:278: error: no member named 'move_only_function' in namespace 'std'
8+
CPP2_REQUIRES_ (std::is_convertible_v<CPP2_TYPEOF(f_), std::add_const_t<std::add_pointer_t<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(g_), std::add_const_t<std::add_pointer_t<int(cpp2::impl::in<int> inx)>>&> && std::is_convertible_v<CPP2_TYPEOF(mf_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(mg_), std::add_const_t<std::move_only_function<int(cpp2::impl::in<int> inx)>>&>) ;
9+
~~~~~^
10+
../../../include/cpp2util.h:10008:43: note: expanded from macro 'CPP2_REQUIRES_'
11+
#define CPP2_REQUIRES_(...) requires (__VA_ARGS__)
12+
^~~~~~~~~~~
13+
pure2-last-use.cpp2:277:305: error: expected expression
14+
CPP2_REQUIRES_ (std::is_convertible_v<CPP2_TYPEOF(f_), std::add_const_t<std::add_pointer_t<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(g_), std::add_const_t<std::add_pointer_t<int(cpp2::impl::in<int> inx)>>&> && std::is_convertible_v<CPP2_TYPEOF(mf_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(mg_), std::add_const_t<std::move_only_function<int(cpp2::impl::in<int> inx)>>&>) ;
15+
^
16+
pure2-last-use.cpp2:277:310: error: use of address-of-label extension outside of a function body
17+
CPP2_REQUIRES_ (std::is_convertible_v<CPP2_TYPEOF(f_), std::add_const_t<std::add_pointer_t<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(g_), std::add_const_t<std::add_pointer_t<int(cpp2::impl::in<int> inx)>>&> && std::is_convertible_v<CPP2_TYPEOF(mf_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(mg_), std::add_const_t<std::move_only_function<int(cpp2::impl::in<int> inx)>>&>) ;
18+
^
1019
pure2-last-use.cpp2:344:16: error: no template named 'move_only_function' in namespace 'std'
1120
public: std::move_only_function<int()> b;
1221
~~~~~^
@@ -23,52 +32,33 @@ pure2-last-use.cpp2:348:193: error: use of address-of-label extension outside of
2332
CPP2_REQUIRES_ (std::is_convertible_v<CPP2_TYPEOF(a_), std::add_const_t<std::unique_ptr<int>>&> && std::is_convertible_v<CPP2_TYPEOF(b_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(c_), std::add_const_t<std::add_lvalue_reference_t<int>>&>) ;
2433
^
2534
pure2-last-use.cpp2:773:69: error: no template named 'move_only_function' in namespace 'std'
26-
auto issue_888_1([[maybe_unused]] std::string unnamed_param_1, std::move_only_function<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)> size) -> void;
35+
auto issue_888_1([[maybe_unused]] std::string unnamed_param_1, std::move_only_function<int(cpp2::impl::in<int> x)> size) -> void;
2736
~~~~~^
28-
pure2-last-use.cpp2:773:93: error: expected variable name or 'this' in lambda capture list
29-
auto issue_888_1([[maybe_unused]] std::string unnamed_param_1, std::move_only_function<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)> size) -> void;
30-
^
31-
pure2-last-use.cpp2:773:156: error: expected unqualified-id
32-
auto issue_888_1([[maybe_unused]] std::string unnamed_param_1, std::move_only_function<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)> size) -> void;
33-
^
34-
pure2-last-use.cpp2:773:160: error: expected '>'
35-
auto issue_888_1([[maybe_unused]] std::string unnamed_param_1, std::move_only_function<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)> size) -> void;
36-
^
37-
pure2-last-use.cpp2:773:87: note: to match this '<'
38-
auto issue_888_1([[maybe_unused]] std::string unnamed_param_1, std::move_only_function<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)> size) -> void;
39-
^
40-
pure2-last-use.cpp2:773:160: error: expected ')'
41-
auto issue_888_1([[maybe_unused]] std::string unnamed_param_1, std::move_only_function<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)> size) -> void;
42-
^
43-
pure2-last-use.cpp2:773:17: note: to match this '('
44-
auto issue_888_1([[maybe_unused]] std::string unnamed_param_1, std::move_only_function<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)> size) -> void;
45-
^
46-
pure2-last-use.cpp2:271:7: error: missing '}' at end of definition of 'issue_857_4'
47-
class issue_857_4 {
48-
^
49-
pure2-last-use.cpp2:905:1: note: still within definition of 'issue_857_4' here
50-
namespace captures {
51-
^
5237
pure2-last-use.cpp2:279:272: error: no member named 'move_only_function' in namespace 'std'
53-
requires (std::is_convertible_v<CPP2_TYPEOF(f_), std::add_const_t<std::add_pointer_t<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(g_), std::add_const_t<std::add_pointer_t<int(cpp2::impl::in<int> in_)>>&> && std::is_convertible_v<CPP2_TYPEOF(mf_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(mg_), std::add_const_t<std::move_only_function<int(cpp2::impl::in<int> in_)>>&>)
38+
requires (std::is_convertible_v<CPP2_TYPEOF(f_), std::add_const_t<std::add_pointer_t<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(g_), std::add_const_t<std::add_pointer_t<int(cpp2::impl::in<int> inx)>>&> && std::is_convertible_v<CPP2_TYPEOF(mf_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(mg_), std::add_const_t<std::move_only_function<int(cpp2::impl::in<int> inx)>>&>)
5439
~~~~~^
5540
pure2-last-use.cpp2:279:299: error: expected expression
56-
requires (std::is_convertible_v<CPP2_TYPEOF(f_), std::add_const_t<std::add_pointer_t<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(g_), std::add_const_t<std::add_pointer_t<int(cpp2::impl::in<int> in_)>>&> && std::is_convertible_v<CPP2_TYPEOF(mf_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(mg_), std::add_const_t<std::move_only_function<int(cpp2::impl::in<int> in_)>>&>)
41+
requires (std::is_convertible_v<CPP2_TYPEOF(f_), std::add_const_t<std::add_pointer_t<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(g_), std::add_const_t<std::add_pointer_t<int(cpp2::impl::in<int> inx)>>&> && std::is_convertible_v<CPP2_TYPEOF(mf_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(mg_), std::add_const_t<std::move_only_function<int(cpp2::impl::in<int> inx)>>&>)
5742
^
5843
pure2-last-use.cpp2:279:304: error: use of address-of-label extension outside of a function body
59-
requires (std::is_convertible_v<CPP2_TYPEOF(f_), std::add_const_t<std::add_pointer_t<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(g_), std::add_const_t<std::add_pointer_t<int(cpp2::impl::in<int> in_)>>&> && std::is_convertible_v<CPP2_TYPEOF(mf_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(mg_), std::add_const_t<std::move_only_function<int(cpp2::impl::in<int> in_)>>&>)
44+
requires (std::is_convertible_v<CPP2_TYPEOF(f_), std::add_const_t<std::add_pointer_t<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(g_), std::add_const_t<std::add_pointer_t<int(cpp2::impl::in<int> inx)>>&> && std::is_convertible_v<CPP2_TYPEOF(mf_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(mg_), std::add_const_t<std::move_only_function<int(cpp2::impl::in<int> inx)>>&>)
6045
^
61-
pure2-last-use.cpp2:278:14: error: out-of-line definition of 'issue_857_4' does not match any declaration in 'issue_857_4'
62-
issue_857_4::issue_857_4(auto&& f_, auto&& g_, auto&& mf_, auto&& mg_)
63-
^~~~~~~~~~~
64-
pure2-last-use.cpp2:281:272: error: member initializer 'g' does not name a non-static data member or base class
65-
, g{ CPP2_FORWARD(g_) }
66-
^~~~~~~~~~~~~~~~~~~~~
67-
pure2-last-use.cpp2:282:272: error: member initializer 'mf' does not name a non-static data member or base class
68-
, mf{ CPP2_FORWARD(mf_) }
69-
^~~~~~~~~~~~~~~~~~~~~~~
70-
pure2-last-use.cpp2:283:272: error: member initializer 'mg' does not name a non-static data member or base class
71-
, mg{ CPP2_FORWARD(mg_) }{}
72-
^~~~~~~~~~~~~~~~~~~~~~~
46+
pure2-last-use.cpp2:349:155: error: no member named 'move_only_function' in namespace 'std'
47+
requires (std::is_convertible_v<CPP2_TYPEOF(a_), std::add_const_t<std::unique_ptr<int>>&> && std::is_convertible_v<CPP2_TYPEOF(b_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(c_), std::add_const_t<std::add_lvalue_reference_t<int>>&>)
48+
~~~~~^
49+
pure2-last-use.cpp2:349:182: error: expected expression
50+
requires (std::is_convertible_v<CPP2_TYPEOF(a_), std::add_const_t<std::unique_ptr<int>>&> && std::is_convertible_v<CPP2_TYPEOF(b_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(c_), std::add_const_t<std::add_lvalue_reference_t<int>>&>)
51+
^
52+
pure2-last-use.cpp2:349:187: error: use of address-of-label extension outside of a function body
53+
requires (std::is_convertible_v<CPP2_TYPEOF(a_), std::add_const_t<std::unique_ptr<int>>&> && std::is_convertible_v<CPP2_TYPEOF(b_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(c_), std::add_const_t<std::add_lvalue_reference_t<int>>&>)
54+
^
55+
pure2-last-use.cpp2:773:69: error: no template named 'move_only_function' in namespace 'std'
56+
auto issue_888_1([[maybe_unused]] std::string unnamed_param_1, std::move_only_function<int(cpp2::impl::in<int> x)> size) -> void{
57+
~~~~~^
58+
error: constexpr if condition is not a constant expression
59+
pure2-last-use.cpp2:774:41: note: in instantiation of function template specialization 'issue_888_1(std::string, int)::(anonymous class)::operator()<int>' requested here
60+
static_cast<void>(CPP2_UFCS_MOVE(size)(0));
61+
^
62+
error: constexpr if condition is not a constant expression
7363
fatal error: too many errors emitted, stopping now [-ferror-limit=]
7464
20 errors generated.

regression-tests/test-results/gcc-14-c++2b/gcc-version.output

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
g++ (GCC) 14.2.1 20240801 (Red Hat 14.2.1-1)
1+
g++ (GCC) 14.2.1 20240912 (Red Hat 14.2.1-3)
22
Copyright (C) 2024 Free Software Foundation, Inc.
33
This is free software; see the source for copying conditions. There is NO
44
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

regression-tests/test-results/pure2-last-use.cpp

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -283,11 +283,11 @@ public: issue_857_6();
283283

284284
class issue_857_4 {
285285
public: std::add_pointer_t<int()> f;
286-
public: std::add_pointer_t<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)> g;
286+
public: std::add_pointer_t<int(cpp2::impl::in<int> x)> g;
287287
public: std::move_only_function<int()> mf;
288-
public: std::move_only_function<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)> mg;
288+
public: std::move_only_function<int(cpp2::impl::in<int> x)> mg;
289289
public: issue_857_4(auto&& f_, auto&& g_, auto&& mf_, auto&& mg_)
290-
CPP2_REQUIRES_ (std::is_convertible_v<CPP2_TYPEOF(f_), std::add_const_t<std::add_pointer_t<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(g_), std::add_const_t<std::add_pointer_t<int(cpp2::impl::in<int> in_)>>&> && std::is_convertible_v<CPP2_TYPEOF(mf_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(mg_), std::add_const_t<std::move_only_function<int(cpp2::impl::in<int> in_)>>&>) ;
290+
CPP2_REQUIRES_ (std::is_convertible_v<CPP2_TYPEOF(f_), std::add_const_t<std::add_pointer_t<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(g_), std::add_const_t<std::add_pointer_t<int(cpp2::impl::in<int> inx)>>&> && std::is_convertible_v<CPP2_TYPEOF(mf_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(mg_), std::add_const_t<std::move_only_function<int(cpp2::impl::in<int> inx)>>&>) ;
291291

292292
// h0: (move this) = _ = mf();
293293
// h1: (move this) = _ = this.mf();
@@ -438,7 +438,7 @@ auto issue_884() -> void;
438438
auto issue_888_0(std::string r, int size) -> void;
439439

440440
#line 773 "pure2-last-use.cpp2"
441-
auto issue_888_1([[maybe_unused]] std::string unnamed_param_1, std::move_only_function<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)> size) -> void;
441+
auto issue_888_1([[maybe_unused]] std::string unnamed_param_1, std::move_only_function<int(cpp2::impl::in<int> x)> size) -> void;
442442

443443
#line 777 "pure2-last-use.cpp2"
444444
auto issue_890() -> void;
@@ -772,7 +772,7 @@ requires (std::is_convertible_v<CPP2_TYPEOF(i_), std::add_const_t<std::add_lvalu
772772
return *this;}
773773
issue_857_6::issue_857_6(){}
774774
issue_857_4::issue_857_4(auto&& f_, auto&& g_, auto&& mf_, auto&& mg_)
775-
requires (std::is_convertible_v<CPP2_TYPEOF(f_), std::add_const_t<std::add_pointer_t<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(g_), std::add_const_t<std::add_pointer_t<int(cpp2::impl::in<int> in_)>>&> && std::is_convertible_v<CPP2_TYPEOF(mf_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(mg_), std::add_const_t<std::move_only_function<int(cpp2::impl::in<int> in_)>>&>)
775+
requires (std::is_convertible_v<CPP2_TYPEOF(f_), std::add_const_t<std::add_pointer_t<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(g_), std::add_const_t<std::add_pointer_t<int(cpp2::impl::in<int> inx)>>&> && std::is_convertible_v<CPP2_TYPEOF(mf_), std::add_const_t<std::move_only_function<int()>>&> && std::is_convertible_v<CPP2_TYPEOF(mg_), std::add_const_t<std::move_only_function<int(cpp2::impl::in<int> inx)>>&>)
776776
: f{ CPP2_FORWARD(f_) }
777777
, g{ CPP2_FORWARD(g_) }
778778
, mf{ CPP2_FORWARD(mf_) }
@@ -1272,7 +1272,7 @@ auto issue_888_0(std::string r, int size) -> void{
12721272
static_cast<void>(CPP2_UFCS_MOVE(size)(cpp2::move(r)));
12731273
}
12741274
#line 773 "pure2-last-use.cpp2"
1275-
auto issue_888_1([[maybe_unused]] std::string unnamed_param_1, std::move_only_function<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)> size) -> void{
1275+
auto issue_888_1([[maybe_unused]] std::string unnamed_param_1, std::move_only_function<int(cpp2::impl::in<int> x)> size) -> void{
12761276
static_cast<void>(CPP2_UFCS_MOVE(size)(0));
12771277
}
12781278

@@ -1297,7 +1297,7 @@ auto issue_962(cpp2::impl::in<::std::string> s) -> void{
12971297
#line 788 "pure2-last-use.cpp2"
12981298
auto draw() -> void{
12991299
auto pos {0};
1300-
std::move_only_function<int([[maybe_unused]] cpp2::impl::in<int> unnamed_param_1)> vertex {};
1300+
std::move_only_function<int(cpp2::impl::in<int> x)> vertex {};
13011301
static_cast<void>(CPP2_UFCS_MOVE(vertex)((cpp2::move(pos))));
13021302
}
13031303

0 commit comments

Comments
 (0)