Closed Bug 1316978 Opened 7 years ago Closed 7 years ago

Tons of warning spam from passing nullptr to NSCAP_LOG_ASSIGNMENT

Categories

(Core :: XPCOM, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla52
Tracking Status
firefox49 --- unaffected
firefox50 --- unaffected
firefox51 --- unaffected
firefox52 --- fixed

People

(Reporter: bzbarsky, Assigned: mozbugz)

References

Details

(Keywords: regression)

Attachments

(1 file)

The changes in bug 1316432 started passing nullptr to NSCAP_LOG_ASSIGNMENT.  Now I get tons of compiler warnings like this when building:

 0:15.28 Warning: -Wnull-conversion in /Users/bzbarsky/mozilla/inbound/obj-firefox/dist/include/nsCOMPtr.h: implicit conversion of nullptr constant to 'bool'
 0:15.28 ../../dist/include/nsCOMPtr.h:518:32: warning: implicit conversion of nullptr constant to 'bool' [-Wnull-conversion]
 0:15.28     NSCAP_LOG_ASSIGNMENT(this, nullptr);
 0:15.31                                ^~~~~~~
 0:15.31                                false
 0:15.31 ../../dist/include/nsISupportsImpl.h:135:7: note: expanded from macro 'NSCAP_LOG_ASSIGNMENT'
 0:15.31   if (_p)               

etc (listing the template expansion, the include chain, and so forth).  Adds up to thousands of lines per unified cpp file....
Thank you for letting me know.
Assignee: nobody → gsquelart
Comment on attachment 8809972 [details]
Bug 1316978 - Suppress nullptr-to-bool cast warning -

https://reviewboard.mozilla.org/r/92452/#review92510

r=me with the below fixed.

::: xpcom/glue/nsISupportsImpl.h:137
(Diff revision 1)
>   * These logging functions require dynamic_cast<void*>, so they don't
> - * do anything useful if we don't have dynamic_cast<void*>. */
> + * do anything useful if we don't have dynamic_cast<void*>.
> + * Note: The explicit comparison to nullptr is needed to avoid warnings
> + *       when _p is a nullptr itself. */
>  #define NSCAP_LOG_ASSIGNMENT(_c, _p)                                \
> -  if (_p)                                                           \
> +  if (_p == nullptr)                                                \

Surely this is supposed to be `_p != nullptr`?
Attachment #8809972 - Flags: review?(nfroyd) → review+
Pushed by gsquelart@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/99603b2447b8
Suppress nullptr-to-bool cast warning - r=froydnj
https://hg.mozilla.org/mozilla-central/rev/99603b2447b8
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla52
You need to log in before you can comment on or make changes to this bug.