[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


           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) {
	%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