- change: Default max function frame size is 2MB under windows / 8MB others.

This commit is contained in:
Roy Qu 2023-04-01 11:41:46 +08:00
parent 90c8d27307
commit 68caa885bb
2 changed files with 12 additions and 3 deletions

View File

@ -3,6 +3,7 @@ Red Panda C++ Version 2.20
- change: Change compiler set option "Syntax error when object larger than" to "Syntax error when function frame larger than"
- fix: Projects created by some templates are not correct when editor's default encoding is not utf8.
- fix: File/Project visit histories are not correctly saved when clearing.
- change: Default max function frame size is 2MB under windows / 8MB others.
Red Panda C++ Version 2.19

View File

@ -2758,7 +2758,11 @@ static void setReleaseOptions(Settings::PCompilerSet pSet) {
pSet->setCompileOption(LINK_CMD_OPT_STRIP_EXE, COMPILER_OPTION_ON);
pSet->setCompileOption(CC_CMD_OPT_USE_PIPE, COMPILER_OPTION_ON);
pSet->setStaticLink(true);
pSet->setMaxFrameSize(2); //default stack size of gcc is 2MB
#ifdef Q_OS_WIN
pSet->setMaxFrameSize(2); //default stack size of gcc is 2MB on windows
#else
pSet->setMaxFrameSize(8);
#endif
pSet->setWarnLargeFrame(false);
}
@ -2779,7 +2783,11 @@ static void setDebugOptions(Settings::PCompilerSet pSet, bool enableAsan = false
pSet->setCompileOption(CC_CMD_OPT_STACK_PROTECTOR, "-strong");
pSet->setStaticLink(false);
pSet->setMaxFrameSize(2); //default stack size of gcc is 2MB
#ifdef Q_OS_WIN
pSet->setMaxFrameSize(2); //default stack size of gcc is 2MB on windows
#else
pSet->setMaxFrameSize(8);
#endif
pSet->setWarnLargeFrame(true);
}
@ -3208,7 +3216,7 @@ Settings::PCompilerSet Settings::CompilerSets::loadSet(int index)
pSet->setCustomLinkParams(mSettings->mSettings.value("customLinkParams").toString());
pSet->setAutoAddCharsetParams(mSettings->mSettings.value("AddCharset", true).toBool());
pSet->setStaticLink(mSettings->mSettings.value("StaticLink", false).toBool());
pSet->setMaxFrameSize(mSettings->mSettings.value("MaxFrameSize", 1).toDouble());
pSet->setMaxFrameSize(mSettings->mSettings.value("MaxFrameSize", 2).toDouble());
pSet->setWarnLargeFrame(mSettings->mSettings.value("WarnLargeFrame", false).toBool());
pSet->setExecCharset(mSettings->mSettings.value("ExecCharset", ENCODING_SYSTEM_DEFAULT).toString());