Skip to content

Commit ff51c1a

Browse files
committed
[-Wunsafe-buffer-usage][NFC] Test more fixits of array decayed to pointer
1 parent 0351010 commit ff51c1a

File tree

1 file changed

+34
-1
lines changed

1 file changed

+34
-1
lines changed

clang/test/SemaCXX/warn-unsafe-buffer-usage-fixits-pointer-access.cpp

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -206,4 +206,37 @@ void fixits_in_lambda_capture_rename() {
206206
};
207207

208208
p[5] = 10;
209-
}
209+
}
210+
211+
void cast_to_int() {
212+
int* p = new int[10];
213+
// CHECK-DAG: fix-it:"{{.*}}":{[[@LINE-1]]:3-[[@LINE-1]]:11}:"std::span<int> p"
214+
// CHECK-DAG: fix-it:"{{.*}}":{[[@LINE-2]]:12-[[@LINE-2]]:12}:"{"
215+
// CHECK-DAG: fix-it:"{{.*}}":{[[@LINE-3]]:23-[[@LINE-3]]:23}:", 10}"
216+
217+
int tmp = p[5];
218+
(unsigned long long) p;
219+
// CHECK-DAG: fix-it:"{{.*}}":{[[@LINE-1]]:25-[[@LINE-1]]:25}:".data()"
220+
}
221+
222+
void ptr_comparison(int* ptr) {
223+
int* p = new int[10];
224+
// CHECK-DAG: fix-it:"{{.*}}":{[[@LINE-1]]:3-[[@LINE-1]]:11}:"std::span<int> p"
225+
// CHECK-DAG: fix-it:"{{.*}}":{[[@LINE-2]]:12-[[@LINE-2]]:12}:"{"
226+
// CHECK-DAG: fix-it:"{{.*}}":{[[@LINE-3]]:23-[[@LINE-3]]:23}:", 10}"
227+
228+
int tmp = p[5];
229+
bool comp = p > ptr;
230+
// CHECK-DAG: fix-it:"{{.*}}":{[[@LINE-1]]:16-[[@LINE-1]]:16}:".data()"
231+
}
232+
233+
void ptr_distance(int* ptr) {
234+
int* p = new int[10];
235+
// CHECK-DAG: fix-it:"{{.*}}":{[[@LINE-1]]:3-[[@LINE-1]]:11}:"std::span<int> p"
236+
// CHECK-DAG: fix-it:"{{.*}}":{[[@LINE-2]]:12-[[@LINE-2]]:12}:"{"
237+
// CHECK-DAG: fix-it:"{{.*}}":{[[@LINE-3]]:23-[[@LINE-3]]:23}:", 10}"
238+
239+
int tmp = p[5];
240+
int dist = p - ptr;
241+
// CHECK-DAG: fix-it:"{{.*}}":{[[@LINE-1]]:15-[[@LINE-1]]:15}:".data()"
242+
}

0 commit comments

Comments
 (0)