Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Replace AtomicU64 with AtomicUsize #3884

Closed
wants to merge 1 commit into from
Closed

Conversation

@dm0-
Copy link
Contributor

dm0- commented Mar 17, 2020

PowerPC and MIPS do not have AtomicU64, but AtomicUsize is a more portable type that can be used as a replacement: https://doc.rust-lang.org/std/sync/atomic/index.html#portability

I hit this build failure while trying to cross-compile Firefox for PowerPC. It could use AtomicU32 and .into() instead, but the size type will keep a 64-bit value where supported.

@kvark
Copy link
Member

kvark commented Mar 18, 2020

CI doesn't like it?

@dm0-
Copy link
Contributor Author

dm0- commented Mar 18, 2020

It appears unrelated.

   Compiling webrender_api v0.61.0 (/home/worker/webrender/webrender_api)
     Running `rustc --crate-name webrender_api --edition=2018 webrender_api/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C panic=abort -C debuginfo=2 -C metadata=64f5ddcdecb59520 -C extra-filename=-64f5ddcdecb59520 --out-dir /home/worker/webrender/target/debug/deps -C incremental=/home/worker/webrender/target/debug/incremental -L dependency=/home/worker/webrender/target/debug/deps --extern app_units=/home/worker/webrender/target/debug/deps/libapp_units-736bdab8669efab7.rmeta --extern bitflags=/home/worker/webrender/target/debug/deps/libbitflags-d72e041c687a4189.rmeta --extern byteorder=/home/worker/webrender/target/debug/deps/libbyteorder-c4bff97c67af76a7.rmeta --extern derive_more=/home/worker/webrender/target/debug/deps/libderive_more-733787eda813cf26.so --extern euclid=/home/worker/webrender/target/debug/deps/libeuclid-59d60877d86e5835.rmeta --extern malloc_size_of_derive=/home/worker/webrender/target/debug/deps/libmalloc_size_of_derive-b17d029157d9743b.so --extern peek_poke=/home/worker/webrender/target/debug/deps/libpeek_poke-11c33769db5d6d8b.rmeta --extern serde=/home/worker/webrender/target/debug/deps/libserde-33b54a58df4df7ca.rmeta --extern serde_bytes=/home/worker/webrender/target/debug/deps/libserde_bytes-b2634c1a8d927eab.rmeta --extern serde_derive=/home/worker/webrender/target/debug/deps/libserde_derive-ad2119ab057cd555.so --extern time=/home/worker/webrender/target/debug/deps/libtime-f3f3af9bda2e2c10.rmeta --extern malloc_size_of=/home/worker/webrender/target/debug/deps/libwr_malloc_size_of-0effc33b58526305.rmeta --deny warnings`
error: use of deprecated item 'std::error::Error::description': use the Display impl or to_string()
  --> webrender_api/src/channel.rs:83:71
   |
83 |         self.rx.recv().map_err(|e| io::Error::new(ErrorKind::Other, e.description()))
   |                                                                       ^^^^^^^^^^^
   |
   = note: `-D deprecated` implied by `-D warnings`
error: aborting due to previous error
error: could not compile `webrender_api`.
@staktrace
Copy link
Contributor

staktrace commented Mar 18, 2020

If you rebase your PR on the latest master that error should go away. (It was fixed in bug 1622256 which got merged in #3883)

PowerPC and MIPS do not have AtomicU64, but AtomicUsize is a more
portable type that can be used as a replacement.
@dm0-
Copy link
Contributor Author

dm0- commented Mar 18, 2020

Thanks, that CI build seems to succeed now.

@kvark
Copy link
Member

kvark commented Mar 18, 2020

Created https://bugzilla.mozilla.org/show_bug.cgi?id=1623407, will port the PR shortly.

xeonchen pushed a commit to xeonchen/gecko that referenced this pull request Mar 18, 2020
PowerPC and MIPS do not have AtomicU64, but AtomicUsize is a more
portable type that can be used as a replacement.

[import_pr] From servo/webrender#3884

Differential Revision: https://phabricator.services.mozilla.com/D67365
moz-v2v-gh pushed a commit to mozilla/gecko-dev that referenced this pull request Mar 19, 2020
PowerPC and MIPS do not have AtomicU64, but AtomicUsize is a more
portable type that can be used as a replacement.

[import_pr] From servo/webrender#3884

Differential Revision: https://phabricator.services.mozilla.com/D67365

--HG--
extra : moz-landing-system : lando
moz-gfx added a commit to moz-gfx/webrender that referenced this pull request Mar 19, 2020
PowerPC and MIPS do not have AtomicU64, but AtomicUsize is a more
portable type that can be used as a replacement.

[import_pr] From servo#3884

Differential Revision: https://phabricator.services.mozilla.com/D67365

[ghsync] From https://hg.mozilla.org/mozilla-central/rev/ff701e82864569f328f9466ba5fdbfb0273354d6
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified that referenced this pull request Mar 19, 2020
PowerPC and MIPS do not have AtomicU64, but AtomicUsize is a more
portable type that can be used as a replacement.

[import_pr] From servo/webrender#3884

Differential Revision: https://phabricator.services.mozilla.com/D67365

UltraBlame original commit: ff701e82864569f328f9466ba5fdbfb0273354d6
gecko-dev-updater pushed a commit to marco-c/gecko-dev-wordified-and-comments-removed that referenced this pull request Mar 19, 2020
PowerPC and MIPS do not have AtomicU64, but AtomicUsize is a more
portable type that can be used as a replacement.

[import_pr] From servo/webrender#3884

Differential Revision: https://phabricator.services.mozilla.com/D67365

UltraBlame original commit: ff701e82864569f328f9466ba5fdbfb0273354d6
gecko-dev-updater pushed a commit to marco-c/gecko-dev-comments-removed that referenced this pull request Mar 19, 2020
PowerPC and MIPS do not have AtomicU64, but AtomicUsize is a more
portable type that can be used as a replacement.

[import_pr] From servo/webrender#3884

Differential Revision: https://phabricator.services.mozilla.com/D67365

UltraBlame original commit: ff701e82864569f328f9466ba5fdbfb0273354d6
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants
You can’t perform that action at this time.