decl.c (wrapup_globals_for_namespace): Use DECL_SOURCE_LOCATION and "%qF" in warning_...
authorPaolo Carlini <paolo.carlini@oracle.com>
Wed, 15 Jun 2016 20:13:39 +0000 (20:13 +0000)
committerPaolo Carlini <paolo@gcc.gnu.org>
Wed, 15 Jun 2016 20:13:39 +0000 (20:13 +0000)
2016-06-15  Paolo Carlini  <paolo.carlini@oracle.com>

* decl.c (wrapup_globals_for_namespace): Use DECL_SOURCE_LOCATION and
"%qF" in warning_at instead of "%q+F" in warning.
(check_redeclaration_exception_specification): Likewise in pedwarn
(and error, inform, for consistency).
* call.c (joust): Likewise.

From-SVN: r237496

gcc/cp/ChangeLog
gcc/cp/call.c
gcc/cp/decl.c

index 7e68d0541970164a88cbd7623610c5de6b370c72..d62ab39d43836d4d6f9d89774e7133797aa3697f 100644 (file)
@@ -1,3 +1,11 @@
+2016-06-15  Paolo Carlini  <paolo.carlini@oracle.com>
+
+       * decl.c (wrapup_globals_for_namespace): Use DECL_SOURCE_LOCATION and
+       "%qF" in warning_at instead of "%q+F" in warning.
+       (check_redeclaration_exception_specification): Likewise in pedwarn
+       (and error, inform, for consistency).
+       * call.c (joust): Likewise.
+
 2016-06-15  Paolo Carlini  <paolo.carlini@oracle.com>
 
        PR c++/70202
index e2b89b8a2c44ac620a89d4c75d61dda6b10da1d4..475b380a5f00db06d3db999bd6cdb8e554ac8f77 100644 (file)
@@ -9495,10 +9495,10 @@ joust (struct z_candidate *cand1, struct z_candidate *cand2, bool warn,
                                     "default argument mismatch in "
                                     "overload resolution"))
                        {
-                         inform (input_location,
-                                 " candidate 1: %q+#F", cand1->fn);
-                         inform (input_location,
-                                 " candidate 2: %q+#F", cand2->fn);
+                         inform (DECL_SOURCE_LOCATION (cand1->fn),
+                                 " candidate 1: %q#F", cand1->fn);
+                         inform (DECL_SOURCE_LOCATION (cand2->fn),
+                                 " candidate 2: %q#F", cand2->fn);
                        }
                    }
                  else
index 1aa5e523cb33f01684e425db1d5921a3911a39be..830b3f523dc617708cec96eb7245bf2e44bb17cc 100644 (file)
@@ -914,8 +914,9 @@ wrapup_globals_for_namespace (tree name_space, void* data ATTRIBUTE_UNUSED)
            && !DECL_ARTIFICIAL (decl)
            && !TREE_NO_WARNING (decl))
          {
-           warning (OPT_Wunused_function,
-                    "%q+F declared %<static%> but never defined", decl);
+           warning_at (DECL_SOURCE_LOCATION (decl),
+                       OPT_Wunused_function,
+                       "%qF declared %<static%> but never defined", decl);
            TREE_NO_WARNING (decl) = 1;
          }
     }
@@ -1233,18 +1234,20 @@ check_redeclaration_exception_specification (tree new_decl,
       && !comp_except_specs (new_exceptions, old_exceptions, ce_normal))
     {
       const char *msg
-       = "declaration of %q+F has a different exception specifier";
+       = "declaration of %qF has a different exception specifier";
       bool complained = true;
+      location_t new_loc = DECL_SOURCE_LOCATION (new_decl);
       if (DECL_IN_SYSTEM_HEADER (old_decl))
-       complained = pedwarn (0, OPT_Wsystem_headers, msg, new_decl);
+       complained = pedwarn (new_loc, OPT_Wsystem_headers, msg, new_decl);
       else if (!flag_exceptions)
        /* We used to silently permit mismatched eh specs with
           -fno-exceptions, so make them a pedwarn now.  */
-       complained = pedwarn (0, OPT_Wpedantic, msg, new_decl);
+       complained = pedwarn (new_loc, OPT_Wpedantic, msg, new_decl);
       else
-       error (msg, new_decl);
+       error_at (new_loc, msg, new_decl);
       if (complained)
-       inform (0, "from previous declaration %q+F", old_decl);
+       inform (DECL_SOURCE_LOCATION (old_decl),
+               "from previous declaration %qF", old_decl);
     }
 }