]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
class.c (find_abi_tags_r): Check for the return of warning before emitting a note.
authorFabien Chêne <fabien@gcc.gnu.org>
Fri, 4 Apr 2014 15:19:07 +0000 (17:19 +0200)
committerFabien Chêne <fabien@gcc.gnu.org>
Fri, 4 Apr 2014 15:19:07 +0000 (17:19 +0200)
2014-04-04  Fabien Chêne  <fabien@gcc.gnu.org>

* class.c (find_abi_tags_r): Check for the return of warning
before emitting a note.
(one_inherited_ctor): Likewise.

From-SVN: r209118

gcc/cp/ChangeLog
gcc/cp/class.c

index a57565416966df335ed7f55009b2528a96675bf5..e0955691e5084a83f42fed50da7e5d15b5ae6f1a 100644 (file)
@@ -1,3 +1,9 @@
+2014-04-04  Fabien Chêne  <fabien@gcc.gnu.org>
+
+       * class.c (find_abi_tags_r): Check for the return of warning
+       before emitting a note.
+       (one_inherited_ctor): Likewise.
+
 2014-04-04  Fabien Chêne  <fabien@gcc.gnu.org>
 
        * decl.c (duplicate_decls): Check for the return of permerror
index 1dfcd918b30da4400a6112b3adad94b62c8d8681..9d6d1260337ceb596845ed3a2a8bd93d4cc36e88 100644 (file)
@@ -1385,19 +1385,21 @@ find_abi_tags_r (tree *tp, int *walk_subtrees, void *data)
              /* Otherwise we're diagnosing missing tags.  */
              else if (TYPE_P (p->subob))
                {
-                 warning (OPT_Wabi_tag, "%qT does not have the %E abi tag "
-                          "that base %qT has", p->t, tag, p->subob);
-                 inform (location_of (p->subob), "%qT declared here",
-                         p->subob);
+                 if (warning (OPT_Wabi_tag, "%qT does not have the %E abi tag "
+                              "that base %qT has", p->t, tag, p->subob))
+                   inform (location_of (p->subob), "%qT declared here",
+                           p->subob);
                }
              else
                {
-                 warning (OPT_Wabi_tag, "%qT does not have the %E abi tag "
-                          "that %qT (used in the type of %qD) has",
-                          p->t, tag, *tp, p->subob);
-                 inform (location_of (p->subob), "%qD declared here",
-                         p->subob);
-                 inform (location_of (*tp), "%qT declared here", *tp);
+                 if (warning (OPT_Wabi_tag, "%qT does not have the %E abi tag "
+                              "that %qT (used in the type of %qD) has",
+                              p->t, tag, *tp, p->subob))
+                   {
+                     inform (location_of (p->subob), "%qD declared here",
+                             p->subob);
+                     inform (location_of (*tp), "%qT declared here", *tp);
+                   }
                }
            }
        }
@@ -3083,9 +3085,9 @@ one_inherited_ctor (tree ctor, tree t)
   one_inheriting_sig (t, ctor, new_parms, i);
   if (parms == NULL_TREE)
     {
-      warning (OPT_Winherited_variadic_ctor,
-              "the ellipsis in %qD is not inherited", ctor);
-      inform (DECL_SOURCE_LOCATION (ctor), "%qD declared here", ctor);
+      if (warning (OPT_Winherited_variadic_ctor,
+                  "the ellipsis in %qD is not inherited", ctor))
+       inform (DECL_SOURCE_LOCATION (ctor), "%qD declared here", ctor);
     }
 }