\r
VOID\r
CVfrCompiler::OptionInitialization (\r
- IN INT32 Argc, \r
+ IN INT32 Argc,\r
IN CHAR8 **Argv\r
)\r
{\r
if (mOptions.IncludePaths != NULL) {\r
delete mOptions.IncludePaths;\r
mOptions.IncludePaths = NULL;\r
- } \r
+ }\r
if (mOptions.CPreprocessorOptions != NULL) {\r
delete mOptions.CPreprocessorOptions;\r
mOptions.CPreprocessorOptions = NULL;\r
}\r
\r
CVfrCompiler::CVfrCompiler (\r
- IN INT32 Argc, \r
+ IN INT32 Argc,\r
IN CHAR8 **Argv\r
)\r
{\r
SET_RUN_STATUS(STATUS_DEAD);\r
}\r
\r
-VOID \r
+VOID\r
CVfrCompiler::Usage (\r
VOID\r
)\r
{\r
UINT32 Index;\r
CONST CHAR8 *Help[] = {\r
- " ", \r
+ " ",\r
"VfrCompile version " VFR_COMPILER_VERSION VFR_COMPILER_UPDATE_TIME,\r
" ",\r
"Usage: VfrCompile [options] VfrFile",\r
}\r
fclose (pVfrFile);\r
\r
- CmdLen = strlen (mPreProcessCmd) + strlen (mPreProcessOpt) + \r
+ CmdLen = strlen (mPreProcessCmd) + strlen (mPreProcessOpt) +\r
strlen (mOptions.VfrFileName) + strlen (mOptions.PreprocessorOutputFileName);\r
if (mOptions.CPreprocessorOptions != NULL) {\r
CmdLen += strlen (mOptions.CPreprocessorOptions);\r
\r
int\r
main (\r
- IN INT32 Argc, \r
+ IN INT32 Argc,\r
IN CHAR8 **Argv\r
)\r
{\r
}\r
\r
SVfrFileScopeRecord::SVfrFileScopeRecord (\r
- IN CHAR8 *Record, \r
+ IN CHAR8 *Record,\r
IN UINT32 LineNum\r
)\r
{\r
\r
VOID\r
CVfrErrorHandle::ParseFileScopeRecord (\r
- IN CHAR8 *Record, \r
+ IN CHAR8 *Record,\r
IN UINT32 WholeScopeLine\r
)\r
{\r
*/\r
\r
SPendingAssign::SPendingAssign (\r
- IN CHAR8 *Key, \r
- IN VOID *Addr, \r
- IN UINT32 Len, \r
+ IN CHAR8 *Key,\r
+ IN VOID *Addr,\r
+ IN UINT32 Len,\r
IN UINT32 LineNo,\r
IN CHAR8 *Msg\r
)\r
\r
VOID\r
SPendingAssign::SetAddrAndLen (\r
- IN VOID *Addr, \r
+ IN VOID *Addr,\r
IN UINT32 LineNo\r
)\r
{\r
\r
VOID\r
SPendingAssign::AssignValue (\r
- IN VOID *Addr, \r
+ IN VOID *Addr,\r
IN UINT32 Len\r
)\r
{\r
\r
UINT32\r
CFormPkg::Read (\r
- IN CHAR8 *Buffer, \r
+ IN CHAR8 *Buffer,\r
IN UINT32 Size\r
)\r
{\r
VOID\r
)\r
{\r
+ gCIfrRecordInfoDB.IfrRecordInfoUpdate (mRecordIdx, mLineNo, mObjBinBuf, mObjBinLen, mPkgOffset);\r
+\r
if ((mDelayEmit == TRUE) && ((gCreateOp == TRUE))) {\r
_EMIT_PENDING_OBJ ();\r
}\r
-\r
- gCIfrRecordInfoDB.IfrRecordInfoUpdate (mRecordIdx, mLineNo, mObjBinBuf, mObjBinLen, mPkgOffset);\r
}\r
\r
/*\r
vfrStatementDisableIfFormSet :\r
<<\r
CIfrDisableIf DIObj;\r
+ mConstantOnlyInExpression = TRUE;\r
>>\r
D:DisableIf << DIObj.SetLineNo(D->getLine()); >>\r
vfrStatementExpression[0] ";" << mConstantOnlyInExpression = FALSE; >>\r
_STRCAT(&VarIdStr, "]");\r
>>\r
<< mCVfrQuestionDB.GetQuestionId (NULL, VarIdStr, $QId, $Mask); >>\r
- )\r
+ ) <<\r
+ if (mConstantOnlyInExpression) {\r
+ _PCATCH(VFR_RETURN_CONSTANT_ONLY, LineNo);\r
+ }\r
+ >>\r
|\r
(\r
SN2:StringIdentifier << _STRCAT (&VarIdStr, SN2->getText()); LineNo = SN2->getLine(); >>\r
;\r
\r
vfrStatementDisableIfStat :\r
- << CIfrDisableIf DIObj; >>\r
+ << \r
+ CIfrDisableIf DIObj;\r
+ mConstantOnlyInExpression = TRUE; \r
+ >>\r
L:DisableIf << DIObj.SetLineNo(L->getLine()); >>\r
- vfrStatementExpression[0] ";"\r
+ vfrStatementExpression[0] ";" << mConstantOnlyInExpression = FALSE; >>\r
( vfrStatementStatList )*\r
E:EndIf << CRT_END_OP (E); >>\r
";"\r
;\r
\r
vfrStatementDisableIfQuest :\r
- << CIfrDisableIf DIObj; >>\r
+ << \r
+ CIfrDisableIf DIObj; \r
+ mConstantOnlyInExpression = TRUE;\r
+ >>\r
L:DisableIf << DIObj.SetLineNo(L->getLine()); >>\r
- vfrStatementExpression[0] ";"\r
+ vfrStatementExpression[0] ";" << mConstantOnlyInExpression = FALSE; >>\r
vfrStatementQuestionOptionList\r
E:EndIf << CRT_END_OP (E); >>\r
;\r