Index: clang/lib/Analysis/UnsafeBufferUsage.cpp =================================================================== --- clang/lib/Analysis/UnsafeBufferUsage.cpp +++ clang/lib/Analysis/UnsafeBufferUsage.cpp @@ -1537,6 +1537,8 @@ if (EndOfOperand) return FixItList{{FixItHint::CreateInsertion( *EndOfOperand, ".data()")}}; + // FIXME: Points inside a macro expansion. + break; } [[fallthrough]]; case Strategy::Kind::Wontfix: Index: clang/test/SemaCXX/warn-unsafe-buffer-usage-test-unreachable.cpp =================================================================== --- /dev/null +++ clang/test/SemaCXX/warn-unsafe-buffer-usage-test-unreachable.cpp @@ -0,0 +1,8 @@ +// RUN: %clang_cc1 -std=c++20 -Wunsafe-buffer-usage -fsafe-buffer-usage-suggestions -verify %s + +// expected-no-diagnostics + +typedef unsigned __darwin_size_t; +typedef __darwin_size_t size_t; + #define bzero(s, n) __builtin_bzero(s, n) +void __nosan_bzero(void *dst, size_t sz) { bzero(dst, sz); }