dump: output language to dumpfile
This commit is contained in:
parent
9f50611a44
commit
ad8c1e26f0
|
@ -527,9 +527,9 @@ bool CmdLineParser::parseFromArgs(int argc, const char* const argv[])
|
||||||
}
|
}
|
||||||
|
|
||||||
if (str == "c")
|
if (str == "c")
|
||||||
mSettings->enforcedLang = Settings::C;
|
mSettings->enforcedLang = Settings::Language::C;
|
||||||
else if (str == "c++")
|
else if (str == "c++")
|
||||||
mSettings->enforcedLang = Settings::CPP;
|
mSettings->enforcedLang = Settings::Language::CPP;
|
||||||
else {
|
else {
|
||||||
printError("unknown language '" + str + "' enforced.");
|
printError("unknown language '" + str + "' enforced.");
|
||||||
return false;
|
return false;
|
||||||
|
|
|
@ -260,8 +260,24 @@ static void createDumpFile(const Settings& settings,
|
||||||
std::ofstream fout(getCtuInfoFileName(dumpFile));
|
std::ofstream fout(getCtuInfoFileName(dumpFile));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::string language;
|
||||||
|
switch (settings.enforcedLang) {
|
||||||
|
case Settings::Language::C:
|
||||||
|
language = " language=\"c\"";
|
||||||
|
break;
|
||||||
|
case Settings::Language::CPP:
|
||||||
|
language = " language=\"cpp\"";
|
||||||
|
break;
|
||||||
|
case Settings::Language::None:
|
||||||
|
if (Path::isCPP(filename))
|
||||||
|
language = " language=\"cpp\"";
|
||||||
|
else if (Path::isC(filename))
|
||||||
|
language = " language=\"c\"";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
fdump << "<?xml version=\"1.0\"?>" << std::endl;
|
fdump << "<?xml version=\"1.0\"?>" << std::endl;
|
||||||
fdump << "<dumps>" << std::endl;
|
fdump << "<dumps" << language << ">" << std::endl;
|
||||||
fdump << " <platform"
|
fdump << " <platform"
|
||||||
<< " name=\"" << settings.platformString() << '\"'
|
<< " name=\"" << settings.platformString() << '\"'
|
||||||
<< " char_bit=\"" << settings.char_bit << '\"'
|
<< " char_bit=\"" << settings.char_bit << '\"'
|
||||||
|
|
|
@ -49,7 +49,7 @@ Settings::Settings()
|
||||||
debugtemplate(false),
|
debugtemplate(false),
|
||||||
debugwarnings(false),
|
debugwarnings(false),
|
||||||
dump(false),
|
dump(false),
|
||||||
enforcedLang(None),
|
enforcedLang(Language::None),
|
||||||
exceptionHandling(false),
|
exceptionHandling(false),
|
||||||
exitCode(0),
|
exitCode(0),
|
||||||
force(false),
|
force(false),
|
||||||
|
|
|
@ -121,8 +121,8 @@ void TokenList::determineCppC()
|
||||||
mIsC = Path::isC(getSourceFilePath());
|
mIsC = Path::isC(getSourceFilePath());
|
||||||
mIsCpp = Path::isCPP(getSourceFilePath());
|
mIsCpp = Path::isCPP(getSourceFilePath());
|
||||||
} else {
|
} else {
|
||||||
mIsC = mSettings->enforcedLang == Settings::C || (mSettings->enforcedLang == Settings::None && Path::isC(getSourceFilePath()));
|
mIsC = mSettings->enforcedLang == Settings::Language::C || (mSettings->enforcedLang == Settings::Language::None && Path::isC(getSourceFilePath()));
|
||||||
mIsCpp = mSettings->enforcedLang == Settings::CPP || (mSettings->enforcedLang == Settings::None && Path::isCPP(getSourceFilePath()));
|
mIsCpp = mSettings->enforcedLang == Settings::Language::CPP || (mSettings->enforcedLang == Settings::Language::None && Path::isCPP(getSourceFilePath()));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mIsCpp) {
|
if (mIsCpp) {
|
||||||
|
|
|
@ -418,17 +418,17 @@ private:
|
||||||
REDIRECT;
|
REDIRECT;
|
||||||
{
|
{
|
||||||
const char * const argv[] = {"cppcheck", "file.cpp"};
|
const char * const argv[] = {"cppcheck", "file.cpp"};
|
||||||
settings.enforcedLang = Settings::None;
|
settings.enforcedLang = Settings::Language::None;
|
||||||
ASSERT(defParser.parseFromArgs(2, argv));
|
ASSERT(defParser.parseFromArgs(2, argv));
|
||||||
ASSERT_EQUALS(Settings::None, settings.enforcedLang);
|
ASSERT_EQUALS(Settings::Language::None, settings.enforcedLang);
|
||||||
ASSERT_EQUALS("", GET_REDIRECT_OUTPUT);
|
ASSERT_EQUALS("", GET_REDIRECT_OUTPUT);
|
||||||
}
|
}
|
||||||
CLEAR_REDIRECT_OUTPUT;
|
CLEAR_REDIRECT_OUTPUT;
|
||||||
{
|
{
|
||||||
const char * const argv[] = {"cppcheck", "-x", "c++", "file.cpp"};
|
const char * const argv[] = {"cppcheck", "-x", "c++", "file.cpp"};
|
||||||
settings.enforcedLang = Settings::None;
|
settings.enforcedLang = Settings::Language::None;
|
||||||
ASSERT(defParser.parseFromArgs(4, argv));
|
ASSERT(defParser.parseFromArgs(4, argv));
|
||||||
ASSERT_EQUALS(Settings::CPP, settings.enforcedLang);
|
ASSERT_EQUALS(Settings::Language::CPP, settings.enforcedLang);
|
||||||
ASSERT_EQUALS("", GET_REDIRECT_OUTPUT);
|
ASSERT_EQUALS("", GET_REDIRECT_OUTPUT);
|
||||||
}
|
}
|
||||||
CLEAR_REDIRECT_OUTPUT;
|
CLEAR_REDIRECT_OUTPUT;
|
||||||
|
@ -446,17 +446,17 @@ private:
|
||||||
CLEAR_REDIRECT_OUTPUT;
|
CLEAR_REDIRECT_OUTPUT;
|
||||||
{
|
{
|
||||||
const char * const argv[] = {"cppcheck", "--language=c++", "file.cpp"};
|
const char * const argv[] = {"cppcheck", "--language=c++", "file.cpp"};
|
||||||
settings.enforcedLang = Settings::None;
|
settings.enforcedLang = Settings::Language::None;
|
||||||
ASSERT(defParser.parseFromArgs(3, argv));
|
ASSERT(defParser.parseFromArgs(3, argv));
|
||||||
ASSERT_EQUALS(Settings::CPP, settings.enforcedLang);
|
ASSERT_EQUALS(Settings::Language::CPP, settings.enforcedLang);
|
||||||
ASSERT_EQUALS("", GET_REDIRECT_OUTPUT);
|
ASSERT_EQUALS("", GET_REDIRECT_OUTPUT);
|
||||||
}
|
}
|
||||||
CLEAR_REDIRECT_OUTPUT;
|
CLEAR_REDIRECT_OUTPUT;
|
||||||
{
|
{
|
||||||
const char * const argv[] = {"cppcheck", "--language=c", "file.cpp"};
|
const char * const argv[] = {"cppcheck", "--language=c", "file.cpp"};
|
||||||
settings.enforcedLang = Settings::None;
|
settings.enforcedLang = Settings::Language::None;
|
||||||
ASSERT(defParser.parseFromArgs(3, argv));
|
ASSERT(defParser.parseFromArgs(3, argv));
|
||||||
ASSERT_EQUALS(Settings::C, settings.enforcedLang);
|
ASSERT_EQUALS(Settings::Language::C, settings.enforcedLang);
|
||||||
ASSERT_EQUALS("", GET_REDIRECT_OUTPUT);
|
ASSERT_EQUALS("", GET_REDIRECT_OUTPUT);
|
||||||
}
|
}
|
||||||
CLEAR_REDIRECT_OUTPUT;
|
CLEAR_REDIRECT_OUTPUT;
|
||||||
|
|
Loading…
Reference in New Issue