Replace MOZ_MUST_USE with [[nodiscard]] in docshell and uriloader
Categories
(Core :: DOM: Navigation, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox77 | --- | fixed |
People
(Reporter: cpeterson, Assigned: cpeterson)
References
(Blocks 2 open bugs)
Details
Attachments
(2 files)
The MOZ_MUST_USE macro is defined as clang's and gcc's nonstandard attribute((warn_unused_result)). Now that we compile as C++17 by default (bug 1560664), we can replace MOZ_MUST_USE with C++17's standard [[nodiscard]] attribute.
Also move MOZ_MUST_USE before function declarations' specifiers and return type. While clang and gcc's __attribute__((warn_unused_result))
can appear before, between, or after function specifiers and return types, the [[nodiscard]] attribute must precede the function specifiers.
I also needed to wrap the nsDocLoader::RemoveChildLoader() function declaration with // clang-format off
and // clang-format on
. clang-format insists on indenting the function declaration because it is confused by the NS_DECL_
macros without trailing semicolons before the [[nodiscard]] attribute. I feel this is a clang-format bug. (I hit the same issue in bug 1624786 comment 11.)
Assignee | ||
Comment 1•11 months ago
|
||
Also move MOZ_MUST_USE before function declarations' specifiers and return type. While clang and gcc's attribute((warn_unused_result)) can appear before, between, or after function specifiers and return types, the [[nodiscard]] attribute must precede the function specifiers.
I also needed to wrap the nsDocLoader::RemoveChildLoader() function declaration with // clang-format off and // clang-format on. clang-format insists on indenting the function declaration because it is confused by the NS_DECL_ macros without trailing semicolons before the [[nodiscard]] attribute.
Pushed by cpeterson@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/078326f48100 Replace MOZ_MUST_USE with [[nodiscard]] in docshell and uriloader. r=smaug
Comment 3•11 months ago
|
||
bugherder |
Assignee | ||
Comment 4•11 months ago
|
||
Pushed by cpeterson@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/40177ff41c87 Replace "clang-format off" with semicolon workaround for clang-format bug 1629756. r=smaug
Comment 6•11 months ago
|
||
bugherder |
Description
•