- enhancement: Autowrap tool output text.
This commit is contained in:
parent
d2b0653504
commit
707358817c
2
NEWS.md
2
NEWS.md
|
@ -27,7 +27,7 @@ Red Panda C++ Version 2.24
|
||||||
- fix: Wrong compiler settings if xcode is not installed in mac os.
|
- fix: Wrong compiler settings if xcode is not installed in mac os.
|
||||||
- enhancement: Name for new files will not be different from files openned.
|
- enhancement: Name for new files will not be different from files openned.
|
||||||
- fix: Crash if close file while auto syntax checking.
|
- fix: Crash if close file while auto syntax checking.
|
||||||
- enhancement: Support sdcc compiler.
|
- enhancement: Support sdcc compiler. (Disabled in the distributed buildings)
|
||||||
- enhancement: Autowrap tool output text.
|
- enhancement: Autowrap tool output text.
|
||||||
|
|
||||||
Red Panda C++ Version 2.23
|
Red Panda C++ Version 2.23
|
||||||
|
|
|
@ -6,6 +6,9 @@ CONFIG += nokey
|
||||||
# uncomment the following line to enable vcs (git) support
|
# uncomment the following line to enable vcs (git) support
|
||||||
# CONFIG += ENABLE_VCS
|
# CONFIG += ENABLE_VCS
|
||||||
|
|
||||||
|
# uncomment the following line to enable sdcc support
|
||||||
|
# CONFIG += ENABLE_SDCC
|
||||||
|
|
||||||
isEmpty(APP_NAME) {
|
isEmpty(APP_NAME) {
|
||||||
APP_NAME = RedPandaCPP
|
APP_NAME = RedPandaCPP
|
||||||
}
|
}
|
||||||
|
@ -390,6 +393,10 @@ FORMS += \
|
||||||
widgets/searchinfiledialog.ui \
|
widgets/searchinfiledialog.ui \
|
||||||
widgets/signalmessagedialog.ui
|
widgets/signalmessagedialog.ui
|
||||||
|
|
||||||
|
ENABLE_SDCC {
|
||||||
|
DEFINES += ENABLE_SDCC
|
||||||
|
}
|
||||||
|
|
||||||
ENABLE_VCS {
|
ENABLE_VCS {
|
||||||
|
|
||||||
DEFINES += ENABLE_VCS
|
DEFINES += ENABLE_VCS
|
||||||
|
|
|
@ -210,9 +210,11 @@ CompilerInfoManager::CompilerInfoManager()
|
||||||
compilerInfo->init();
|
compilerInfo->init();
|
||||||
mInfos.insert(CompilerType::GCC_UTF8, compilerInfo);
|
mInfos.insert(CompilerType::GCC_UTF8, compilerInfo);
|
||||||
|
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
compilerInfo = std::make_shared<SDCCCompilerInfo>();
|
compilerInfo = std::make_shared<SDCCCompilerInfo>();
|
||||||
compilerInfo->init();
|
compilerInfo->init();
|
||||||
mInfos.insert(CompilerType::SDCC, compilerInfo);
|
mInfos.insert(CompilerType::SDCC, compilerInfo);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
PCompilerInfo CompilerInfoManager::getInfo(CompilerType compilerType)
|
PCompilerInfo CompilerInfoManager::getInfo(CompilerType compilerType)
|
||||||
|
@ -363,6 +365,7 @@ bool GCCUTF8CompilerInfo::supportStaticLink()
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
SDCCCompilerInfo::SDCCCompilerInfo():CompilerInfo(COMPILER_SDCC)
|
SDCCCompilerInfo::SDCCCompilerInfo():CompilerInfo(COMPILER_SDCC)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
@ -440,3 +443,4 @@ void SDCCCompilerInfo::prepareCompilerOptions()
|
||||||
sl.append(QPair<QString,QString>("SDCC C2x","sdcc2x"));
|
sl.append(QPair<QString,QString>("SDCC C2x","sdcc2x"));
|
||||||
addOption(SDCC_CMD_OPT_STD, QObject::tr("Language standard (-std)"), groupName, false, true, false, "-std-", sl);
|
addOption(SDCC_CMD_OPT_STD, QObject::tr("Language standard (-std)"), groupName, false, true, false, "-std-", sl);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
|
@ -8,7 +8,9 @@
|
||||||
#define COMPILER_CLANG "Clang"
|
#define COMPILER_CLANG "Clang"
|
||||||
#define COMPILER_GCC "GCC"
|
#define COMPILER_GCC "GCC"
|
||||||
#define COMPILER_GCC_UTF8 "GCC_UTF8"
|
#define COMPILER_GCC_UTF8 "GCC_UTF8"
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
#define COMPILER_SDCC "SDCC"
|
#define COMPILER_SDCC "SDCC"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define C_CMD_OPT_STD "c_cmd_opt_std"
|
#define C_CMD_OPT_STD "c_cmd_opt_std"
|
||||||
|
|
||||||
|
@ -46,8 +48,10 @@
|
||||||
#define CC_CMD_OPT_STOP_AFTER_PREPROCESSING "cc_cmd_opt_stop_after_preprocessing"
|
#define CC_CMD_OPT_STOP_AFTER_PREPROCESSING "cc_cmd_opt_stop_after_preprocessing"
|
||||||
#define CC_CMD_OPT_USE_PIPE "cc_cmd_opt_use_pipe"
|
#define CC_CMD_OPT_USE_PIPE "cc_cmd_opt_use_pipe"
|
||||||
|
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
#define SDCC_CMD_OPT_PROCESSOR "sdcc_cmd_opt_processor"
|
#define SDCC_CMD_OPT_PROCESSOR "sdcc_cmd_opt_processor"
|
||||||
#define SDCC_CMD_OPT_STD "sdcc_cmd_opt_std"
|
#define SDCC_CMD_OPT_STD "sdcc_cmd_opt_std"
|
||||||
|
#endif
|
||||||
|
|
||||||
#define COMPILER_OPTION_ON "on"
|
#define COMPILER_OPTION_ON "on"
|
||||||
#define COMPILER_OPTION_OFF ""
|
#define COMPILER_OPTION_OFF ""
|
||||||
|
@ -56,7 +60,9 @@ enum class CompilerType {
|
||||||
GCC,
|
GCC,
|
||||||
GCC_UTF8,
|
GCC_UTF8,
|
||||||
Clang,
|
Clang,
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
SDCC,
|
SDCC,
|
||||||
|
#endif
|
||||||
Unknown
|
Unknown
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -161,6 +167,7 @@ public:
|
||||||
bool supportStaticLink() override;
|
bool supportStaticLink() override;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
class SDCCCompilerInfo: public CompilerInfo{
|
class SDCCCompilerInfo: public CompilerInfo{
|
||||||
public:
|
public:
|
||||||
SDCCCompilerInfo();
|
SDCCCompilerInfo();
|
||||||
|
@ -172,6 +179,7 @@ public:
|
||||||
protected:
|
protected:
|
||||||
void prepareCompilerOptions() override;
|
void prepareCompilerOptions() override;
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#endif // COMPILERINFO_H
|
#endif // COMPILERINFO_H
|
||||||
|
|
|
@ -2968,11 +2968,13 @@ void Editor::initParser()
|
||||||
|
|
||||||
ParserLanguage Editor::calcParserLanguage()
|
ParserLanguage Editor::calcParserLanguage()
|
||||||
{
|
{
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
if (!inProject()
|
if (!inProject()
|
||||||
&& pSettings->compilerSets().defaultSet()
|
&& pSettings->compilerSets().defaultSet()
|
||||||
&& pSettings->compilerSets().defaultSet()->compilerType()==CompilerType::SDCC) {
|
&& pSettings->compilerSets().defaultSet()->compilerType()==CompilerType::SDCC) {
|
||||||
return ParserLanguage::SDCC;
|
return ParserLanguage::SDCC;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
return mUseCppSyntax?ParserLanguage::CPlusPlus:ParserLanguage::C;
|
return mUseCppSyntax?ParserLanguage::CPlusPlus:ParserLanguage::C;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3476,12 +3478,14 @@ void Editor::showCompletion(const QString& preWord,bool autoComplete, CodeComple
|
||||||
case ParserLanguage::C:
|
case ParserLanguage::C:
|
||||||
keywords = CKeywords;
|
keywords = CKeywords;
|
||||||
break;
|
break;
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
case ParserLanguage::SDCC:
|
case ParserLanguage::SDCC:
|
||||||
keywords = CKeywords;
|
keywords = CKeywords;
|
||||||
foreach (const QString& keyword, SDCCKeywords.keys()) {
|
foreach (const QString& keyword, SDCCKeywords.keys()) {
|
||||||
keywords.insert(keyword);
|
keywords.insert(keyword);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
if (pSettings->editor().enableCustomCTypeKeywords()) {
|
if (pSettings->editor().enableCustomCTypeKeywords()) {
|
||||||
foreach (const QString& keyword, pSettings->editor().customCTypeKeywords()) {
|
foreach (const QString& keyword, pSettings->editor().customCTypeKeywords()) {
|
||||||
|
@ -5244,6 +5248,7 @@ void Editor::applySettings()
|
||||||
set.insert(s);
|
set.insert(s);
|
||||||
((QSynedit::CppSyntaxer*)(syntaxer().get()))->setCustomTypeKeywords(set);
|
((QSynedit::CppSyntaxer*)(syntaxer().get()))->setCustomTypeKeywords(set);
|
||||||
}
|
}
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
} else if (!inProject() && pSettings->compilerSets().defaultSet()
|
} else if (!inProject() && pSettings->compilerSets().defaultSet()
|
||||||
&& pSettings->compilerSets().defaultSet()->compilerType()==CompilerType::SDCC) {
|
&& pSettings->compilerSets().defaultSet()->compilerType()==CompilerType::SDCC) {
|
||||||
if (syntaxer() && syntaxer()->language() == QSynedit::ProgrammingLanguage::CPP) {
|
if (syntaxer() && syntaxer()->language() == QSynedit::ProgrammingLanguage::CPP) {
|
||||||
|
@ -5252,6 +5257,7 @@ void Editor::applySettings()
|
||||||
set.insert(s);
|
set.insert(s);
|
||||||
((QSynedit::CppSyntaxer*)(syntaxer().get()))->setCustomTypeKeywords(set);
|
((QSynedit::CppSyntaxer*)(syntaxer().get()))->setCustomTypeKeywords(set);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
if (syntaxer() && syntaxer()->language() == QSynedit::ProgrammingLanguage::CPP) {
|
if (syntaxer() && syntaxer()->language() == QSynedit::ProgrammingLanguage::CPP) {
|
||||||
((QSynedit::CppSyntaxer*)(syntaxer().get()))->setCustomTypeKeywords(QSet<QString>());
|
((QSynedit::CppSyntaxer*)(syntaxer().get()))->setCustomTypeKeywords(QSet<QString>());
|
||||||
|
|
|
@ -2188,6 +2188,7 @@ void CppParser::checkAndHandleMethodOrVar(KeywordType keywordType)
|
||||||
isStatic);
|
isStatic);
|
||||||
return;
|
return;
|
||||||
} else if (mTokenizer[mIndex + 1]->text == '(') {
|
} else if (mTokenizer[mIndex + 1]->text == '(') {
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
if (mLanguage==ParserLanguage::SDCC && mTokenizer[mIndex]->text=="__at") {
|
if (mLanguage==ParserLanguage::SDCC && mTokenizer[mIndex]->text=="__at") {
|
||||||
if (!sName.isEmpty()) {
|
if (!sName.isEmpty()) {
|
||||||
sType = sType+" "+sName;
|
sType = sType+" "+sName;
|
||||||
|
@ -2204,7 +2205,7 @@ void CppParser::checkAndHandleMethodOrVar(KeywordType keywordType)
|
||||||
mIndex=idx+1;
|
mIndex=idx+1;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
if (mIndex+2<tokenCount && mTokenizer[mIndex+2]->text == '*') {
|
if (mIndex+2<tokenCount && mTokenizer[mIndex+2]->text == '*') {
|
||||||
//foo(*blabla), it's a function pointer var
|
//foo(*blabla), it's a function pointer var
|
||||||
handleVar(sType+" "+sName,isExtern,isStatic);
|
handleVar(sType+" "+sName,isExtern,isStatic);
|
||||||
|
@ -6421,15 +6422,14 @@ void CppParser::setLanguage(ParserLanguage newLanguage)
|
||||||
{
|
{
|
||||||
if (mLanguage != newLanguage) {
|
if (mLanguage != newLanguage) {
|
||||||
mLanguage = newLanguage;
|
mLanguage = newLanguage;
|
||||||
|
mCppKeywords = CppKeywords;
|
||||||
|
mCppTypeKeywords = CppTypeKeywords;
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
if (mLanguage == ParserLanguage::SDCC) {
|
if (mLanguage == ParserLanguage::SDCC) {
|
||||||
mCppKeywords = CppKeywords;
|
|
||||||
mCppTypeKeywords = CppTypeKeywords;
|
|
||||||
mCppKeywords.insert(SDCCKeywords);
|
mCppKeywords.insert(SDCCKeywords);
|
||||||
mCppTypeKeywords.unite(SDCCTypeKeywords);
|
mCppTypeKeywords.unite(SDCCTypeKeywords);
|
||||||
} else {
|
|
||||||
mCppKeywords = CppKeywords;
|
|
||||||
mCppTypeKeywords = CppTypeKeywords;
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,8 +26,10 @@
|
||||||
QStringList CppDirectives;
|
QStringList CppDirectives;
|
||||||
QStringList JavadocTags;
|
QStringList JavadocTags;
|
||||||
QMap<QString,KeywordType> CppKeywords;
|
QMap<QString,KeywordType> CppKeywords;
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
QMap<QString,KeywordType> SDCCKeywords;
|
QMap<QString,KeywordType> SDCCKeywords;
|
||||||
QSet<QString> SDCCTypeKeywords;
|
QSet<QString> SDCCTypeKeywords;
|
||||||
|
#endif
|
||||||
QSet<QString> CppControlKeyWords;
|
QSet<QString> CppControlKeyWords;
|
||||||
QSet<QString> CppTypeKeywords;
|
QSet<QString> CppTypeKeywords;
|
||||||
QSet<QString> CKeywords;
|
QSet<QString> CKeywords;
|
||||||
|
@ -165,6 +167,7 @@ void initParser()
|
||||||
CppKeywords.insert("void",KeywordType::None);
|
CppKeywords.insert("void",KeywordType::None);
|
||||||
CppKeywords.insert("wchar_t",KeywordType::None);
|
CppKeywords.insert("wchar_t",KeywordType::None);
|
||||||
|
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
SDCCKeywords.insert("__sfr",KeywordType::None);
|
SDCCKeywords.insert("__sfr",KeywordType::None);
|
||||||
SDCCKeywords.insert("__sfr16",KeywordType::None);
|
SDCCKeywords.insert("__sfr16",KeywordType::None);
|
||||||
SDCCKeywords.insert("__sfr32",KeywordType::None);
|
SDCCKeywords.insert("__sfr32",KeywordType::None);
|
||||||
|
@ -185,7 +188,7 @@ void initParser()
|
||||||
SDCCTypeKeywords.insert("__sfr32");
|
SDCCTypeKeywords.insert("__sfr32");
|
||||||
SDCCTypeKeywords.insert("__sbit");
|
SDCCTypeKeywords.insert("__sbit");
|
||||||
SDCCTypeKeywords.insert("__bit");
|
SDCCTypeKeywords.insert("__bit");
|
||||||
|
#endif
|
||||||
// type keywords
|
// type keywords
|
||||||
CppTypeKeywords.insert("auto");
|
CppTypeKeywords.insert("auto");
|
||||||
CppTypeKeywords.insert("bool");
|
CppTypeKeywords.insert("bool");
|
||||||
|
|
|
@ -27,7 +27,9 @@ using GetFileStreamCallBack = std::function<bool (const QString&, QStringList&)>
|
||||||
enum ParserLanguage {
|
enum ParserLanguage {
|
||||||
C,
|
C,
|
||||||
CPlusPlus,
|
CPlusPlus,
|
||||||
SDCC
|
#ifdef ENABLE_SDCC
|
||||||
|
SDCC,
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
struct CodeSnippet {
|
struct CodeSnippet {
|
||||||
|
@ -304,8 +306,10 @@ using PFileIncludes = std::shared_ptr<FileIncludes>;
|
||||||
extern QStringList CppDirectives;
|
extern QStringList CppDirectives;
|
||||||
extern QStringList JavadocTags;
|
extern QStringList JavadocTags;
|
||||||
extern QMap<QString,KeywordType> CppKeywords;
|
extern QMap<QString,KeywordType> CppKeywords;
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
extern QMap<QString,KeywordType> SDCCKeywords;
|
extern QMap<QString,KeywordType> SDCCKeywords;
|
||||||
extern QSet<QString> SDCCTypeKeywords;
|
extern QSet<QString> SDCCTypeKeywords;
|
||||||
|
#endif
|
||||||
extern QSet<QString> CppControlKeyWords;
|
extern QSet<QString> CppControlKeyWords;
|
||||||
extern QSet<QString> CKeywords;
|
extern QSet<QString> CKeywords;
|
||||||
extern QSet<QString> CppTypeKeywords;
|
extern QSet<QString> CppTypeKeywords;
|
||||||
|
|
|
@ -1713,10 +1713,11 @@ Settings::CompilerSet::CompilerSet(const QString& compilerFolder, const QString&
|
||||||
|
|
||||||
setUserInput();
|
setUserInput();
|
||||||
|
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
if (mCompilerType == CompilerType::SDCC) {
|
if (mCompilerType == CompilerType::SDCC) {
|
||||||
mExecutableSuffix = "ihx";
|
mExecutableSuffix = "ihx";
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
mFullLoaded = true;
|
mFullLoaded = true;
|
||||||
} else {
|
} else {
|
||||||
mFullLoaded = false;
|
mFullLoaded = false;
|
||||||
|
@ -2164,11 +2165,16 @@ static void addExistingDirectory(QStringList& dirs, const QString& directory) {
|
||||||
|
|
||||||
void Settings::CompilerSet::setProperties(const QString& binDir, const QString& c_prog)
|
void Settings::CompilerSet::setProperties(const QString& binDir, const QString& c_prog)
|
||||||
{
|
{
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
if (c_prog == SDCC_PROGRAM) {
|
if (c_prog == SDCC_PROGRAM) {
|
||||||
setSDCCProperties(binDir,c_prog);
|
setSDCCProperties(binDir,c_prog);
|
||||||
} else {
|
} else {
|
||||||
|
#endif
|
||||||
|
|
||||||
setGCCProperties(binDir,c_prog);
|
setGCCProperties(binDir,c_prog);
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void Settings::CompilerSet::setGCCProperties(const QString& binDir, const QString& c_prog)
|
void Settings::CompilerSet::setGCCProperties(const QString& binDir, const QString& c_prog)
|
||||||
|
@ -2296,6 +2302,7 @@ void Settings::CompilerSet::setGCCProperties(const QString& binDir, const QStrin
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
void Settings::CompilerSet::setSDCCProperties(const QString& binDir, const QString& c_prog)
|
void Settings::CompilerSet::setSDCCProperties(const QString& binDir, const QString& c_prog)
|
||||||
{
|
{
|
||||||
// We have tested before the call
|
// We have tested before the call
|
||||||
|
@ -2315,7 +2322,6 @@ void Settings::CompilerSet::setSDCCProperties(const QString& binDir, const QStri
|
||||||
delimPos++;
|
delimPos++;
|
||||||
QString triplet = output.mid(0,delimPos);
|
QString triplet = output.mid(0,delimPos);
|
||||||
|
|
||||||
qDebug()<<triplet;
|
|
||||||
QRegularExpression re("\\s+(\\d+\\.\\d+\\.\\d+)\\s+");
|
QRegularExpression re("\\s+(\\d+\\.\\d+\\.\\d+)\\s+");
|
||||||
QRegularExpressionMatch match = re.match(triplet);
|
QRegularExpressionMatch match = re.match(triplet);
|
||||||
if (match.hasMatch())
|
if (match.hasMatch())
|
||||||
|
@ -2328,6 +2334,7 @@ void Settings::CompilerSet::setSDCCProperties(const QString& binDir, const QStri
|
||||||
|
|
||||||
addExistingDirectory(mBinDirs, binDir);
|
addExistingDirectory(mBinDirs, binDir);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
QStringList Settings::CompilerSet::defines(bool isCpp) {
|
QStringList Settings::CompilerSet::defines(bool isCpp) {
|
||||||
// get default defines
|
// get default defines
|
||||||
|
@ -2336,10 +2343,12 @@ QStringList Settings::CompilerSet::defines(bool isCpp) {
|
||||||
arguments.append("-E");
|
arguments.append("-E");
|
||||||
arguments.append("-x");
|
arguments.append("-x");
|
||||||
QString key;
|
QString key;
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
if (mCompilerType==CompilerType::SDCC) {
|
if (mCompilerType==CompilerType::SDCC) {
|
||||||
arguments.append("c");
|
arguments.append("c");
|
||||||
key=SDCC_CMD_OPT_PROCESSOR;
|
key=SDCC_CMD_OPT_PROCESSOR;
|
||||||
} else {
|
} else {
|
||||||
|
#endif
|
||||||
if (isCpp) {
|
if (isCpp) {
|
||||||
arguments.append("c++");
|
arguments.append("c++");
|
||||||
key=CC_CMD_OPT_STD;
|
key=CC_CMD_OPT_STD;
|
||||||
|
@ -2347,7 +2356,9 @@ QStringList Settings::CompilerSet::defines(bool isCpp) {
|
||||||
arguments.append("c");
|
arguments.append("c");
|
||||||
key=C_CMD_OPT_STD;
|
key=C_CMD_OPT_STD;
|
||||||
}
|
}
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
//language standard
|
//language standard
|
||||||
PCompilerOption pOption = CompilerInfoManager::getCompilerOption(compilerType(), key);
|
PCompilerOption pOption = CompilerInfoManager::getCompilerOption(compilerType(), key);
|
||||||
if (pOption) {
|
if (pOption) {
|
||||||
|
@ -2374,11 +2385,7 @@ QStringList Settings::CompilerSet::defines(bool isCpp) {
|
||||||
|
|
||||||
void Settings::CompilerSet::setExecutables()
|
void Settings::CompilerSet::setExecutables()
|
||||||
{
|
{
|
||||||
if (mCompilerType == CompilerType::SDCC) {
|
if (mCompilerType == CompilerType::Clang) {
|
||||||
mCCompiler = findProgramInBinDirs(SDCC_PROGRAM);
|
|
||||||
if (mCCompiler.isEmpty())
|
|
||||||
mCCompiler = findProgramInBinDirs(SDCC_PROGRAM);
|
|
||||||
} else if (mCompilerType == CompilerType::Clang) {
|
|
||||||
mCCompiler = findProgramInBinDirs(CLANG_PROGRAM);
|
mCCompiler = findProgramInBinDirs(CLANG_PROGRAM);
|
||||||
mCppCompiler = findProgramInBinDirs(CLANG_CPP_PROGRAM);
|
mCppCompiler = findProgramInBinDirs(CLANG_CPP_PROGRAM);
|
||||||
mDebugger = findProgramInBinDirs(GDB_PROGRAM);
|
mDebugger = findProgramInBinDirs(GDB_PROGRAM);
|
||||||
|
@ -2392,10 +2399,12 @@ void Settings::CompilerSet::setExecutables()
|
||||||
mCCompiler = findProgramInBinDirs(GCC_PROGRAM);
|
mCCompiler = findProgramInBinDirs(GCC_PROGRAM);
|
||||||
if (mCppCompiler.isEmpty())
|
if (mCppCompiler.isEmpty())
|
||||||
mCppCompiler = findProgramInBinDirs(GPP_PROGRAM);
|
mCppCompiler = findProgramInBinDirs(GPP_PROGRAM);
|
||||||
// if (mDebugger.isEmpty())
|
#ifdef ENABLE_SDCC
|
||||||
// mDebugger = findProgramInBinDirs(GDB_PROGRAM);
|
} else if (mCompilerType == CompilerType::SDCC) {
|
||||||
// if (mDebugServer.isEmpty())
|
mCCompiler = findProgramInBinDirs(SDCC_PROGRAM);
|
||||||
// mDebugServer = findProgramInBinDirs(GDB_SERVER_PROGRAM);
|
if (mCCompiler.isEmpty())
|
||||||
|
mCCompiler = findProgramInBinDirs(SDCC_PROGRAM);
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
mCCompiler = findProgramInBinDirs(GCC_PROGRAM);
|
mCCompiler = findProgramInBinDirs(GCC_PROGRAM);
|
||||||
mCppCompiler = findProgramInBinDirs(GPP_PROGRAM);
|
mCppCompiler = findProgramInBinDirs(GPP_PROGRAM);
|
||||||
|
@ -2408,11 +2417,15 @@ void Settings::CompilerSet::setExecutables()
|
||||||
|
|
||||||
void Settings::CompilerSet::setDirectories(const QString& binDir)
|
void Settings::CompilerSet::setDirectories(const QString& binDir)
|
||||||
{
|
{
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
if (mCompilerType == CompilerType::SDCC) {
|
if (mCompilerType == CompilerType::SDCC) {
|
||||||
setSDCCDirectories(binDir);
|
setSDCCDirectories(binDir);
|
||||||
} else {
|
} else {
|
||||||
|
#endif
|
||||||
setGCCDirectories(binDir);
|
setGCCDirectories(binDir);
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
void Settings::CompilerSet::setGCCDirectories(const QString& binDir)
|
void Settings::CompilerSet::setGCCDirectories(const QString& binDir)
|
||||||
|
@ -2557,6 +2570,7 @@ void Settings::CompilerSet::setGCCDirectories(const QString& binDir)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
void Settings::CompilerSet::setSDCCDirectories(const QString& binDir)
|
void Settings::CompilerSet::setSDCCDirectories(const QString& binDir)
|
||||||
{
|
{
|
||||||
QString folder = QFileInfo(binDir).absolutePath();
|
QString folder = QFileInfo(binDir).absolutePath();
|
||||||
|
@ -2612,6 +2626,7 @@ void Settings::CompilerSet::setSDCCDirectories(const QString& binDir)
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
int Settings::CompilerSet::mainVersion() const
|
int Settings::CompilerSet::mainVersion() const
|
||||||
{
|
{
|
||||||
|
@ -2650,10 +2665,14 @@ void Settings::CompilerSet::setUserInput()
|
||||||
{
|
{
|
||||||
mUseCustomCompileParams = false;
|
mUseCustomCompileParams = false;
|
||||||
mUseCustomLinkParams = false;
|
mUseCustomLinkParams = false;
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
if (mCompilerType==CompilerType::SDCC) {
|
if (mCompilerType==CompilerType::SDCC) {
|
||||||
mAutoAddCharsetParams = false;
|
mAutoAddCharsetParams = false;
|
||||||
mStaticLink = false;
|
mStaticLink = false;
|
||||||
} else {
|
} else {
|
||||||
|
#else
|
||||||
|
{
|
||||||
|
#endif
|
||||||
mAutoAddCharsetParams = true;
|
mAutoAddCharsetParams = true;
|
||||||
mStaticLink = true;
|
mStaticLink = true;
|
||||||
}
|
}
|
||||||
|
@ -3004,10 +3023,12 @@ bool Settings::CompilerSets::addSets(const QString &folder)
|
||||||
addSets(folder,CLANG_PROGRAM);
|
addSets(folder,CLANG_PROGRAM);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
if (fileExists(folder, SDCC_PROGRAM)) {
|
if (fileExists(folder, SDCC_PROGRAM)) {
|
||||||
addSets(folder,SDCC_PROGRAM);
|
addSets(folder,SDCC_PROGRAM);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3342,8 +3363,10 @@ Settings::PCompilerSet Settings::CompilerSets::loadSet(int index)
|
||||||
pSet->setCompilerType(CompilerType::GCC);
|
pSet->setCompilerType(CompilerType::GCC);
|
||||||
} else if (temp==COMPILER_GCC_UTF8) {
|
} else if (temp==COMPILER_GCC_UTF8) {
|
||||||
pSet->setCompilerType(CompilerType::GCC_UTF8);
|
pSet->setCompilerType(CompilerType::GCC_UTF8);
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
} else if (temp==COMPILER_SDCC) {
|
} else if (temp==COMPILER_SDCC) {
|
||||||
pSet->setCompilerType(CompilerType::SDCC);
|
pSet->setCompilerType(CompilerType::SDCC);
|
||||||
|
#endif
|
||||||
} else {
|
} else {
|
||||||
pSet->setCompilerType((CompilerType)mSettings->mSettings.value("CompilerType").toInt());
|
pSet->setCompilerType((CompilerType)mSettings->mSettings.value("CompilerType").toInt());
|
||||||
}
|
}
|
||||||
|
|
|
@ -1442,10 +1442,12 @@ public:
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void setGCCProperties(const QString& binDir, const QString& c_prog);
|
void setGCCProperties(const QString& binDir, const QString& c_prog);
|
||||||
void setSDCCProperties(const QString& binDir, const QString& c_prog);
|
|
||||||
void setDirectories(const QString& binDir);
|
void setDirectories(const QString& binDir);
|
||||||
void setGCCDirectories(const QString& binDir);
|
void setGCCDirectories(const QString& binDir);
|
||||||
|
#ifdef ENABLE_SDCC
|
||||||
|
void setSDCCProperties(const QString& binDir, const QString& c_prog);
|
||||||
void setSDCCDirectories(const QString& binDir);
|
void setSDCCDirectories(const QString& binDir);
|
||||||
|
#endif
|
||||||
//load hard defines
|
//load hard defines
|
||||||
void setExecutables();
|
void setExecutables();
|
||||||
void setUserInput();
|
void setUserInput();
|
||||||
|
|
Loading…
Reference in New Issue