Really? Then how would you handle --{start,end}-group? Also, instead of having three setOrdinal() in resolveUndefines(), why don't you call setOrdinal() after Resolver.cpp:300? In all three cases we need to call setOrdinal() so we don't need to do that in each if clause. http://llvm-reviews.chandlerc.com/D1865