Author: Rashmi Mudduluru Date: 2023-07-25T13:40:33-07:00 New Revision: 070358ec92350c13b0b6c60fbb03bf35a7a00251
URL: https://github.com/llvm/llvm-project/commit/070358ec92350c13b0b6c60fbb03bf35a7a00251 DIFF: https://github.com/llvm/llvm-project/commit/070358ec92350c13b0b6c60fbb03bf35a7a00251.diff LOG: [-Wunsafe-buffer-usage] Fix a fallthrough case in UPCStandalonePointer getFixits Differential Revision: https://reviews.llvm.org/D155526 Added: clang/test/SemaCXX/warn-unsafe-buffer-usage-test-unreachable.cpp Modified: clang/lib/Analysis/UnsafeBufferUsage.cpp Removed: ################################################################################ diff --git a/clang/lib/Analysis/UnsafeBufferUsage.cpp b/clang/lib/Analysis/UnsafeBufferUsage.cpp index 5cde60cefdf065..78f180447eef6f 100644 --- a/clang/lib/Analysis/UnsafeBufferUsage.cpp +++ b/clang/lib/Analysis/UnsafeBufferUsage.cpp @@ -1512,8 +1512,8 @@ PointerDereferenceGadget::getFixits(const Strategy &S) const { FixItHint::CreateInsertion( (*EndOfOperand).getLocWithOffset(1), "[0]")}}; } + break; } - [[fallthrough]]; case Strategy::Kind::Iterator: case Strategy::Kind::Array: case Strategy::Kind::Vector: @@ -1541,8 +1541,9 @@ std::optional<FixItList> UPCStandalonePointerGadget::getFixits(const Strategy &S if (EndOfOperand) return FixItList{{FixItHint::CreateInsertion( *EndOfOperand, ".data()")}}; + // FIXME: Points inside a macro expansion. + break; } - [[fallthrough]]; case Strategy::Kind::Wontfix: case Strategy::Kind::Iterator: case Strategy::Kind::Array: diff --git a/clang/test/SemaCXX/warn-unsafe-buffer-usage-test-unreachable.cpp b/clang/test/SemaCXX/warn-unsafe-buffer-usage-test-unreachable.cpp new file mode 100644 index 00000000000000..844311c3a51a58 --- /dev/null +++ b/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); } _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits