19 lines · c
1// RUN: %clang_analyze_cc1 -analyzer-checker=core,debug.ExprInspection -verify %s2 3typedef typeof(sizeof(int)) size_t;4size_t clang_analyzer_getExtent(const void *p);5void clang_analyzer_dump(size_t n);6 7extern const unsigned char extern_redecl[];8const unsigned char extern_redecl[] = { 1,2,3,4 };9const unsigned char tentative_redecl[];10const unsigned char tentative_redecl[] = { 1,2,3,4 };11 12const unsigned char direct_decl[] = { 1,2,3,4 };13 14void test_redeclaration_extent(void) {15 clang_analyzer_dump(clang_analyzer_getExtent(direct_decl)); // expected-warning {{4 S64b}}16 clang_analyzer_dump(clang_analyzer_getExtent(extern_redecl)); // expected-warning {{4 S64b}}17 clang_analyzer_dump(clang_analyzer_getExtent(tentative_redecl)); // expected-warning {{4 S64b}}18}19