llvm.org GIT mirror llvm / 5f92811
Handle a symbol being undefined. This can happen if: * It is present in a comdat in one file. * It is not present in the comdat of the file that is kept. * Is is not used. This should fix the LTO boostrap. Thanks to Takumi NAKAMURA for setting up the bot! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@225983 91177308-0d34-0410-b5e6-96231b3b80d8 Rafael Espindola 4 years ago
2 changed file(s) with 10 addition(s) and 1 deletion(s). Raw diff Collapse all Expand all
0 $c2 = comdat any
1 $c1 = comdat any
2
3 ; This is only present in this file. The linker will keep $c1 from the first
4 ; file and this will be undefined.
5 @will_be_undefined = global i32 1, comdat($c1)
16
27 @v1 = weak_odr global i32 41, comdat($c2)
38 define weak_odr protected i32 @f1(i8* %this) comdat($c2) {
628628 case LDPR_RESOLVED_IR:
629629 case LDPR_RESOLVED_EXEC:
630630 case LDPR_RESOLVED_DYN:
631 assert(GV->isDeclarationForLinker());
632 break;
633
631634 case LDPR_UNDEF:
632 assert(GV->isDeclarationForLinker());
635 assert(GV->hasComdat());
636 Drop.insert(GV);
633637 break;
634638
635639 case LDPR_PREVAILING_DEF_IRONLY: {