| 1 | // RUN: %clang_cc1 -fsanitize=shift-base -emit-llvm %s -o - -triple x86_64-linux-gnu -fwrapv | FileCheck %s |
|---|---|
| 2 | |
| 3 | // CHECK-LABEL: @lsh_overflow |
| 4 | int lsh_overflow(int a, int b) { |
| 5 | // CHECK-NOT: br |
| 6 | // CHECK-NOT: call void @__ubsan_ |
| 7 | // CHECK-NOT: call void @llvm.trap |
| 8 | |
| 9 | // CHECK: %[[RET:.*]] = shl i32 |
| 10 | // CHECK-NEXT: ret i32 %[[RET]] |
| 11 | return a << b; |
| 12 | } |
| 13 |