c++: Clarify note about -fmodules-ts [PR 99472]

This clarifies that c++2[03] intentionally does not enable
c++20 modules.

	PR c++/99472
	gcc/cp/
	* parser.c (cp_parser_diagnose_invalid_type_name): Clarify
	that C++20 does not yet imply modules.
This commit is contained in:
Nathan Sidwell 2021-03-09 05:08:09 -08:00
parent 08ce558985
commit 4b3d86a776

View File

@ -3469,11 +3469,15 @@ cp_parser_diagnose_invalid_type_name (cp_parser *parser, tree id,
else if (TREE_CODE (id) == IDENTIFIER_NODE
&& (id_equal (id, "module") || id_equal (id, "import")))
{
if (!modules_p ())
inform (location, "%qE only available with %<-fmodules-ts%>", id);
else
inform (location, "%qE was not recognized as a module control-line",
if (modules_p ())
inform (location, "%qE is not recognized as a module control-line",
id);
else if (cxx_dialect < cxx20)
inform (location, "C++20 %qE only available with %<-fmodules-ts%>",
id);
else
inform (location, "C++20 %qE only available with %<-fmodules-ts%>"
", which is not yet enabled with %<-std=c++20%>", id);
}
else if (cxx_dialect < cxx11
&& TREE_CODE (id) == IDENTIFIER_NODE