Hi! I've noticed that while for requires keyword we have a diagnostics like error_at (cp_lexer_peek_token (parser->lexer)->location, "%<requires%> only available with " "%<-std=c++2a%> or %<-fconcepts%>"); for concept keyword we emit inform (location, "%<concept%> only available with %<-fconcepts%>"); The following patch adjusts the latter to match the former, because I think more people will use -std=c++2a than -fconcepts in the GCC 10 timeframe.
Tested on x86_64-linux, ok for trunk? 2019-12-06 Jakub Jelinek <ja...@redhat.com> * parser.c (cp_parser_diagnose_invalid_type_name): Mention that concept is also available with -std=c++2a. --- gcc/cp/parser.c.jj 2019-12-05 10:03:04.072181899 +0100 +++ gcc/cp/parser.c 2019-12-06 19:40:44.090311079 +0100 @@ -3367,7 +3367,8 @@ cp_parser_diagnose_invalid_type_name (cp inform (location, "C++20 %<constinit%> only available with " "%<-std=c++2a%> or %<-std=gnu++2a%>"); else if (!flag_concepts && id == ridpointers[(int)RID_CONCEPT]) - inform (location, "%<concept%> only available with %<-fconcepts%>"); + inform (location, "%<concept%> only available with %<-std=c++2a%> or " + "%<-fconcepts%>"); else if (processing_template_decl && current_class_type && TYPE_BINFO (current_class_type)) { Jakub