[clang] [Clang] Diagnose invalid object size kinds during constant evaluation (PR #230979)
Timm Baeder via cfe-commits
cfe-commits at lists.llvm.org
Mon Oct 12 03:40:56 PDT 2026
================
@@ -30,6 +30,13 @@ int f3(void) {
return OBJECT_SIZE_BUILTIN(&a, 4); // expected-error {{argument value 4 is outside the valid range [0, 3]}}
}
+// expected-error at +2 {{static assertion expression is not an integral constant expression}}
+// expected-note at +1 {{argument value -1 is outside the valid range [0, 3]}}
+_Static_assert(OBJECT_SIZE_BUILTIN((void *)0, -1), "");
+
+// expected-error at +2 {{static assertion expression is not an integral constant expression}}
+// expected-note at +1 {{argument value 4 is outside the valid range [0, 3]}}
+_Static_assert(OBJECT_SIZE_BUILTIN((void *)0, 4), "");
----------------
tbaederr wrote:
The expected output should be in the same line as the `_Static_assert`, same as the others in this file.
https://github.com/llvm/llvm-project/pull/230979
More information about the cfe-commits
mailing list