mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-17 15:25:52 +00:00
34dcc7b852
This change avoids lots of false positives for Coverity's CHECKED_RETURN warning, caused by NS_WARN_IF's current use in both statement-style and expression-style. In the case where the code within the NS_WARN_IF has side-effects, I made the following change. > NS_WARN_IF(NS_FAILED(FunctionWithSideEffects())); > --> > Unused << NS_WARN_IF(NS_FAILED(FunctionWithSideEffects())); In the case where the code within the NS_WARN_IF lacks side-effects, I made the following change. > NS_WARN_IF(!condWithoutSideEffects); > --> > NS_WARNING_ASSERTION(condWithoutSideEffects, "msg"); This has two improvements. - The condition is not evaluated in non-debug builds. - The sense of the condition is inverted to the familiar "this condition should be true" sense used in assertions. A common variation on the side-effect-free case is the following. > nsresult rv = Fn(); > NS_WARN_IF_(NS_FAILED(rv)); > --> > DebugOnly<nsresult rv> = Fn(); > NS_WARNING_ASSERTION(NS_SUCCEEDED(rv), "Fn failed"); --HG-- extra : rebase_source : 58788245021096efa8372a9dc1d597a611d45611 |
||
---|---|---|
.. | ||
builtin | ||
crashtests | ||
test | ||
moz.build | ||
nsBindingManager.cpp | ||
nsBindingManager.h | ||
nsXBLBinding.cpp | ||
nsXBLBinding.h | ||
nsXBLContentSink.cpp | ||
nsXBLContentSink.h | ||
nsXBLDocumentInfo.cpp | ||
nsXBLDocumentInfo.h | ||
nsXBLEventHandler.cpp | ||
nsXBLEventHandler.h | ||
nsXBLMaybeCompiled.h | ||
nsXBLProtoImpl.cpp | ||
nsXBLProtoImpl.h | ||
nsXBLProtoImplField.cpp | ||
nsXBLProtoImplField.h | ||
nsXBLProtoImplMember.h | ||
nsXBLProtoImplMethod.cpp | ||
nsXBLProtoImplMethod.h | ||
nsXBLProtoImplProperty.cpp | ||
nsXBLProtoImplProperty.h | ||
nsXBLPrototypeBinding.cpp | ||
nsXBLPrototypeBinding.h | ||
nsXBLPrototypeHandler.cpp | ||
nsXBLPrototypeHandler.h | ||
nsXBLPrototypeResources.cpp | ||
nsXBLPrototypeResources.h | ||
nsXBLResourceLoader.cpp | ||
nsXBLResourceLoader.h | ||
nsXBLSerialize.cpp | ||
nsXBLSerialize.h | ||
nsXBLService.cpp | ||
nsXBLService.h | ||
nsXBLWindowKeyHandler.cpp | ||
nsXBLWindowKeyHandler.h | ||
XBLChildrenElement.cpp | ||
XBLChildrenElement.h |