diff options
author | Nico Weber <nicolasweber@gmx.de> | 2008-08-10 19:59:06 +0000 |
---|---|---|
committer | Nico Weber <nicolasweber@gmx.de> | 2008-08-10 19:59:06 +0000 |
commit | 4c3116437cc19d05b3031b8e99566ef47bf463e8 (patch) | |
tree | a6f8b9aed87ba5053d4400387feaf2970bbae916 /clang/lib/Lex/Preprocessor.cpp | |
parent | cb1e06e8fda6d896c7b3031c220fb10e45b30049 (diff) | |
download | bcm5719-llvm-4c3116437cc19d05b3031b8e99566ef47bf463e8.tar.gz bcm5719-llvm-4c3116437cc19d05b3031b8e99566ef47bf463e8.zip |
* Remove isInSystemHeader() from DiagClient, move it to SourceManager
* Move FormatError() from TextDiagnostic up to DiagClient, remove now
empty class TextDiagnostic
* Make DiagClient optional for Diagnostic
This fixes the following problems:
* -html-diags (and probably others) does now output the same set of
warnings as console clang does
* nothing crashes if one forgets to call setHeaderSearch() on
TextDiagnostic
* some code duplication is removed
llvm-svn: 54620
Diffstat (limited to 'clang/lib/Lex/Preprocessor.cpp')
-rw-r--r-- | clang/lib/Lex/Preprocessor.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/lib/Lex/Preprocessor.cpp b/clang/lib/Lex/Preprocessor.cpp index 33c94b6e8ad..bc284427840 100644 --- a/clang/lib/Lex/Preprocessor.cpp +++ b/clang/lib/Lex/Preprocessor.cpp @@ -115,6 +115,17 @@ Preprocessor::~Preprocessor() { delete Callbacks; } +bool Preprocessor::isSystemHeader(const FileEntry* F) const { + if (F) { + DirectoryLookup::DirType DirInfo = HeaderInfo.getFileDirFlavor(F); + if (DirInfo == DirectoryLookup::SystemHeaderDir || + DirInfo == DirectoryLookup::ExternCSystemHeaderDir) + return true; + } + return false; +} + + /// Diag - Forwarding function for diagnostics. This emits a diagnostic at /// the specified Token's location, translating the token's start /// position in the current buffer into a SourcePosition object for rendering. |