Closed Bug 1648541 Opened 5 years ago Closed 5 years ago

Unified build conflict between SPSCQueue.h and task.h

Categories

(Core :: Audio/Video, defect)

defect

Tracking

()

RESOLVED FIXED
mozilla79
Tracking Status
firefox79 --- fixed

People

(Reporter: away, Assigned: away)

Details

Attachments

(1 file)

In current builds we avoid this, but if you stir up the unification a bit, then...

[task 2020-06-25T17:15:58.002Z] 17:15:58     INFO -  In file included from /builds/worker/checkouts/gecko/dom/media/MediaManager.h:42:
[task 2020-06-25T17:15:58.002Z] 17:15:58    ERROR -  /builds/worker/checkouts/gecko/ipc/chromium/src/base/task.h:47:3: error: reference to 'details' is ambiguous
[task 2020-06-25T17:15:58.003Z] 17:15:58     INFO -    details::CallMethod(std::index_sequence_for<Args...>{}, obj, method, arg);
[task 2020-06-25T17:15:58.003Z] 17:15:58     INFO -    ^
[task 2020-06-25T17:15:58.003Z] 17:15:58     INFO -  /builds/worker/checkouts/gecko/ipc/chromium/src/base/task.h:22:11: note: candidate found by name lookup is 'details'
[task 2020-06-25T17:15:58.003Z] 17:15:58     INFO -  namespace details {
[task 2020-06-25T17:15:58.003Z] 17:15:58     INFO -            ^
[task 2020-06-25T17:15:58.003Z] 17:15:58     INFO -  /builds/worker/workspace/obj-build/dist/include/mozilla/SPSCQueue.h:23:11: note: candidate found by name lookup is 'mozilla::details'
[task 2020-06-25T17:15:58.003Z] 17:15:58     INFO -  namespace details {
[task 2020-06-25T17:15:58.003Z] 17:15:58     INFO -            ^

I will admit from the start that this patch is goofy and is not the "proper" fix.

If you're unlucky enough to tickle the current unification in dom/media, then there's a conflict between namespace mozilla::details of SPSCQueue.h and namespace details of Chromium's task.h. Ultimately, the badness stems from some unified file doing using namespace mozilla;, but I'm really not enthusiastic about reworking that when I just want to get unblocked.

I'm going to attempt to justify the yuckiness of this patch on the basis that:

  • SPSCQueue.h is super self-contained and rarely looked at, I bet nobody will notice this change
  • Tons of other code prefers the spelling mozilla::detail anyway
Assignee: nobody → dmajor
Status: NEW → ASSIGNED
Pushed by dmajor@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/d25dfe67b69e Rename details namespace in SPSCQueue r=froydnj
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla79
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: