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: dce3 botch with c41203a ACATS test


Thanks very much for looking at this and fixing it!  I'm curious how many
of the other test cases are being taken out by this bug.  I'll know soon.

    Indeed.  This was a bug in the type based alias analyzer.  The test case
    is taking the address of an array, so we create a type tag that has an
    array type, but then we go on to compute the alias set of the elements
    of the array.  So, we fail to match that type tag with T.7.

Ah!  Is the code taking into account the DECL_NONADDRESSABLE_P flag
for field and TYPE_NONALIASED_COMPONENT?  Those flags are only use by
Ada but affect whether the elements should be viewed in a separate alias
set when they are accessed individually.  Also, might this be a case
where ARRAY_REF (which access an element) and ARRAY_RANGE_REF (which
access an array) need to be treated differently but aren't?

    Kenner, was this program part of the Ada test suite?  

Yes, it is, as the subject indicates.

    I can't seem to trigger this in other languages.  

That's what makes me think it's related to the ARRAY_RANGE_REF (which
really shouldn't be there, but that's also not a correctness problem,
though it's an efficiency issue that's on my list).


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