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 1 open bug)
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•5 years 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.
Comment 3•5 years ago
|
||
bugherder |
Assignee | ||
Comment 4•5 years ago
|
||
Comment 6•4 years ago
|
||
bugherder |
Description
•