19 lines
747 B
C++
19 lines
747 B
C++
// RUN: %clang_analyze_cc1 -analyzer-checker=core,debug.ExprInspection -verify %s
|
|
// RUN: %clang_analyze_cc1 -analyzer-checker=core,debug.ExprInspection -verify -x c %s
|
|
|
|
void clang_analyzer_dump(int);
|
|
|
|
// Ensure that VLA types are correctly handled by unary type traits in the
|
|
// expression engine. Previously, __datasizeof and _Countof both caused failed
|
|
// assertions.
|
|
void gh151711(int i) {
|
|
clang_analyzer_dump(sizeof(int[i++])); // expected-warning {{Unknown}}
|
|
#ifdef __cplusplus
|
|
// __datasizeof is only available in C++.
|
|
clang_analyzer_dump(__datasizeof(int[i++])); // expected-warning {{Unknown}}
|
|
#else
|
|
// _Countof is only available in C.
|
|
clang_analyzer_dump(_Countof(int[i++])); // expected-warning {{Unknown}}
|
|
#endif
|
|
}
|