From 08e92c873cdaadd7cbe0e32deb72c7806987943c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonathan=20M=C3=BCller?= Date: Sat, 7 Oct 2017 09:29:20 +0200 Subject: [PATCH] Show line number in error message --- src/libclang/libclang_parser.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/libclang/libclang_parser.cpp b/src/libclang/libclang_parser.cpp index fa3e2a6..08628a6 100644 --- a/src/libclang/libclang_parser.cpp +++ b/src/libclang/libclang_parser.cpp @@ -371,7 +371,11 @@ namespace auto sev = get_severity(diag); if (sev) { - auto loc = source_location::make_file(path); // line number won't help + auto diag_loc = clang_getDiagnosticLocation(diag); + unsigned line; + clang_getPresumedLocation(diag_loc, nullptr, &line, nullptr); + + auto loc = source_location::make_file(path, line); auto text = detail::cxstring(clang_getDiagnosticSpelling(diag)); if (text != "too many errors emitted, stopping now") logger.log("libclang", diagnostic{text.c_str(), loc, sev.value()});