GCC warning:
In file included from /usr/include/string.h:495, from /usr/include/c++/9/cstring:42, from /llvm-project/llvm/include/llvm/ADT/Hashing.h:53, from /llvm-project/llvm/include/llvm/ADT/ArrayRef.h:12, from /llvm-project/llvm/include/llvm/MC/MCAsmBackend.h:12, from /llvm-project/llvm/lib/MC/XCOFFObjectWriter.cpp:14: In function ‘char* strncpy(char*, const char*, size_t)’, inlined from ‘{anonymous}::Section::Section(const char*, llvm::XCOFF::SectionTypeFlags, bool, {anonymous}::CsectGroups)’ at /llvm-project/llvm/lib/MC/XCOFFObjectWriter.cpp:146:12: /usr/include/x86_64-linux-gnu/bits/string_fortified.h:106:34: warning: ‘char* __builtin_strncpy(char*, const char*, long unsigned int)’ specified bound 8 equals destination size [-Wstringop-truncation] 106 | return __builtin___strncpy_chk (__dest, __src, __len, __bos (__dest)); | ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
D71119 changed the type of a local variable as a concession to a false-positive compiler warning (the NUL termination is not required for a name with NameSize characters).
Changing the interface of a public member of a class is a more intrusive change. Presumably, we can keep the type of Name here as-is and use memcpy to populate Name after using strncpy in the constructor.