[LLVMbugs] [Bug 8273] New: possible volatile bug
    bugzilla-daemon at llvm.org 
    bugzilla-daemon at llvm.org
       
    Fri Oct  1 10:24:50 PDT 2010
    
    
  
http://llvm.org/bugs/show_bug.cgi?id=8273
           Summary: possible volatile bug
           Product: new-bugs
           Version: trunk
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: normal
          Priority: P
         Component: new bugs
        AssignedTo: unassignedbugs at nondot.org
        ReportedBy: regehr at cs.utah.edu
                CC: llvmbugs at cs.uiuc.edu, chenyang at cs.utah.edu
Ok this is super nitpicky, but I think actually wrong.
We take this code:
int const volatile vol1 = 0;
int const vol2 = 0;
int main (void)
{
  return 0;
}
and then run these commands:
[regehr at gamow ~]$ clang -O vol.c -o vol
[regehr at gamow ~]$ nm vol |grep vol
00000000004005cc R vol1
00000000004005cc R vol2
They have been put at the same location.  I argue that this transformation is
illegal if any of the variables in question are volatile, because a
volatile-qualified object should only be loaded from or store to when the
abstract machine would do so.
-- 
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