[ObjectYAML] Use std::size (NFC)
authorKazu Hirata <kazu@google.com>
Sat, 26 Nov 2022 17:53:22 +0000 (09:53 -0800)
committerKazu Hirata <kazu@google.com>
Sat, 26 Nov 2022 17:53:22 +0000 (09:53 -0800)
std::size, introduced in C++17, allows us to directly obtain the
number of elements of an array.

This is part of an effort to migrate from llvm::Optional to
std::optional:

https://discourse.llvm.org/t/deprecating-llvm-optional-x-hasvalue-getvalue-getvalueor/63716

llvm/lib/ObjectYAML/COFFEmitter.cpp

index 787032c..f6e716b 100644 (file)
@@ -456,8 +456,7 @@ static bool writeCOFF(COFFParser &CP, raw_ostream &OS) {
          ++I) {
       const Optional<COFF::DataDirectory> *DataDirectories =
           CP.Obj.OptionalHeader->DataDirectories;
-      uint32_t NumDataDir = sizeof(CP.Obj.OptionalHeader->DataDirectories) /
-                            sizeof(Optional<COFF::DataDirectory>);
+      uint32_t NumDataDir = std::size(CP.Obj.OptionalHeader->DataDirectories);
       if (I >= NumDataDir || !DataDirectories[I]) {
         OS << zeros(uint32_t(0));
         OS << zeros(uint32_t(0));