Lines Matching defs:undef
708 static void reportUndefinedSymbol(const UndefinedDiag &undef,
710 Undefined &sym = *undef.sym;
747 for (UndefinedDiag::Loc l : undef.locs) {
755 // present) for the enclosing symbol (e.g. var in `int *a[] = {&undef};`).
764 if (i < undef.locs.size())
765 msg += ("\n>>> referenced " + Twine(undef.locs.size() - i) + " more times")
789 if (undef.isWarning)
799 for (UndefinedDiag &undef : undefs) {
800 assert(undef.locs.size() == 1);
801 if (UndefinedDiag *canon = firstRef.lookup(undef.sym)) {
802 canon->locs.push_back(undef.locs[0]);
803 undef.locs.clear();
805 firstRef[undef.sym] = &undef;
809 for (const auto &[i, undef] : llvm::enumerate(undefs))
810 if (!undef.locs.empty())
811 reportUndefinedSymbol(undef, i < 2);