[LLVMbugs] [Bug 1352] NEW: volatile lost in struct copy

bugzilla-daemon at cs.uiuc.edu bugzilla-daemon at cs.uiuc.edu
Tue Apr 24 13:34:24 PDT 2007


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

           Summary: volatile lost in struct copy
           Product: tools
           Version: 1.9
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: minor
          Priority: P2
         Component: llvm-gcc
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: djg at cray.com


I typed this into the online demo:

struct foo {
  int x;
};

void copy(volatile struct foo *p, struct foo *q)
{
  *p = *q;
}

It produced this:

void %copy(%struct.foo* %p, %struct.foo* %q) {
entry:
	%tmp2 = getelementptr %struct.foo* %q, int 0, uint 0		; <int*> [#uses=1]
	%tmp = load int* %tmp2		; <int> [#uses=1]
	%tmp4 = getelementptr %struct.foo* %p, int 0, uint 0		; <int*> [#uses=1]
	store int %tmp, int* %tmp4
	ret void
}

The store should be volatile.



------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.



More information about the llvm-bugs mailing list