diff options
| author | Douglas Gregor <dgregor@apple.com> | 2013-05-10 22:15:13 +0000 | 
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2013-05-10 22:15:13 +0000 | 
| commit | 940e80502e5746e0cc6342990c5d1f2e42cf1612 (patch) | |
| tree | 78eeb9c75d2ed9f75e735406047c16b53d8662fc /clang/lib/Serialization | |
| parent | f95485a69ef689d769fb197e65683d848c7dde43 (diff) | |
| download | bcm5719-llvm-940e80502e5746e0cc6342990c5d1f2e42cf1612.tar.gz bcm5719-llvm-940e80502e5746e0cc6342990c5d1f2e42cf1612.zip  | |
[Modules] When things go horribly wrong when reading a module, point at the module cache.
Sometimes people hack on their system headers. In such cases, they'll
need to delete their module cache, but may not know where it is. Add a
note to show them where it is.
llvm-svn: 181638
Diffstat (limited to 'clang/lib/Serialization')
| -rw-r--r-- | clang/lib/Serialization/ASTReader.cpp | 8 | 
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/lib/Serialization/ASTReader.cpp b/clang/lib/Serialization/ASTReader.cpp index 4a1ad260e32..17f01380ed0 100644 --- a/clang/lib/Serialization/ASTReader.cpp +++ b/clang/lib/Serialization/ASTReader.cpp @@ -759,6 +759,10 @@ bool ASTReader::ReadDeclContextStorage(ModuleFile &M,  void ASTReader::Error(StringRef Msg) {    Error(diag::err_fe_pch_malformed, Msg); +  if (Context.getLangOpts().Modules && !Diags.isDiagnosticInFlight()) { +    Diag(diag::note_module_cache_path) +      << PP.getHeaderSearchInfo().getModuleCachePath(); +  }  }  void ASTReader::Error(unsigned DiagID, @@ -1715,6 +1719,10 @@ InputFile ASTReader::getInputFile(ModuleFile &F, unsigned ID, bool Complain) {           )) {        if (Complain) {          Error(diag::err_fe_pch_file_modified, Filename, F.FileName); +        if (Context.getLangOpts().Modules && !Diags.isDiagnosticInFlight()) { +          Diag(diag::note_module_cache_path) +            << PP.getHeaderSearchInfo().getModuleCachePath(); +        }        }        IsOutOfDate = true;  | 

