@@ -674,8 +674,11 @@ enum class CStringSectionType {
674674 ObjCClassName,
675675 ObjCMethodName,
676676 ObjCMethodType,
677- ObjCPropertyName,
678677 OSLogString,
678+ // Place all new section types above this line
679+ NumTypes,
680+ // Place all alias below this line
681+ ObjCPropertyName = ObjCMethodName,
679682};
680683
681684// / IRGenModule - Primary class for emitting IR for global declarations.
@@ -1340,8 +1343,9 @@ class IRGenModule {
13401343 llvm::DenseMap<LinkEntity, llvm::Function*> GlobalFuncs;
13411344 llvm::DenseSet<const clang::Decl *> GlobalClangDecls;
13421345 // Maps sectionName -> string data -> constant
1343- llvm::StringMap<
1344- llvm::StringMap<std::pair<llvm::GlobalVariable *, llvm::Constant *>>>
1346+ std::array<
1347+ llvm::StringMap<std::pair<llvm::GlobalVariable *, llvm::Constant *>>,
1348+ static_cast <size_t >(CStringSectionType::NumTypes)>
13451349 GlobalStrings;
13461350 llvm::StringMap<llvm::Constant*> GlobalUTF16Strings;
13471351 llvm::StringMap<std::pair<llvm::GlobalVariable*, llvm::Constant*>>
@@ -1559,8 +1563,6 @@ class IRGenModule {
15591563 " __TEXT,__objc_methname,cstring_literals" ;
15601564 static constexpr const char ObjCMethodTypeSectionName[] =
15611565 " __TEXT,__objc_methtype,cstring_literals" ;
1562- static constexpr const char ObjCPropertyNameSectionName[] =
1563- " __TEXT,__objc_methname,cstring_literals" ;
15641566 static constexpr const char OSLogStringSectionName[] =
15651567 " __TEXT,__oslogstring,cstring_literals" ;
15661568
0 commit comments