// 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 }