[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Bug default/20476] New: abidiff doesn't report incompatibility for abstract class when implementation has hidden visibility



https://sourceware.org/bugzilla/show_bug.cgi?id=20476

            Bug ID: 20476
           Summary: abidiff doesn't report incompatibility for abstract
                    class when implementation has hidden visibility
           Product: libabigail
           Version: unspecified
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: default
          Assignee: dodji at redhat dot com
          Reporter: james at jamesh dot id.au
                CC: libabigail at sourceware dot org
  Target Milestone: ---

Created attachment 9440
  --> https://sourceware.org/bugzilla/attachment.cgi?id=9440&action=edit
abi-test.cpp

I was recently trying to test compatibility of a merge request, and found
abidiff was reporting that everything was fine, while the change was definitely
not compatible (copying the new version of the library to the old source tree
and running the tests resulted in a segfault).

In this particular case, the library exported an abstract base class as an
interface, while the actual implementation subclass had hidden visibility.  The
base class was still referenced by public functions in the library, so I would
have expected the change to show up in the report.

I was originally trying with libabigail 1.0.rc3 (from Ubuntu 14.04), but got
the same result using the latest version from git (commit ID
103a6eb94faee7950fa57e4becffd453d7e4d1f7).

I'll attach a simplified test case.

-- 
You are receiving this mail because:
You are on the CC list for the bug.