xref: /llvm-project/clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-array-inits-ptr.cpp (revision fde4b80cb772897a8cf0b3d022f3041e10b6e816)
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