Closed Bug 1684089 Opened 3 years ago Closed 3 years ago

Replace MOZ_MUST_USE with [[nodiscard]] in js/src/wasm/

Categories

(Core :: JavaScript: WebAssembly, task, P3)

task

Tracking

()

RESOLVED FIXED
86 Branch
Tracking Status
firefox-esr78 --- wontfix
firefox84 --- wontfix
firefox85 --- wontfix
firefox86 --- fixed

People

(Reporter: cpeterson, Assigned: cpeterson)

References

Details

Attachments

(3 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.

The [[nodiscard]] attribute must precede a function declaration's declaration specifiers (like static, extern, inline, or virtual). The __attribute__((warn_unused_result)) attribute does not have this order restriction.

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.

The [[nodiscard]] attribute must precede a function declaration's declaration specifiers (like static, extern, inline, or virtual). The attribute((warn_unused_result)) attribute does not have this order restriction.

Depends on D100405

We don't need to #include Attributes.h now that we're using [[nodiscard]] instead of MOZ_MUST_USE.

Depends on D100406

See Also: 1594529
See Also: → 1684091
Pushed by cpeterson@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/565c05bcf5a1
Part 1: Replace MOZ_MUST_USE with [[nodiscard]] in js/src/wasm/. r=rhunt
https://hg.mozilla.org/integration/autoland/rev/7aa213ad1741
Part 2: Move [[nodiscard]] to the head of function declarations in js/src/wasm/. r=rhunt
https://hg.mozilla.org/integration/autoland/rev/1f6486280356
Part 3: Remove unnecessary #includes of Attributes.h for MOZ_MUST_USE in js/src/wasm/. r=rhunt
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: