Hi again,

one more straightforward fixlet which remained in my tree for a while. Tested x86_64-linux.

Thanks, Paolo.

/////////////////

/cp
2019-04-29  Paolo Carlini  <paolo.carl...@oracle.com>

        * decl.c (grokvardecl): Use an accurate location in error message
        about main as a global variable.

/testsuite
2019-04-29  Paolo Carlini  <paolo.carl...@oracle.com>

        * g++.dg/diagnostic/main1.C: New.
Index: cp/decl.c
===================================================================
--- cp/decl.c   (revision 270643)
+++ cp/decl.c   (working copy)
@@ -9475,7 +9475,8 @@ grokvardecl (tree type,
   if (DECL_NAME (decl)
       && MAIN_NAME_P (DECL_NAME (decl))
       && scope == global_namespace)
-    error ("cannot declare %<::main%> to be a global variable");
+    error_at (DECL_SOURCE_LOCATION (decl),
+             "cannot declare %<::main%> to be a global variable");
 
   /* Check that the variable can be safely declared as a concept.
      Note that this also forbids explicit specializations.  */
Index: testsuite/g++.dg/diagnostic/main1.C
===================================================================
--- testsuite/g++.dg/diagnostic/main1.C (nonexistent)
+++ testsuite/g++.dg/diagnostic/main1.C (working copy)
@@ -0,0 +1 @@
+int main __attribute__((unused));  // { dg-error "5:cannot declare" }

Reply via email to