aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/CodeGen/CodeGenModule.cpp
diff options
context:
space:
mode:
authorjkorous-apple <32549412+jkorous-apple@users.noreply.github.com>2024-02-16 13:10:51 -0800
committerGitHub <noreply@github.com>2024-02-16 13:10:51 -0800
commit7c3ad9e72bc034ad655a7e16aa73b9864c58768b (patch)
treec00544673401cd8046143935b145decc3f19b191 /clang/lib/CodeGen/CodeGenModule.cpp
parent4265ad12154caa92d47e8ff839ed3f3876922fd6 (diff)
downloadllvm-7c3ad9e72bc034ad655a7e16aa73b9864c58768b.zip
llvm-7c3ad9e72bc034ad655a7e16aa73b9864c58768b.tar.gz
llvm-7c3ad9e72bc034ad655a7e16aa73b9864c58768b.tar.bz2
[-Wunsafe-buffer-usage] Fix fixits for span initialized from const size array (#81927)
Example: int arr[10]; int * ptr = arr; If ptr is unsafe and we transform it to std::span then the fixit we'd currently provide transforms the code to: std::span<int> ptr{arr, 10}; That's suboptimal as that repeats the size of the array in the code. The idiomatic transformation should rely on the span constructor that takes just the array argument and relies on template parameter autodeduction to set the span size. The transformed code should look like: std::span<int> ptr = arr; Note that it just should not change the initializer at all and that also works for other forms of initialization like: int * ptr {arr}; becoming: std::span<int> ptr{arr}; This patch changes the initializer handling to the desired (empty) fixit.
Diffstat (limited to 'clang/lib/CodeGen/CodeGenModule.cpp')
0 files changed, 0 insertions, 0 deletions