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

Bug#818996: Please enable -Wabi-tag warning for C++ programs



[Removing debian-devel from Cc]

On Wed, 23 Mar 2016 at 13:31:32 +0100, Matthias Klose wrote:
> If you want to change that, that change should be made in dpkg-buildflags.

>From the original report:

> >On Tue, 22 Mar 2016 at 10:34:29 -0400, Jeffrey Walton wrote:
> >>It appears Debian built the library with GCC, and GCC used
> >>_GLIBCXX_USE_CXX11_ABI. The user then compiled with Clang and caught a
> >>link error. The tools did not warn him about the problems, so the
> >>report trickled downhill to us.

it isn't clear to me whether that would have helped: dpkg-buildflags
only affects the warnings emitted when Debian packages are built, whereas
a change in gcc would also affect the warnings emitted when upstream
software is built on Debian.

Jeffrey: who is "us", and does the problematic link step involve libraries
from Debian packages, libraries you have previously compiled yourself, or
both? During which compilation/linking step would you have expected to see
this warning?

It would be useful to have the steps to reproduce the issue you are reporting,
in terms something like this:

- compile libfoo with xyz compiler
- link it to Debian's packaged libbar
- compile and link a program that uses libfoo and libbar with uvw compiler
- expected result: linking the program warns that libbar's version of Bar
  returns a std::string but libfoo expects a std::__cxx11::string
- actual result: (paste a typical linker error)
- the expected warning can be achieved by configuring xyz compiler with
  -Wabi-tag

(but I'm probably getting the sequence of events totally wrong so please
specify what is actually going on)

    S


Reply to: