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 |