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

--- Comment #2 from H.J. Lu <hjl.tools at gmail dot com> ---
Maybe Ada fails to tell the backend that a parameter is a pointer:

[hjl@gnu-6 tmp]$ cat p2.c
struct pointer
{
  int p;
  int b;
};

extern void bar (int p);

void
xxx (struct pointer p)
{
  foo (p);
}
[hjl@gnu-6 tmp]$ gcc -mx32 -O2 p2.c -S
[hjl@gnu-6 tmp]$ cat p2.s
    .file    "p2.c"
    .text
    .p2align 4,,15
    .globl    xxx
    .type    xxx, @function
xxx:
.LFB0:
    .cfi_startproc
    xorl    %eax, %eax
    jmp    foo
    .cfi_endproc
.LFE0:
    .size    xxx, .-xxx

Reply via email to