[all-commits] [llvm/llvm-project] e8ae77: [C] Add diagnostic + attr for unterminated strings...
Aaron Ballman via All-commits
all-commits at lists.llvm.org
Wed Apr 30 07:14:41 PDT 2025
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: e8ae77947154e10dbc05cbb95ec9e10d3b0be13e
https://github.com/llvm/llvm-project/commit/e8ae77947154e10dbc05cbb95ec9e10d3b0be13e
Author: Aaron Ballman <aaron at aaronballman.com>
Date: 2025-04-30 (Wed, 30 Apr 2025)
Changed paths:
M clang/docs/ReleaseNotes.rst
M clang/include/clang/Basic/Attr.td
M clang/include/clang/Basic/AttrDocs.td
M clang/include/clang/Basic/DiagnosticGroups.td
M clang/include/clang/Basic/DiagnosticSemaKinds.td
M clang/lib/Sema/SemaDeclAttr.cpp
M clang/lib/Sema/SemaInit.cpp
M clang/test/Misc/pragma-attribute-supported-attributes-list.test
A clang/test/Sema/attr-nonstring.c
Log Message:
-----------
[C] Add diagnostic + attr for unterminated strings (#137829)
This introduces three things related to intialization like:
char buf[3] = "foo";
where the array does not declare enough space for the null terminator
but otherwise can represent the array contents exactly.
1) An attribute named 'nonstring' which can be used to mark that a
field or variable is not intended to hold string data.
2) -Wunterminated-string-initialization, which is grouped under
-Wextra, and diagnoses the above construct unless the declaration
uses the 'nonstring' attribute.
3) -Wc++-unterminated-string-initialization, which is grouped under
-Wc++-compat, and diagnoses the above construct even if the
declaration uses the 'nonstring' attribute.
Fixes #137705
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list