-
- Downloads
Use private linkage for remaining GlobalVariables with private names.
This patch changes the remaining GlobalVariables using "\01L" and "\01l" prefixes to use private linkage. What is strange about them is that they currently use WeakAnyLinkage. There is no comment stating why and that is really odd since the symbols are completely hidden, so it doesn't make sense for them to be weak. Clang revisions like r63329, r63408, r63770, r65761 set the linkage to weak, but don't say why. I suspect they were just copying llvm-gcc. In llvm-gcc I found r58599 and r56322 that set DECL_WEAK, but they were just syncing from the apple gcc. I am not exactly sure what that means, since the last commit to svn://gcc.gnu.org/svn/gcc/branches/apple was in 2006, 2 years earlier. In summary, I have no idea why weak linkage was being used :-( To quote John McCall, "Let’s try without it and see" :-) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@203059 91177308-0d34-0410-b5e6-96231b3b80d8
Showing
- lib/CodeGen/CGObjCMac.cpp 11 additions, 11 deletionslib/CodeGen/CGObjCMac.cpp
- test/CodeGenObjC/forward-protocol-metadata-symbols.m 3 additions, 3 deletionstest/CodeGenObjC/forward-protocol-metadata-symbols.m
- test/CodeGenObjC/hidden-visibility.m 1 addition, 1 deletiontest/CodeGenObjC/hidden-visibility.m
- test/CodeGenObjC/metadata-symbols-64.m 3 additions, 3 deletionstest/CodeGenObjC/metadata-symbols-64.m
Loading
Please register or sign in to comment