compilerplugins/clang/indentation.cxx | 7 +++++++ compilerplugins/clang/test/indentation.cxx | 7 +++++++ 2 files changed, 14 insertions(+)
New commits: commit 0626e66d761de18f62e4d00d427903032da9d517 Author: Stephan Bergmann <sberg...@redhat.com> AuthorDate: Tue Feb 19 21:09:29 2019 +0100 Commit: Stephan Bergmann <sberg...@redhat.com> CommitDate: Wed Feb 20 11:14:55 2019 +0100 Avoid loplugin:indentation after preproc conditional inclusion lines ...to not trigger (for --disable-dbgutil) at > rContentAtPos.eContentAtPos = IsAttrAtPos::TableBoxFml; > #ifdef DBG_UTIL > if( RES_BOXATR_VALUE == pItem->Which() ) > rContentAtPos.eContentAtPos = IsAttrAtPos::TableBoxValue; > else > #endif > const_cast<SwTableBoxFormula*>(static_cast<const SwTableBoxFormula*>(pItem))->PtrToBoxNm( &pTableNd->GetTable() ); (sw/source/core/crsr/crstrvl.cxx:1710) Change-Id: I8fd5c8a1cd40450bdd8cc97057e5233a0134f044 Reviewed-on: https://gerrit.libreoffice.org/68030 Tested-by: Jenkins Reviewed-by: Stephan Bergmann <sberg...@redhat.com> diff --git a/compilerplugins/clang/indentation.cxx b/compilerplugins/clang/indentation.cxx index 04a9be6677d0..deac18121443 100644 --- a/compilerplugins/clang/indentation.cxx +++ b/compilerplugins/clang/indentation.cxx @@ -86,10 +86,13 @@ bool Indentation::VisitCompoundStmt(CompoundStmt const* compoundStmt) Stmt const* firstStmt = nullptr; unsigned curLine = MAX; unsigned prevLine = MAX; + SourceLocation prevEnd; auto& SM = compiler.getSourceManager(); for (auto i = compoundStmt->body_begin(); i != compoundStmt->body_end(); ++i) { auto stmt = *i; + auto const actualPrevEnd = prevEnd; + prevEnd = compat::getEndLoc(stmt); // compute early, before below `continue`s // these show up in macro expansions, not interesting if (isa<NullStmt>(stmt)) @@ -158,6 +161,10 @@ bool Indentation::VisitCompoundStmt(CompoundStmt const* compoundStmt) } else if (column != tmpColumn) { + if (containsPreprocessingConditionalInclusion(SourceRange( + locationAfterToken(compiler.getSourceManager().getExpansionLoc(actualPrevEnd)), + compiler.getSourceManager().getExpansionLoc(compat::getBeginLoc(stmt))))) + continue; report(DiagnosticsEngine::Warning, "statement mis-aligned compared to neighbours %0", stmtLoc) << macroName; diff --git a/compilerplugins/clang/test/indentation.cxx b/compilerplugins/clang/test/indentation.cxx index b313fff1fe62..f7cccce67cc5 100644 --- a/compilerplugins/clang/test/indentation.cxx +++ b/compilerplugins/clang/test/indentation.cxx @@ -35,6 +35,13 @@ void top1(int x) { case 1: foo(); break; // 1expected-note {{measured against this one [loplugin:indentation]}} case 2: foo(); break; // 1expected-error {{statement mis-aligned compared to neighbours [loplugin:indentation]}} }; + +#if 0 + if (x) + foo(); + else +#endif + foo(); } /* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */ _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits