davide added a comment. I think we treat weak undefined specially. http://llvm.org/viewvc/llvm-project?view=revision&revision=261591 isLazy() returns true. At least it did when I stepped through inside a debugger. https://reviews.llvm.org/D24832