Compiling the testcase on powerpc-darwin we get an error when assembling:
/var/tmp//ccAw6HXh.s:52:Bad Absolute Expression, absolute 0 assumed.
/var/tmp//ccAw6HXh.s:52:Repeat < 0, .space ignored

This usually means the .space is a large number (which was turned negative by 
the asm because it only 
needs 32bit).
        .space 18446744073709551587

If we look at the CONSTRUCTOR which the Ada front-end generates:
{.band=2, .the_command=0, ._parent={.band=2}, .tc_scc=66}

we see that ._parent (which is at position 1) is in the middle which is just 
wrong.  The middle-end of 
GCC has always have expected the CONSTRUCTOR be in the same order as the fields 
in the RECORD 
type.
I will attach the semi reduced testcase.

I think this also happens on ppc-linux but on ppc-linux we just get a warning 
from gas.

-- 
           Summary: ACATS c391002 failure on powerpc-darwin, wrong .space
           Product: gcc
           Version: 4.0.0
            Status: UNCONFIRMED
          Keywords: wrong-code
          Severity: normal
          Priority: P2
         Component: ada
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: pinskia at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: powerpc-darwin


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19408

Reply via email to