[Bug c++/69317] [6 regression] wrong ABI version in -Wabi warnings

msebor at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat Jan 16 23:37:00 GMT 2016


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

Martin Sebor <msebor at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |ASSIGNED
   Last reconfirmed|                            |2016-01-16
           Assignee|unassigned at gcc dot gnu.org      |msebor at gcc dot gnu.org
     Ever confirmed|0                           |1
      Known to fail|                            |6.0

--- Comment #1 from Martin Sebor <msebor at gcc dot gnu.org> ---
I suspect the problem was introduced in r228017 which temporarily sets
flag_abi_version to warn_abi_version to determine if the mangling of the entity
is different in the version specified by -Wabi=<warn_abi_version>.

The change below seems to fix it.  Let me add a test and post a patch for
review.

@@ -3658,13 +3670,13 @@ mangle_decl (const tree decl)
                        "the mangled name of %qD changed between "
                        "-fabi-version=%d (%D) and -fabi-version=%d (%D)",
                        G.entity, warn_abi_version, id2,
-                       flag_abi_version, id);
+                       save_ver, id);
          else
            warning_at (DECL_SOURCE_LOCATION (G.entity), OPT_Wabi,
                        "the mangled name of %qD changes between "
                        "-fabi-version=%d (%D) and -fabi-version=%d (%D)",
                        G.entity, flag_abi_version, id,
-                       warn_abi_version, id2);
+                       save_ver, id2);
        }

       flag_abi_version = save_ver;


More information about the Gcc-bugs mailing list