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