public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
From: jakub@gcc.gnu.org
To: gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org, jakub@gcc.gnu.org,
	janis187@us.ibm.com, rth@gcc.gnu.org
Subject: Re: target/5977: ia64 corruption in struct args passed by value
Date: Sun, 17 Mar 2002 13:36:00 -0000	[thread overview]
Message-ID: <20020317213647.9197.qmail@sources.redhat.com> (raw)

Synopsis: ia64 corruption in struct args passed by value

Responsible-Changed-From-To: jakub->rth
Responsible-Changed-By: jakub
Responsible-Changed-When: Sun Mar 17 13:36:47 2002
Responsible-Changed-Why:
    This got broken by http://gcc.gnu.org/ml/gcc-patches/2002-03/msg00056.html
    virtual_incoming_arg_rtx accesses are created by move_block_from_reg
    called from function.c (assign_parms) [FUNCTION_ARG_PARTIAL_NREGS].
    If the va-arg-5.c case cannot be solved in another way,
    setting FIRST_PARM_OFFSET to -current_function_pretend_args_size
    and ARG_POINTER_CFA_OFFSET to 0, though I'm not sure whether
    fix_lexical_addr would work properly in that case.
    
State-Changed-From-To: open->analyzed
State-Changed-By: jakub
State-Changed-When: Sun Mar 17 13:36:47 2002
State-Changed-Why:
    Slightly shorter testcase
    struct S { int i[9]; };
    
    struct S gs1, gs2;
    
    void
    init (struct S *p, int i)
    {
      int j;
      for (j = 0; j < 9; j++)
        p->i[j] = i + j;
    }
    
    void
    check (struct S *p, int i)
    {
      int j;
      for (j = 0; j < 9; j++)
        if (p->i[j] != i + j) abort ();
    }
    
    void
    bar (struct S s1, struct S s2)
    {
      check (&s1, 10);
      check (&s2, 20);
    }
    
    int
    main ()
    {
      init (&gs1, 10);
      check (&gs1, 10);
      init (&gs2, 20);
      check (&gs2, 20);
      bar (gs1, gs2);
    
      exit (0);
    }

http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=5977


             reply	other threads:[~2002-03-17 21:36 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-03-17 13:36 jakub [this message]
  -- strict thread matches above, loose matches on Subject: below --
2002-03-19 14:26 rth
2002-03-16  1:14 jakub
2002-03-15 15:56 janis187

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020317213647.9197.qmail@sources.redhat.com \
    --to=jakub@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    --cc=gcc-gnats@gcc.gnu.org \
    --cc=gcc-prs@gcc.gnu.org \
    --cc=janis187@us.ibm.com \
    --cc=rth@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).