This is the mail archive of the gcc-bugs@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]

[Bug c++/70594] [6 Regression] -fcompare-debug failure


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70594

--- Comment #5 from Patrick Palka <ppalka at gcc dot gnu.org> ---
(In reply to Tobias Burnus from comment #4)
> Created attachment 38225 [details]
> test.ii  test case (g++ -O1 -fcompare-debug)
> 
> (In reply to Jakub Jelinek from comment #1)
> > Without the testcase it is hard to guess.
> 
> I now tried to compile LLVM with -fcompare-debug - and I guessed correctly,
> one of the files also fails there (lib/Support/CommandLine.cpp).
> 
> I am not sure whether it is the same issue, but it is a debug miscompare.
> Contrary to my original file, it also fails when a .ii is generated with
> "-E"; additionally, it also fails already with -O1 and it reduced more
> readily (for my original example, it seemed to depend much more on the
> memory layout such that comment lines were kept).
> 
> The somewhat reduced example is attached; it fails here (and hopefully
> elsewhere) using "g++ -O1 -fcompare-debug" with: "g++: error: test.ii:
> -fcompare-debug failure".

Same here.  Some observations:

Reverting the portion of the patch that added the "deletable" GTY tag to
constexpr_call_table fixes the failure.

Making get_fundef_copy() to always allocate a new function (thus making it as
if the fundef_copies_table didn't exist) doesn't fix the failure.

So it seems that adding the "deletable" GTY tag to constexpr_call_table is
responsible for this regression, and not the new fundef_copies_table.  Still
have no idea why or how though.

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