diff options
author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2017-03-07 16:12:42 +0100 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2017-03-09 13:26:18 +0000 |
commit | 8187141b4afd0bdacae9bed3adae8426690d5853 (patch) | |
tree | 6878d6ac448a1084f22c56897d4c8e1d48cfc898 /src/libs/3rdparty/cplusplus | |
parent | 69276d81c5f33af568483e111365aadd3ca4e12a (diff) |
C++: Avoid printing to stderr and calling exit()
We are not a compiler.
Change-Id: I57d8283759d2587b890ff9bc1ca0c173cd910683
Reviewed-by: hjk <hjk@qt.io>
Reviewed-by: David Schulz <david.schulz@qt.io>
Diffstat (limited to 'src/libs/3rdparty/cplusplus')
-rw-r--r-- | src/libs/3rdparty/cplusplus/TranslationUnit.cpp | 38 | ||||
-rw-r--r-- | src/libs/3rdparty/cplusplus/TranslationUnit.h | 1 |
2 files changed, 1 insertions, 38 deletions
diff --git a/src/libs/3rdparty/cplusplus/TranslationUnit.cpp b/src/libs/3rdparty/cplusplus/TranslationUnit.cpp index ea180af5bf..257b2b97c7 100644 --- a/src/libs/3rdparty/cplusplus/TranslationUnit.cpp +++ b/src/libs/3rdparty/cplusplus/TranslationUnit.cpp @@ -446,25 +446,8 @@ void TranslationUnit::message(DiagnosticClient::Level level, unsigned index, con const StringLiteral *fileName = 0; getTokenPosition(index, &line, &column, &fileName); - if (DiagnosticClient *client = control()->diagnosticClient()) { + if (DiagnosticClient *client = control()->diagnosticClient()) client->report(level, fileName, line, column, format, args); - } else { - fprintf(stderr, "%s:%u: ", fileName->chars(), line); - const char *l = "error"; - if (level == DiagnosticClient::Warning) - l = "warning"; - else if (level == DiagnosticClient::Fatal) - l = "fatal"; - fprintf(stderr, "%s: ", l); - - vfprintf(stderr, format, args); - fputc('\n', stderr); - - showErrorLine(index, column, stderr); - } - - if (level == DiagnosticClient::Fatal) - exit(EXIT_FAILURE); } void TranslationUnit::warning(unsigned index, const char *format, ...) @@ -553,25 +536,6 @@ void TranslationUnit::releaseTokensAndComments() _comments = 0; } -void TranslationUnit::showErrorLine(unsigned index, unsigned column, FILE *out) -{ - unsigned lineOffset = _lineOffsets[findLineNumber(tokenAt(index).utf16charsBegin())]; - for (const char *cp = _firstSourceChar + lineOffset + 1; *cp && *cp != '\n'; ++cp) { - fputc(*cp, out); - } - fputc('\n', out); - - const char *end = _firstSourceChar + lineOffset + 1 + column - 1; - for (const char *cp = _firstSourceChar + lineOffset + 1; cp != end; ++cp) { - if (*cp != '\t') - fputc(' ', out); - else - fputc('\t', out); - } - fputc('^', out); - fputc('\n', out); -} - void TranslationUnit::resetAST() { delete _pool; diff --git a/src/libs/3rdparty/cplusplus/TranslationUnit.h b/src/libs/3rdparty/cplusplus/TranslationUnit.h index 5b28cbd6e2..81605575a5 100644 --- a/src/libs/3rdparty/cplusplus/TranslationUnit.h +++ b/src/libs/3rdparty/cplusplus/TranslationUnit.h @@ -174,7 +174,6 @@ private: unsigned findLineNumber(unsigned utf16charOffset) const; unsigned findColumnNumber(unsigned utf16CharOffset, unsigned lineNumber) const; PPLine findPreprocessorLine(unsigned utf16charOffset) const; - void showErrorLine(unsigned index, unsigned column, FILE *out); static const Token nullToken; |