This is the mail archive of the gcc-patches@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: [PATCH] fix #69277 - [6 Regression] ICE mangling a flexible array member


On 01/14/2016 05:02 PM, Martin Sebor wrote:
On 01/14/2016 03:51 PM, Jakub Jelinek wrote:
On Thu, Jan 14, 2016 at 03:46:26PM -0700, Martin Sebor wrote:
c++/69277 reports an ICE when mangling a template specialization
involving flexible array member.  Debugging the problem revealed
that GCC (prior to the ICE), due to treating flexible array
members the same as zero-length arrays, produced the wrong mangling
for the former.

The attached patch fixes the ICE and also corrects the mangling
(which now also matches Clang's).

But then, shouldn't the decision whether to mangle it the old way or
the new
way depend on -fabi-version= ?

Perhaps it should, I don't know.  Jason didn't mention anything
when we briefly discussed the mangling change on IRC.  I can
certainly modify the patch if it's necessary or a good idea.
Let me know.
Jason would have the final call here, but I suspect we'll need to do something.

While it is a bugfix, we have traditionally queued them up to avoid regular ABI breakages. It's also the case that we've traditionally added a warning for this kind of thing (controlled by Wabi) and also noted something in the manual (I think there's a section dedicated to this kind of thing).

jeff


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