TonyBrewer / OpenHT

Hybrid Threading Tool Set
BSD 3-Clause "New" or "Revised" License
14 stars 10 forks source link

GCC 6.3.1 Warnings #3

Closed mruff68 closed 7 years ago

mruff68 commented 7 years ago

Looks like a newer GCC may have found some real issues, see the indention warnings. I've provided all the warnings from the compile.

src/htl/HtdFile.cpp: In member function ‘void HtdFile::ParseModuleMethods()’: src/htl/HtdFile.cpp:1463:3: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation] else ^~~~ src/htl/HtdFile.cpp:1473:4: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘else’ m_pLex->GetNextTk(); ^~


src/htl/GenHtmlRpt.cpp: In member function ‘void CGenHtmlRpt::AddText(const char*, ...)’: src/htl/CnyHt.h:54:23: warning: nonnull argument ‘this’ compared to NULL [-Wnonnull-compare]

define HtlAssert(ok) if ((ok) == 0) AssertMsg(FILE, LINE)

                   ^

src/htl/GenHtmlRpt.cpp:169:2: note: in expansion of macro ‘HtlAssert’ HtlAssert(this); ^~~~~ src/htl/GenHtmlRpt.cpp: In member function ‘void CGenHtmlRpt::EndLevel()’: src/htl/CnyHt.h:54:23: warning: nonnull argument ‘this’ compared to NULL [-Wnonnull-compare]

define HtlAssert(ok) if ((ok) == 0) AssertMsg(FILE, LINE)

                   ^

src/htl/GenHtmlRpt.cpp:205:2: note: in expansion of macro ‘HtlAssert’ HtlAssert(this); ^~~~~ src/htl/GenHtmlRpt.cpp: In member function ‘void CGenHtmlRpt::AddLevel(const char*, ...)’: src/htl/CnyHt.h:54:23: warning: nonnull argument ‘this’ compared to NULL [-Wnonnull-compare]

define HtlAssert(ok) if ((ok) == 0) AssertMsg(FILE, LINE)

                   ^

src/htl/GenHtmlRpt.cpp:66:2: note: in expansion of macro ‘HtlAssert’ HtlAssert(this); ^~~~~ src/htl/GenHtmlRpt.cpp: In member function ‘void CGenHtmlRpt::AddItem(const char*, ...)’: src/htl/CnyHt.h:54:23: warning: nonnull argument ‘this’ compared to NULL [-Wnonnull-compare]

define HtlAssert(ok) if ((ok) == 0) AssertMsg(FILE, LINE)

                   ^

src/htl/GenHtmlRpt.cpp:124:2: note: in expansion of macro ‘HtlAssert’ HtlAssert(this); ^~~~~


src/htl/InitAndValidateDsnInfo.cpp: In member function ‘void CDsnInfo::InitAndValidateRecord(CRe cord*)’: src/htl/InitAndValidateDsnInfo.cpp:1090:7: warning: variable ‘packedFieldWidth’ set but not used [-Wunused-but-set-variable] int packedFieldWidth; ^~~~


src/Htfe/HtfeParseHtMem.cpp: In member function ‘void CHtfeDesign::HtQueueVarDecl(CHtfeIdent, C HtfeIdent)’: src/Htfe/HtfeParseHtMem.cpp:426:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] if (g_pHtfeArgs->IsHtQueCntSynKeepEnabled()) ^~ src/Htfe/HtfeParseHtMem.cpp:429:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’ pCnt->SetIsWriteOnly(); ^~~~


src/Htv/HtvSynthesize.cpp: In member function ‘bool CHtvDesign::IsAssignToHtPrimOutput(CHtvState ment)’: src/Htv/HtvSynthesize.cpp:1224:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] if (!pOp1 || !pOp1->IsLeaf() || pOp1->GetMember() == 0 || pOp1->GetMember()->GetId() != CHtvIdent::id_variable) ^~ src/Htv/HtvSynthesize.cpp:1227:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’ int elemIdx = pOp1->GetMember()->GetDimenElemIdx(pOp1); ^~~ src/Htv/HtvSynthesize.cpp: In member function ‘void CHtvDesign::SynReturnStatement(CHtvIdent, CHtvObject, CHtvObject, CHtvStatement)’: src/Htv/HtvSynthesize.cpp:2015:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] if (pExpr == 0) ^~ src/Htv/HtvSynthesize.cpp:2018:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’ if (pFunc->IsReturnRef()) { ^~ src/Htv/HtvSynthesize.cpp: In member function ‘void CHtvDesign::SynIfStatement(CHtvIdent, CHtvObject, CHtvObject, CHtvStatement)’: src/Htv/HtvSynthesize.cpp:2137:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] if (ppIfList == 0 && pStatement->GetCompound2() == 0) ^~ src/Htv/HtvSynthesize.cpp:2140:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’ CHtvOperand pExpr = PrependObjExpr(pObj, pStatement->GetExpr()); ^~~ src/Htv/HtvSynthesize.cpp: In member function ‘void CHtvDesign::SynSwitchStatement(CHtvIdent, CHtvObject, CHtvObject, CHtvStatement)’: src/Htv/HtvSynthesize.cpp:2182:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] if (SynXilinxRom(pHier, pSwitch)) ^~ src/Htv/HtvSynthesize.cpp:2185:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’ CHtvOperand pSwitchOperand = PrependObjExpr(pObj, pSwitch->GetExpr()); ^~~ src/Htv/HtvSynthesize.cpp: In member function ‘void CHtvDesign::PrintArrayIndex(CHtvObject, CHtvObject, CHtvOperand*, bool)’: src/Htv/HtvSynthesize.cpp:4481:5: warning: this ‘if’ clause does not guard... [-Wmisleading-indentation] if (caseCnt < (1 << idxBits) && !bLeftOfEqual) ^~ src/Htv/HtvSynthesize.cpp:4484:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘if’ if (pRtnObj) ^~


src/Htv/HtvSynHtMem.cpp: In member function ‘void CHtvDesign::SynHtDistRamModule(bool)’: src/Htv/HtvSynHtMem.cpp:458:5: warning: this ‘else’ clause does not guard... [-Wmisleading-indentation] else ^~~~ src/Htv/HtvSynHtMem.cpp:461:2: note: ...this statement, but the latter is misleadingly indented as if it is guarded by the ‘else’ m_vFile.Print("module %s_Ht%sRam #(parameter\n", inputFileName.c_str(), bQueue ? "Queue" : "Dist"); ^~~

cbaronne commented 7 years ago

Got it, Mike. It's on my list to investigate. Thanks!

cbaronne commented 7 years ago

Fixed in 78f44d9 commit