1 // RUN: %clang_cc1 -std=c++20 -Wunsafe-buffer-usage \
2 // RUN: -fsafe-buffer-usage-suggestions \
3 // RUN: -fdiagnostics-parseable-fixits %s 2>&1 | FileCheck %s
4
safe_array_initing_safe_ptr(unsigned idx)5 void safe_array_initing_safe_ptr(unsigned idx) {
6 int buffer[10];
7 // CHECK-NOT: fix-it:"{{.*}}":{[[@LINE-1]]:
8 int* ptr = buffer;
9 // CHECK-NOT: fix-it:"{{.*}}":{[[@LINE-1]]:
10 }
11
safe_array_initing_unsafe_ptr(unsigned idx)12 void safe_array_initing_unsafe_ptr(unsigned idx) {
13 int buffer[123321123];
14 // CHECK-NOT: fix-it:"{{.*}}":{[[@LINE-1]]:
15 int* ptr = buffer;
16 // CHECK-DAG: fix-it:"{{.*}}":{[[@LINE-1]]:3-[[@LINE-1]]:7}:"std::span<int>"
17 // CHECK-NOT: fix-it:"{{.*}}":{[[@LINE-1]]:{{.*}}123321123
18 ptr[idx + 1] = 0;
19 }
20