This is an archive of the discontinued LLVM Phabricator instance.

ELF: Report multiple errors from the driver.
ClosedPublic

Authored by ruiu on Jan 27 2016, 12:24 PM.

Details

Reviewers
• rafael
Summary

This patch let the driver keep going until it parses all
command line options.

Diff Detail

Event Timeline

ruiu updated this revision to Diff 46165.Jan 27 2016, 12:24 PM
ruiu retitled this revision from to ELF: Report multiple errors from the driver..
ruiu updated this object.
ruiu added a reviewer: • rafael.
ruiu added a subscriber: llvm-commits.
ruiu updated this revision to Diff 46167.Jan 27 2016, 12:30 PM
  • Made the code a bit shorter by changing the return type of error.
• rafael accepted this revision.Jan 28 2016, 5:35 PM
• rafael edited edge metadata.

LGTM with two nits.

ELF/Driver.cpp
68

This is a broken file case, I would leave it for another patch.

74

Same here.

This revision is now accepted and ready to land.Jan 28 2016, 5:35 PM
ruiu added inline comments.Jan 28 2016, 5:55 PM
ELF/Driver.cpp
68

Fair. Done.

ruiu closed this revision.Jan 28 2016, 5:55 PM
grimar added a subscriber: grimar.Jan 29 2016, 3:00 AM
grimar added inline comments.
ELF/Driver.cpp
120

This will not work. Problem is that searchLibrary() returns std::string which is destroyed after assigning buffer pointer to StringRef. Buffer is filled with garbage in debug and some tests under windows + msvs2015/debug were failing because of that.
r259186 fixes it:

std::string Path = searchLibrary(Name);