@@ -1343,8 +1343,7 @@ namespace {
13431343 // };
13441344
13451345 assert (fields.getNextOffsetFromGlobal () == size);
1346- return buildGlobalVariable (fields, " _CATEGORY_" , /* const*/ true ,
1347- llvm::GlobalVariable::InternalLinkage);
1346+ return buildGlobalVariable (fields, " _CATEGORY_" , /* const*/ true );
13481347 }
13491348
13501349 llvm::Constant *emitProtocol () {
@@ -1504,8 +1503,7 @@ namespace {
15041503 // statically. Otherwise, the ObjC runtime may slide the InstanceSize
15051504 // based on changing base class layout.
15061505 return buildGlobalVariable (fields, dataSuffix,
1507- /* const*/ forMeta || FieldLayout->isFixedSize (),
1508- llvm::GlobalVariable::InternalLinkage);
1506+ /* const*/ forMeta || FieldLayout->isFixedSize ());
15091507 }
15101508
15111509 private:
@@ -1770,8 +1768,12 @@ namespace {
17701768 return null ();
17711769 }
17721770
1773- return buildGlobalVariable (array, " _PROTOCOL_METHOD_TYPES_" ,
1774- /* const*/ true );
1771+ auto *gv_as_const = buildGlobalVariable (array, " _PROTOCOL_METHOD_TYPES_" ,
1772+ /* const*/ true ,
1773+ /* likage*/ llvm::GlobalVariable::WeakAnyLinkage);
1774+ llvm::GlobalValue *gv = (llvm::GlobalValue *)gv_as_const;
1775+ gv->setVisibility (llvm::GlobalValue::HiddenVisibility);
1776+ return gv;
17751777 }
17761778
17771779 void buildExtMethodTypes (ConstantArrayBuilder &array,
@@ -2173,7 +2175,7 @@ namespace {
21732175 template <class B >
21742176 llvm::Constant *buildGlobalVariable (B &fields, StringRef nameBase, bool isConst,
21752177 llvm::GlobalValue::LinkageTypes linkage =
2176- llvm::GlobalVariable::WeakAnyLinkage ) {
2178+ llvm::GlobalVariable::InternalLinkage ) {
21772179 llvm::SmallString<64 > nameBuffer;
21782180 auto var =
21792181 fields.finishAndCreateGlobal (Twine (nameBase)
@@ -2184,9 +2186,6 @@ namespace {
21842186 IGM.getPointerAlignment (),
21852187 /* constant*/ true ,
21862188 linkage);
2187- if (linkage == llvm::GlobalVariable::WeakAnyLinkage) {
2188- var->setVisibility (llvm::GlobalValue::HiddenVisibility);
2189- }
21902189
21912190 switch (IGM.TargetInfo .OutputObjectFormat ) {
21922191 case llvm::Triple::MachO:
0 commit comments