aboutsummaryrefslogtreecommitdiff
path: root/lib/Basic/Module.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Basic/Module.cpp')
-rw-r--r--lib/Basic/Module.cpp19
1 files changed, 14 insertions, 5 deletions
diff --git a/lib/Basic/Module.cpp b/lib/Basic/Module.cpp
index 59fced5f16..c3a8a377c4 100644
--- a/lib/Basic/Module.cpp
+++ b/lib/Basic/Module.cpp
@@ -102,9 +102,14 @@ void Module::print(llvm::raw_ostream &OS, unsigned Indent) const {
for (unsigned I = 0, N = Exports.size(); I != N; ++I) {
OS.indent(Indent + 2);
- OS << "export " << Exports[I].getPointer()->getFullModuleName();
- if (Exports[I].getInt())
- OS << ".*";
+ OS << "export ";
+ if (Module *Restriction = Exports[I].getPointer()) {
+ OS << Restriction->getFullModuleName();
+ if (Exports[I].getInt())
+ OS << ".*";
+ } else {
+ OS << "*";
+ }
OS << "\n";
}
@@ -112,8 +117,12 @@ void Module::print(llvm::raw_ostream &OS, unsigned Indent) const {
OS.indent(Indent + 2);
OS << "export ";
printModuleId(OS, UnresolvedExports[I].Id);
- if (UnresolvedExports[I].Wildcard)
- OS << ".*";
+ if (UnresolvedExports[I].Wildcard) {
+ if (UnresolvedExports[I].Id.empty())
+ OS << "*";
+ else
+ OS << ".*";
+ }
OS << "\n";
}