Mercurial > hg > CbC > CbC_llvm
view clang/test/Analysis/pointer-arithmetic.c @ 236:c4bab56944e8 llvm-original
LLVM 16
author | kono |
---|---|
date | Wed, 09 Nov 2022 17:45:10 +0900 |
parents | 1d019706d866 |
children |
line wrap: on
line source
// RUN: %clang_analyze_cc1 -analyzer-checker=core -verify %s int test1(void) { int *p = (int *)sizeof(int); p -= 1; return *p; // expected-warning {{Dereference of null pointer}} } int test2(void) { int *p = (int *)sizeof(int); p -= 2; p += 1; return *p; // expected-warning {{Dereference of null pointer}} } int test3(void) { int *p = (int *)sizeof(int); p++; p--; p--; return *p; // expected-warning {{Dereference of null pointer}} } int test4(void) { // This is a special case where pointer arithmetic is not calculated to // preserve useful warnings on dereferences of null pointers. int *p = 0; p += 1; return *p; // expected-warning {{Dereference of null pointer}} }