File tree Expand file tree Collapse file tree 1 file changed +13
-1
lines changed Expand file tree Collapse file tree 1 file changed +13
-1
lines changed Original file line number Diff line number Diff line change @@ -4643,6 +4643,8 @@ class cppfront
4643
4643
}
4644
4644
}
4645
4645
4646
+ // *** LOCATION (A) -- SEE NOTE REGARDING (A) BELOW
4647
+
4646
4648
// End function declaration
4647
4649
if (printer.doing_declarations_only ()) {
4648
4650
printer.print_cpp2 ( " ;\n " , n.position () );
@@ -4731,7 +4733,17 @@ class cppfront
4731
4733
4732
4734
printer.preempt_position_push ( n.equal_sign );
4733
4735
4734
- // Handle requires expression - an explicit one plus any generated
4736
+ // *** NOTE: This branch to emit the requires-clause should maybe be
4737
+ // moved to location (A) above, so that it's also emitted
4738
+ // on the function declaration. But doing that triggers a
4739
+ // bug in GCC 10.x (that was fixed in 11.x), and 10.x is
4740
+ // my main test compiler and works for everything else,
4741
+ // and moving it up there would break 'forward' parameters
4742
+ // with concrete types on GCC 10.x.
4743
+ // So I'm not yet moving this code up to the declaration,
4744
+ // given that so far things appear to be working well enough
4745
+ // with the requires-clause on the function definition only...
4746
+ // Handle requires clause - an explicit one plus any generated
4735
4747
// from processing the parameters
4736
4748
if (
4737
4749
n.requires_clause_expression
You can’t perform that action at this time.
0 commit comments