| // RUN: %clang_cc1 -Wno-everything -Wunsafe-buffer-usage \ |
| // RUN: -fsafe-buffer-usage-suggestions \ |
| // RUN: -fdiagnostics-print-source-range-info %s 2>&1 | FileCheck %s |
| |
| void foo(int i) { |
| int * ptr; |
| |
| ptr++; |
| // CHECK: {[[@LINE-1]]:3-[[@LINE-1]]:6} |
| ptr--; |
| // CHECK: {[[@LINE-1]]:3-[[@LINE-1]]:6} |
| ++ptr; |
| // CHECK: {[[@LINE-1]]:5-[[@LINE-1]]:8} |
| --ptr; |
| // CHECK: {[[@LINE-1]]:5-[[@LINE-1]]:8} |
| |
| |
| ptr + 1; |
| // CHECK: {[[@LINE-1]]:3-[[@LINE-1]]:6} |
| 2 + ptr; |
| // CHECK: {[[@LINE-1]]:7-[[@LINE-1]]:10} |
| ptr + i; |
| // CHECK: {[[@LINE-1]]:3-[[@LINE-1]]:6} |
| i + ptr; |
| // CHECK: {[[@LINE-1]]:7-[[@LINE-1]]:10} |
| |
| |
| ptr - 3; |
| // CHECK: {[[@LINE-1]]:3-[[@LINE-1]]:6} |
| ptr - i; |
| // CHECK: {[[@LINE-1]]:3-[[@LINE-1]]:6} |
| |
| |
| ptr += 4; |
| // CHECK: {[[@LINE-1]]:3-[[@LINE-1]]:6} |
| ptr += i; |
| // CHECK: {[[@LINE-1]]:3-[[@LINE-1]]:6} |
| |
| |
| ptr -= 5; |
| // CHECK: {[[@LINE-1]]:3-[[@LINE-1]]:6} |
| ptr -= i; |
| // CHECK: {[[@LINE-1]]:3-[[@LINE-1]]:6} |
| |
| |
| ptr[5]; |
| // CHECK: {[[@LINE-1]]:3-[[@LINE-1]]:6} |
| 5[ptr]; |
| // CHECK: {[[@LINE-1]]:5-[[@LINE-1]]:8} |
| } |