[LLVMbugs] [Bug 1654] New: Broken arm_struct_value_rtx confuses objc_act. c in LLVM-GCC 4.0

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Wed Sep 12 11:37:21 PDT 2007


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

           Summary: Broken arm_struct_value_rtx confuses objc_act.c in LLVM-
                    GCC 4.0
           Product: new-bugs
           Version: unspecified
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: minor
          Priority: P2
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: nightwatch41 at gmail.com
                CC: llvmbugs at cs.uiuc.edu


Created an attachment (id=1115)
 --> (http://llvm.org/bugs/attachment.cgi?id=1115)
Proposed patch to address this issue.

Per the FIXME comment in gcc/config/arm/arm.c of LLVM-GCC 4.0, the
arm_struct_value_rtx function lies about whether structs are passed in a hidden
first parameter. This confuses gcc/objc/objc_act.c, which takes this result to
mean that Objective-C method calls do not need to be specially wrapped up in
objc_msgSend_stret. This causes crashes whenever struct-returning Objective-C
methods are called on arm-apple-darwin. The attached patch corrects this by
adding a new subtarget-specific define, BROKEN_STRUCT_VALUE_RTX, which simply
causes the Objective-C component of LLVM-GCC to assume that structures are
returned in a hidden first parameter, regardless of what the target backend's
struct_value_rtx() function tells it.

Thanks,
Patrick Walton


-- 
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