This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Why does -Wabi-tag complain when -std=c++03?
- From: Jonathan Wakely <jwakely dot gcc at gmail dot com>
- To: Jeffrey Walton <noloader at gmail dot com>
- Cc: "gcc-help at gcc dot gnu dot org" <gcc-help at gcc dot gnu dot org>
- Date: Thu, 24 Mar 2016 16:28:11 +0000
- Subject: Re: Why does -Wabi-tag complain when -std=c++03?
- Authentication-results: sourceware.org; auth=none
- References: <CAH8yC8kYCmJqN4E5s9KQP1sH+PdV0axg9GuEf8MPeMQs0ede_w at mail dot gmail dot com> <CAH6eHdQYuMxhEJFD_P7GD1UgTy+oL4d_To9zwY8SJ1VRAD7J=w at mail dot gmail dot com> <CAH8yC8=SPMAapcOLo1=z5VpBnF3icoSzOjYZvNqZvkzuJeYYUA at mail dot gmail dot com> <CAH6eHdSSFOqHkpYBDn-GCE_U=hyZjJ0_-aXxENeRwQ=EHm6S0g at mail dot gmail dot com> <CAH8yC8k0m7c8deWa9GomCrCkLdAocwtqWJy7hvWJtgriKVsm7w at mail dot gmail dot com> <CAH6eHdQmQM_vw70aVgo_qdsXsahNWtGwEne=TxtAK4K1bHX9+w at mail dot gmail dot com> <CAH8yC8=TB=BSxKA1rPSU5xbOyoRGdhtZH60uwss23dXtqPHiZA at mail dot gmail dot com> <CAH6eHdRwhF__1uiL00RXqa8obhRaPN0=OFtW82hTT9O2sc2C_w at mail dot gmail dot com> <CAH8yC8=D2G_k2ByDi=M1g899i9wk=aayfrQA8B_pke8BR3MaEQ at mail dot gmail dot com> <CAH6eHdReZhZ8z8Snw_GgZ2w4PZa3_tmaRYCHS8q7oR8Z9uhhKQ at mail dot gmail dot com> <CAH8yC8mfVBJvVUPJwAt-Foo9w1e+Jz6GU_E5qYUZ3yF07nyJQQ at mail dot gmail dot com> <CAH8yC8nbADMw9v9maSWc74u7b2mo4459Oz36wij7dtBNi5TX_g at mail dot gmail dot com> <CAH6eHdTt=UeOMOm1t27sME7GJzwT5CBNV2E6ZaA65FcP=Ou26w at mail dot gmail dot com> <CAH8yC8=npuGBe+hGWi=mSAKHpP__Yr7SzVNRpmiK_aYV-F2z6w at mail dot gmail dot com>
On 24 March 2016 at 16:08, Jeffrey Walton <noloader@gmail.com> wrote:
> On Thu, Mar 24, 2016 at 12:03 PM, Jonathan Wakely <jwakely.gcc@gmail.com> wrote:
>> On 24 March 2016 at 15:24, Jeffrey Walton wrote:
>>> Here's the actionable item to remove the ambiguity from ABI_CHANGE:
>>>
>>> #ifdef MYLIB_ABI_CHANGE
>>> inline namespace abi2 __attribute ((abi_tag)) {
>>> class MyType { ... };
>>> MyType fn();
>>> }
>>> #endif
>>>
>>> That way, its clear the define is local to the library, and its not
>>> coming from GCC or the runtime.
>>
>> ABI_CHANGE is not a valid name for a non-standard macro coming from
>> GCC or the runtime, because it's not in the reserved namespace.
>>
>> Maybe you're trying to use the blog post as a tutorial for how to
>> achieve what you want, but it isn't that, it's just a brief
>> introduction to the topic. If it doesn't hold your hand through every
>> step that's because that wasn't its goal. Trying to follow it like a
>> tutorial isn't going to work.
>
> That's fine.
>
> Where is the [nearly] complete documentation on the subject? I'm
> guessing it does not exist, and we are left to struggle through it
> (q.v.).
>
> If you don't provide the necessary documentation, you should not
> complain when users come with questions.
You're the one complaining, not me.
And nobody else has complained about the lack of that documentation,
**because generally nobody needs to do it**. I advise against what
you're trying to do. If the ramifications and the steps needed to do
it are not clear to you, then you probably don't need to do it.
The only person I know who has had to do this is me, for libstdc++
itself, and the instructions for making it work are the libstdc++
makefiles.