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

           Summary: Interpreter asserts on out of range shift amount
           Product: libraries
           Version: trunk
          Platform: PC
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Interpreter
        AssignedTo: [email protected]
        ReportedBy: [email protected]
                CC: [email protected]


When using the Interpreter variety of ExecutionEngine, an out of range shift
amount causes an assert to trigger. However, the same inputs to the regular
ExecutionEngine runs fine (producing an undefined result, but that's OK).

For example, the issue is visible when the following code is compiled with
clang and then executed through llvm:

int main(void) { int i=1; i<<100; return 0; }

When using the Interpreter, the following assert is triggered:

Assertion failed: (shiftAmt <= BitWidth && "Invalid shift amount"), function
shl, file /llvm/include/llvm/ADT/APInt.h, line 681.


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