add a virtual method to DiagnosticClient to get rid of some fragile
casting in clang-cc.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@69377 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/tools/clang-cc/clang-cc.cpp b/tools/clang-cc/clang-cc.cpp
index e9e5c37..81d1e39 100644
--- a/tools/clang-cc/clang-cc.cpp
+++ b/tools/clang-cc/clang-cc.cpp
@@ -2301,11 +2301,7 @@
// Initialize language options, inferring file types from input filenames.
LangOptions LangInfo;
-
- if (!VerifyDiagnostics)
- static_cast<TextDiagnosticPrinter*>(TextDiagClient)
- ->SetLangOpts(LangInfo);
-
+ TextDiagClient->setLangOptions(&LangInfo);
InitializeBaseLanguage();
LangKind LK = GetLanguage(InFile);
@@ -2346,7 +2342,8 @@
// Process the source file.
ProcessInputFile(*PP, PPFactory, InFile, ProgAction);
- HeaderInfo.ClearFileInfo();
+ HeaderInfo.ClearFileInfo();
+ TextDiagClient->setLangOptions(0);
}
if (Verbose)