diff options
| -rw-r--r-- | lld/lib/Driver/Driver.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lld/lib/Driver/Driver.cpp b/lld/lib/Driver/Driver.cpp index 1122ae9bc54..f87bf5b16c3 100644 --- a/lld/lib/Driver/Driver.cpp +++ b/lld/lib/Driver/Driver.cpp @@ -63,8 +63,13 @@ bool Driver::link(LinkingContext &context, raw_ostream &diagnostics) { llvm::raw_string_ostream stream(buf); if (error_code ec = ie->parse(context, stream)) { - FileNode *fileNode = dyn_cast<FileNode>(ie.get()); - stream << fileNode->errStr(ec) << "\n"; + if (FileNode *fileNode = dyn_cast<FileNode>(ie.get())) + stream << fileNode->errStr(ec) << "\n"; + else if (dyn_cast<Group>(ie.get())) + // FIXME: We need a better diagnostics here + stream << "Cannot parse group input element\n"; + else + llvm_unreachable("Unknown type of input element"); fail = true; } |

