ping On 20 February 2014 17:08, Rafael Espíndola <[email protected]> wrote: > Hi John, > > Back in http://llvm.org/bugs/show_bug.cgi?id=3267#c4 when I first > added private linkage Chris noted that "Darwin has a similar class of > thing and a lot of ObjC metadata has this sort of symbol. We're > hacking around it by setting DECL_ASSEMBLER_NAME to include the prefix > for darwin, which is ugly." > > A similar hack still lives in clang today. Now that PR18743 has been > fixed, I was curious to see if that could be fixed too. It looks like > it can, but the logic for computing the linkage is a bit convoluted, > so I decided to fix that first. > > Currently the globals are created with the wrong linkage and patched > afterwards. From the comments it looks like something would complain > about having an internal GV with no initializer. At least in clang the > verifier will only run way after we set the initializer, so that is > not a problem. > > The attached patch should be a nop. It just figures out the linkage > earlier and converts the old calls to setLinkage to asserts. The only > case where that is not possible is when we first see a weak import > that is then implemented. In that case we have to change the linkage, > but that is the only setLinkage left. > > As an additional test I have compiled chromium with a patched clang > and used it to write this email :-) > > Cheers, > Rafael
_______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
