[LLVMbugs] [Bug 2099] New: Incorrect codegen: inliner vs byval parameter

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Tue Feb 26 10:31:39 PST 2008


http://llvm.org/bugs/show_bug.cgi?id=2099

           Summary: Incorrect codegen: inliner vs byval parameter
           Product: new-bugs
           Version: unspecified
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: dalej at apple.com
                CC: llvmbugs at cs.uiuc.edu


The following currently produces incorrect code at -Os or -O3 (x86-32 Darwin). 
The inliner is screwing up the byval parameter somehow.  Broken between Feb 12
and Feb 21.  This may be connected with my changes to parameter passing, I'll
look.

struct s {
  char text[11];
  int flag;
} cell;

int
check (struct s p)
{
  if (p.flag != 99)
    return 1;
  return strcmp (p.text, "0123456789");
}

main ()
{
  cell.flag = 99;
  strcpy (cell.text, "0123456789");

  if (check (cell))
    abort();
  exit (0);
}


-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list