[clang] [Clang] Fixed the behavior of C23 auto when an array type was specified for a `char *` (PR #189722)
Tony Guillot via cfe-commits
cfe-commits at lists.llvm.org
Wed Apr 1 07:44:20 PDT 2026
================
@@ -107,12 +107,11 @@ void test_misc(void) {
auto something; // expected-error {{declaration of variable 'something' with deduced type 'auto' requires an initializer}}
auto test_char = 'A';
auto test_char_ptr = "test";
- auto test_char_ptr2[] = "another test"; // expected-warning {{type inference of a declaration other than a plain identifier with optional trailing attributes is a Clang extension}}
+ auto test_char_ptr2[] = "another test"; // expected-error {{variable 'test_char_ptr2' with type 'auto[]' has incompatible initializer of type 'char[13]'}}
----------------
to268 wrote:
That is because we use the same diagnostic message as C++:
https://godbolt.org/z/zsrGaaj88
We could decide that we do not want the same diagnostic message as C++ and handle it differently.
https://github.com/llvm/llvm-project/pull/189722
More information about the cfe-commits
mailing list