compilerplugins/clang/sallogareas.cxx | 8 ++++++++ compilerplugins/clang/sallogareas.hxx | 1 + solenv/gbuild/LinkTarget.mk | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-)
New commits: commit 1b3dc82a01a97b917c2cba402ffd8c2d5238910c Author: Lubos Lunak <l.lu...@suse.cz> Date: Thu Oct 18 16:03:44 2012 +0200 use gb_LINKEROPTFLAGS if no explicit LDFLAGS is given I have no idea why gb_LINKEROPTFLAGS stopped working, it used to be used and I can't find the commit that removed it. Change-Id: I537e4e7b686ecc34022f2097fa3e666295294e04 diff --git a/solenv/gbuild/LinkTarget.mk b/solenv/gbuild/LinkTarget.mk index 1d7d66c..870bad1 100644 --- a/solenv/gbuild/LinkTarget.mk +++ b/solenv/gbuild/LinkTarget.mk @@ -508,7 +508,7 @@ $(call gb_LinkTarget_get_headers_target,$(1)) \ $(call gb_LinkTarget_get_target,$(1)) : INCLUDE := $$(gb_LinkTarget_INCLUDE) $(call gb_LinkTarget_get_headers_target,$(1)) \ $(call gb_LinkTarget_get_target,$(1)) : INCLUDE_STL := $$(gb_LinkTarget_INCLUDE_STL) -$(call gb_LinkTarget_get_target,$(1)) : T_LDFLAGS := $$(gb_LinkTarget_LDFLAGS) $(LDFLAGS) +$(call gb_LinkTarget_get_target,$(1)) : T_LDFLAGS := $$(gb_LinkTarget_LDFLAGS) $(if $(LDFLAGS),$(LDFLAGS),$(gb_LINKEROPTFLAGS)) $(call gb_LinkTarget_get_target,$(1)) : LINKED_LIBS := $(call gb_LinkTarget_get_target,$(1)) : LINKED_STATIC_LIBS := $(call gb_LinkTarget_get_target,$(1)) : LIBS := commit 1a77b93aec7070327a91f21c801d2e951b5a068d Author: Lubos Lunak <l.lu...@suse.cz> Date: Wed Oct 17 19:53:32 2012 +0200 only one warning per one SAL_INFO/SAL_WARN Change-Id: I5aafe9ed51c86dc31492d205f44fba6b1db137d2 diff --git a/compilerplugins/clang/sallogareas.cxx b/compilerplugins/clang/sallogareas.cxx index 1dd99b9..1a4a8b2 100644 --- a/compilerplugins/clang/sallogareas.cxx +++ b/compilerplugins/clang/sallogareas.cxx @@ -31,6 +31,7 @@ SalLogAreas::SalLogAreas( ASTContext& context ) void SalLogAreas::run() { inFunction = NULL; + lastSalDetailLogStreamMacro = SourceLocation(); TraverseDecl( context.getTranslationUnitDecl()); } @@ -55,6 +56,13 @@ bool SalLogAreas::VisitCallExpr( CallExpr* call ) { if( const StringLiteral* area = dyn_cast< StringLiteral >( call->getArg( 1 )->IgnoreParenImpCasts())) { + // The SAL_DETAIL_LOG_STREAM macro expands to two calls to sal::detail::log(), + // so do not warn repeatedly about the same macro (the area->getLocStart() of all the calls + // from the same macro should be the same). + SourceLocation expansionLocation = context.getSourceManager().getExpansionLoc(area->getLocStart()); + if( expansionLocation == lastSalDetailLogStreamMacro ) + return true; + lastSalDetailLogStreamMacro = expansionLocation; if( area->getKind() == StringLiteral::Ascii ) checkArea( area->getBytes(), area->getExprLoc()); else diff --git a/compilerplugins/clang/sallogareas.hxx b/compilerplugins/clang/sallogareas.hxx index 72f0e75..e83e890 100644 --- a/compilerplugins/clang/sallogareas.hxx +++ b/compilerplugins/clang/sallogareas.hxx @@ -31,6 +31,7 @@ class SalLogAreas void checkArea( StringRef area, SourceLocation location ); void readLogAreas(); const FunctionDecl* inFunction; + SourceLocation lastSalDetailLogStreamMacro; set< string > logAreas; }; _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits