1affc150dc44fab1911775a49636d0ce85333b634Zonr Chang//===- DiagnosticPrinter.cpp ----------------------------------------------===//
2affc150dc44fab1911775a49636d0ce85333b634Zonr Chang//
3affc150dc44fab1911775a49636d0ce85333b634Zonr Chang//                     The MCLinker Project
4affc150dc44fab1911775a49636d0ce85333b634Zonr Chang//
5affc150dc44fab1911775a49636d0ce85333b634Zonr Chang// This file is distributed under the University of Illinois Open Source
6affc150dc44fab1911775a49636d0ce85333b634Zonr Chang// License. See LICENSE.TXT for details.
7affc150dc44fab1911775a49636d0ce85333b634Zonr Chang//
8affc150dc44fab1911775a49636d0ce85333b634Zonr Chang//===----------------------------------------------------------------------===//
937b74a387bb3993387029859c2d9d051c41c724eStephen Hines#include "mcld/LD/DiagnosticPrinter.h"
10affc150dc44fab1911775a49636d0ce85333b634Zonr Chang
1137b74a387bb3993387029859c2d9d051c41c724eStephen Hinesnamespace mcld {
12affc150dc44fab1911775a49636d0ce85333b634Zonr Chang
13d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao//===----------------------------------------------------------------------===//
14affc150dc44fab1911775a49636d0ce85333b634Zonr Chang// DiagnosticPrinter
15d0fbbb227051be16931a1aa9b4a7722ac039c698Shih-wei Liao//===----------------------------------------------------------------------===//
1637b74a387bb3993387029859c2d9d051c41c724eStephen HinesDiagnosticPrinter::DiagnosticPrinter() : m_NumErrors(0), m_NumWarnings(0) {
17affc150dc44fab1911775a49636d0ce85333b634Zonr Chang}
18affc150dc44fab1911775a49636d0ce85333b634Zonr Chang
1937b74a387bb3993387029859c2d9d051c41c724eStephen HinesDiagnosticPrinter::~DiagnosticPrinter() {
20affc150dc44fab1911775a49636d0ce85333b634Zonr Chang  clear();
21affc150dc44fab1911775a49636d0ce85333b634Zonr Chang}
22affc150dc44fab1911775a49636d0ce85333b634Zonr Chang
23affc150dc44fab1911775a49636d0ce85333b634Zonr Chang/// HandleDiagnostic - Handle this diagnostic, reporting it to the user or
24affc150dc44fab1911775a49636d0ce85333b634Zonr Chang/// capturing it to a log as needed.
25affc150dc44fab1911775a49636d0ce85333b634Zonr Changvoid DiagnosticPrinter::handleDiagnostic(DiagnosticEngine::Severity pSeverity,
2637b74a387bb3993387029859c2d9d051c41c724eStephen Hines                                         const Diagnostic& pInfo) {
27affc150dc44fab1911775a49636d0ce85333b634Zonr Chang  if (pSeverity == DiagnosticEngine::Warning)
28affc150dc44fab1911775a49636d0ce85333b634Zonr Chang    ++m_NumWarnings;
2922add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao
3022add6ff3426df1a85089fe6a6e1597ee3b6f300Shih-wei Liao  if (pSeverity <= DiagnosticEngine::Error)
31affc150dc44fab1911775a49636d0ce85333b634Zonr Chang    ++m_NumErrors;
32affc150dc44fab1911775a49636d0ce85333b634Zonr Chang}
33affc150dc44fab1911775a49636d0ce85333b634Zonr Chang
3437b74a387bb3993387029859c2d9d051c41c724eStephen Hines}  // namespace mcld
35