[clang] Add more tests for _Countof (PR #133333)

Alejandro Colomar via cfe-commits cfe-commits at lists.llvm.org
Fri Mar 28 06:33:59 PDT 2025


================
@@ -144,3 +177,13 @@ void test_compound_literals() {
   static_assert(_Countof((int[2]){}) == 2);
   static_assert(_Countof((int[]){1, 2, 3, 4}) == 4);	
 }
+
+static int test_f1();
+static int test_f2();  // expected-warning {{never defined}}
+
+void test_symbols() {
+  int a[global_num][global_num];
+
+  static_assert(_Countof(global_multi_array[test_f1()]) == 34);
+  (void)_Countof(a[test_f2()]);
----------------
alejandro-colomar wrote:

That the symbol `test_f1` is not used at all.


We don't get a diagnostic due to having a declaration without a definition.  (But we get it in line 188 for `test_f2` because that's not an ICE.

https://github.com/llvm/llvm-project/pull/133333


More information about the cfe-commits mailing list