[Bug c++/95337] New: duplicated deprecated attribute gives incorrectly duplicated diagnostic

nathan at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue May 26 15:46:42 GMT 2020


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95337

            Bug ID: 95337
           Summary: duplicated deprecated attribute gives incorrectly
                    duplicated diagnostic
           Product: gcc
           Version: 10.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: nathan at gcc dot gnu.org
  Target Milestone: ---

Created attachment 48607
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=48607&action=edit
yesterday, no, testcase.  That's the word

If a declaration has two (different) deprecated attributes.  We diagnose twice
(good), but use the same message both times (bad):

zathras:3>g++ -std=c++2a -c d.cc
d.cc: In function ‘void g()’:
d.cc:5:6: warning: ‘void f()’ is deprecated: dob [-Wdeprecated-declarations]
    5 |   f ();
      |      ^
d.cc:1:6: note: declared here
    1 | void f [[deprecated("bob")]] [[deprecated("dob")]] ();
      |      ^
d.cc:5:6: warning: ‘void f()’ is deprecated: dob [-Wdeprecated-declarations]
    5 |   f ();
      |      ^
d.cc:1:6: note: declared here
    1 | void f [[deprecated("bob")]] [[deprecated("dob")]] ();
      |      ^


check whether noignore has the same problem


More information about the Gcc-bugs mailing list