This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[C++] Advertise -fext-numeric-literals in error messages


Hello,

an error message like the following:

error: unable to find numeric literal operator 'operator"" iF'

for using _Complex_I can be a bit hard for users to handle. This adds a note that -std=gnu++11 and -fext-numeric-literals might help. Ideally we would check if the suffix is indeed recognized by -fext-numeric-literals before printing this text, but that's harder, someone else can do that later.

No testcase because notes are pruned in the testsuite.

Bootstrap+testsuite on x86_64-unknown-linux-gnu.

2014-01-01  Marc Glisse  <marc.glisse@inria.fr>

	PR c++/59087
gcc/cp/
	* parser.c (cp_parser_userdef_numeric_literal): Mention
	-fext-numeric-literals in the message.

--
Marc Glisse
Index: gcc/cp/parser.c
===================================================================
--- gcc/cp/parser.c	(revision 206274)
+++ gcc/cp/parser.c	(working copy)
@@ -3918,20 +3918,23 @@ cp_parser_userdef_numeric_literal (cp_pa
       result = finish_call_expr (decl, &args, false, true, tf_none);
       if (result != error_mark_node)
 	{
 	  release_tree_vector (args);
 	  return result;
 	}
     }
   release_tree_vector (args);
 
   error ("unable to find numeric literal operator %qD", name);
+  if (!cpp_get_options (parse_in)->ext_numeric_literals)
+    inform (token->location, "use -std=gnu++11 or -fext-numeric-literals "
+	    "to enable more built-in suffixes");
   return error_mark_node;
 }
 
 /* Parse a user-defined string constant.  Returns a call to a user-defined
    literal operator taking a character pointer and the length of the string
    as arguments.  */
 
 static tree
 cp_parser_userdef_string_literal (cp_token *token)
 {

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]