aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/3rdparty/cplusplus
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@qt.io>2017-03-07 16:12:42 +0100
committerNikolai Kosjar <nikolai.kosjar@qt.io>2017-03-09 13:26:18 +0000
commit8187141b4afd0bdacae9bed3adae8426690d5853 (patch)
tree6878d6ac448a1084f22c56897d4c8e1d48cfc898 /src/libs/3rdparty/cplusplus
parent69276d81c5f33af568483e111365aadd3ca4e12a (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.cpp38
-rw-r--r--src/libs/3rdparty/cplusplus/TranslationUnit.h1
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;