This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Why does -Wabi-tag complain when -std=c++03?


On 24 March 2016 at 14:03, Jeffrey Walton <noloader@gmail.com> wrote:
>>>> The new std::string and std::list are also valid implementations for C++03.
>>>
>>> OK, good. Thanks.
>>>
>>> If its a valid implementation, then why is the compiler complaining?
>>
>> That question doesn't even make sense. GCC's warnings aren't there to
>> say "this implementation does not conform to the standard".
>
> Yeah, it only get worse:
>
> $ g++ -x c++ -include iostream -dM -E - </dev/null | grep ABI_CHANGE
> $ g++ -x c++ -include iostream -std=c++11 -dM -E - </dev/null | grep ABI_CHANGE
> $

What's this supposed to show? Worse than what?

The ABI_CHANGE macro in the blog post is just an example of a macro
that might appear in a third-party library, it's not defined by GCC. I
thought the fact the example defines abi2::MyType made that fairly
obvious. That isn't defined by GCC either.

> I get the problem its trying to solve; especially the part about the
> return type ABI. But I have to admit I'm just about totally confused
> about the implementation details for library authors, the coexisting
> symbols discussed in the blog, and the ABI_CHANGE change macro.

So don't try to support coexistence then, require users to use a build
of your library that uses the same ABI as the rest of their libraries
and objects.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]