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

           Summary: linker should handle parameter attributes better
           Product: new-bugs
           Version: unspecified
          Platform: Other
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P2
         Component: new bugs
        AssignedTo: [EMAIL PROTECTED]
        ReportedBy: [EMAIL PROTECTED]
                CC: [email protected]


Case 1: two declarations.  Consider module a:

declare void @f() nounwind

and module b:

declare void @f()

If you do
  llvm-link a.bc b.bc
then @f is nounwind, while with
  llvm-link b.bc a.bc
it is not nounwind.  It would be safer to
have it not nounwind in both cases.  More
generally, attributes should probably be
"and"'d together when the linker joins two
declarations.

Case 2: declaration and definition.  Consider module a:

declare void @f() nounwind

and module b:

define void @f() {
  ret void
}

Once again whether @f is nounwind in the linked
module depends on the order.  What should happen
is that the attributes from the definition should
win.


-- 
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.
_______________________________________________
LLVMbugs mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs

Reply via email to