objdir/dom/bindings/AbortControllerBinding.cpp:29:58: error: 'OTHER' was not declared in this scope

RESOLVED FIXED in Firefox 60

Status

()

RESOLVED FIXED
a year ago
a year ago

People

(Reporter: jbeich, Assigned: jashank.jeremy)

Tracking

({regression})

Trunk
mozilla60
Unspecified
FreeBSD
regression
Points:
---

Firefox Tracking Flags

(firefox-esr52 unaffected, firefox58 unaffected, firefox59 unaffected, firefox60 fixed)

Details

Attachments

(1 attachment)

(Reporter)

Description

a year ago
$ c++ -v
FreeBSD clang version 6.0.0 (branches/release_60 324090) (based on LLVM 6.0.0)
Target: x86_64-unknown-freebsd12.0
Thread model: posix
InstalledDir: /usr/bin

$ echo "ac_add_options --disable-webrtc # bug 1437670 workaround" >>.mozconfig
$ ./mach build
[...]
gmake[1]: Entering directory 'obj-x86_64-unknown-freebsd12.0/dom/bindings'
c++ -o UnifiedBindings0.o -c -Iobj-x86_64-unknown-freebsd12.0/dist/stl_wrappers -Iobj-x86_64-unknown-freebsd12.0/dist/system_wrappers -include config/gcc_hidden.h -DNDEBUG=1 -DTRIMMED=1 -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DOS_POSIX=1 -DOS_FREEBSD=1 -DOS_BSD=1 -DHAVE_SIDEBAR -DSTATIC_EXPORTABLE_JS_API -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -Idom/bindings -Iobj-x86_64-unknown-freebsd12.0/dom/bindings -Iobj-x86_64-unknown-freebsd12.0/dist/include/mozilla/dom -Idom/base -Idom/battery -Idom/canvas -Idom/geolocation -Idom/html -Idom/indexedDB -Idom/media/webaudio -Idom/media/webspeech/recognition -Idom/svg -Idom/xbl -Idom/xml -Idom/xslt/base -Idom/xslt/xpath -Idom/xul -Ijs/xpconnect/src -Ijs/xpconnect/wrappers -Ilayout/generic -Ilayout/style -Ilayout/xul/tree -Imedia/mtransport -Imedia/webrtc -Imedia/webrtc/signaling/src/common/time_profiling -Imedia/webrtc/signaling/src/peerconnection -Imedia/webrtc/trunk -Iobj-x86_64-unknown-freebsd12.0/ipc/ipdl/_ipdlheaders -Iipc/chromium/src -Iipc/glue -Iobj-x86_64-unknown-freebsd12.0/dist/include -Iobj-x86_64-unknown-freebsd12.0/dist/include/nspr -Iobj-x86_64-unknown-freebsd12.0/dist/include/nss -fPIC -DMOZILLA_CLIENT -include obj-x86_64-unknown-freebsd12.0/mozilla-config.h -Qunused-arguments -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -I/usr/local/include -Qunused-arguments -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wunreachable-code-return -Wwrite-strings -Wno-invalid-offsetof -Wclass-varargs -Wloop-analysis -Wc++1z-compat -Wcomma -Wimplicit-fallthrough -Wstring-conversion -Wno-inline-new-delete -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wformat -Wformat-security -Wno-gnu-zero-variadic-macro-arguments -Wno-unknown-warning-option -Wno-return-type-c-linkage -fno-sized-deallocation -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions -fno-math-errno -pipe -O -fno-omit-frame-pointer -Wno-error=shadow -Wno-maybe-uninitialized  -MD -MP -MF .deps/UnifiedBindings0.o.pp   obj-x86_64-unknown-freebsd12.0/dom/bindings/UnifiedBindings0.cpp
In file included from obj-x86_64-unknown-freebsd12.0/dom/bindings/UnifiedBindings0.cpp:14:
obj-x86_64-unknown-freebsd12.0/dom/bindings/AbortControllerBinding.cpp:29:58: error: use of
      undeclared identifier 'OTHER'
  AUTO_PROFILER_LABEL_FAST("get AbortController.signal", OTHER, cx);
                                                         ^
obj-x86_64-unknown-freebsd12.0/dom/bindings/AbortControllerBinding.cpp:61:53: error: use of
      undeclared identifier 'OTHER'
  AUTO_PROFILER_LABEL_FAST("AbortController.abort", OTHER, cx);
                                                    ^
obj-x86_64-unknown-freebsd12.0/dom/bindings/AbortControllerBinding.cpp:242:59: error: use of
      undeclared identifier 'OTHER'
  AUTO_PROFILER_LABEL_FAST("AbortController constructor", OTHER, cx);
                                                          ^
In file included from obj-x86_64-unknown-freebsd12.0/dom/bindings/UnifiedBindings0.cpp:26:
obj-x86_64-unknown-freebsd12.0/dom/bindings/AbortSignalBinding.cpp:35:55: error: use of
      undeclared identifier 'OTHER'
  AUTO_PROFILER_LABEL_FAST("get AbortSignal.aborted", OTHER, cx);
                                                      ^
obj-x86_64-unknown-freebsd12.0/dom/bindings/AbortSignalBinding.cpp:64:55: error: use of
      undeclared identifier 'OTHER'
  AUTO_PROFILER_LABEL_FAST("get AbortSignal.onabort", OTHER, cx);
                                                      ^
obj-x86_64-unknown-freebsd12.0/dom/bindings/AbortSignalBinding.cpp:83:55: error: use of
      undeclared identifier 'OTHER'
  AUTO_PROFILER_LABEL_FAST("set AbortSignal.onabort", OTHER, cx);
                                                      ^
In file included from obj-x86_64-unknown-freebsd12.0/dom/bindings/UnifiedBindings0.cpp:50:
obj-x86_64-unknown-freebsd12.0/dom/bindings/AccessibleNodeBinding.cpp:33:55: error: use of
      undeclared identifier 'OTHER'
  AUTO_PROFILER_LABEL_FAST("get AccessibleNode.role", OTHER, cx);
                                                      ^
obj-x86_64-unknown-freebsd12.0/dom/bindings/AccessibleNodeBinding.cpp:65:57: error: use of
      undeclared identifier 'OTHER'
  AUTO_PROFILER_LABEL_FAST("get AccessibleNode.states", OTHER, cx);
                                                        ^
obj-x86_64-unknown-freebsd12.0/dom/bindings/AccessibleNodeBinding.cpp:164:61: error: use of
      undeclared identifier 'OTHER'
  AUTO_PROFILER_LABEL_FAST("get AccessibleNode.attributes", OTHER, cx);
                                                            ^
obj-x86_64-unknown-freebsd12.0/dom/bindings/AccessibleNodeBinding.cpp:263:58: error: use of
      undeclared identifier 'OTHER'
  AUTO_PROFILER_LABEL_FAST("get AccessibleNode.DOMNode", OTHER, cx);
                                                         ^
obj-x86_64-unknown-freebsd12.0/dom/bindings/AccessibleNodeBinding.cpp:299:49: error: use of
      undeclared identifier 'OTHER'
  AUTO_PROFILER_LABEL_FAST("AccessibleNode.is", OTHER, cx);
                                                ^
obj-x86_64-unknown-freebsd12.0/dom/bindings/AccessibleNodeBinding.cpp:341:50: error: use of
      undeclared identifier 'OTHER'
  AUTO_PROFILER_LABEL_FAST("AccessibleNode.has", OTHER, cx);
                                                 ^
obj-x86_64-unknown-freebsd12.0/dom/bindings/AccessibleNodeBinding.cpp:383:50: error: use of
      undeclared identifier 'OTHER'
  AUTO_PROFILER_LABEL_FAST("AccessibleNode.get", OTHER, cx);
                                                 ^
In file included from obj-x86_64-unknown-freebsd12.0/dom/bindings/UnifiedBindings0.cpp:74:
obj-x86_64-unknown-freebsd12.0/dom/bindings/AddonEventBinding.cpp:227:49: error: use of
      undeclared identifier 'OTHER'
  AUTO_PROFILER_LABEL_FAST("get AddonEvent.id", OTHER, cx);
                                                ^
obj-x86_64-unknown-freebsd12.0/dom/bindings/AddonEventBinding.cpp:259:59: error: use of
      undeclared identifier 'OTHER'
  AUTO_PROFILER_LABEL_FAST("get AddonEvent.needsRestart", OTHER, cx);
                                                          ^
obj-x86_64-unknown-freebsd12.0/dom/bindings/AddonEventBinding.cpp:288:56: error: use of
      undeclared identifier 'OTHER'
  AUTO_PROFILER_LABEL_FAST("get AddonEvent.isTrusted", OTHER, cx);
                                                       ^
obj-x86_64-unknown-freebsd12.0/dom/bindings/AddonEventBinding.cpp:470:54: error: use of
      undeclared identifier 'OTHER'
  AUTO_PROFILER_LABEL_FAST("AddonEvent constructor", OTHER, cx);
                                                     ^
In file included from obj-x86_64-unknown-freebsd12.0/dom/bindings/UnifiedBindings0.cpp:86:
obj-x86_64-unknown-freebsd12.0/dom/bindings/AddonManagerBinding.cpp:222:44: error: use of
      undeclared identifier 'OTHER'
  AUTO_PROFILER_LABEL_FAST("get Addon.id", OTHER, cx);
                                           ^
obj-x86_64-unknown-freebsd12.0/dom/bindings/AddonManagerBinding.cpp:269:49: error: use of
      undeclared identifier 'OTHER'
  AUTO_PROFILER_LABEL_FAST("get Addon.version", OTHER, cx);
                                                ^
fatal error: too many errors emitted, stopping now [-ferror-limit=]

Bisecting led to mozilla-central changeset 1236752bf224
(Reporter)

Updated

a year ago
status-firefox58: --- → unaffected
status-firefox59: --- → unaffected
status-firefox-esr52: --- → unaffected
(Reporter)

Comment 1

a year ago
Is OTHER actually js::ProfileEntry::Category::OTHER ?
https://searchfox.org/mozilla-central/rev/d03ad8843e3b/js/public/ProfilingStack.h#166
(Assignee)

Comment 2

a year ago
It looks like rev d2dea7eb260f introduced macro `AUTO_PROFILER_LABEL_FAST' to GeckoProfiler.h, which becomes valid code only when the Gecko profiler is enabled.  When it is not, it doesn't expand to the no-op that all the other `AUTO_PROFILER_LABEL' variants become.  Adding that no-op lets dom/bindings build for me.
Comment on attachment 8951496 [details] [diff] [review]
bz1438120-add-missing-profiler-symbol.patch

Thanks! This is the change that my patch was missing.
Attachment #8951496 - Flags: review+

Comment 5

a year ago
Pushed by mstange@themasta.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/bf6a4f1f64c1
Fix non-MOZ_GECKO_PROFILER build by adding the missing AUTO_PROFILER_LABEL_FAST declaration. r=mstange
Assignee: nobody → jashank.jeremy
Status: NEW → ASSIGNED
(Reporter)

Comment 6

a year ago
Comment on attachment 8951496 [details] [diff] [review]
bz1438120-add-missing-profiler-symbol.patch

Kinda late but I confirm it fixed FreeBSD build.
Attachment #8951496 - Flags: feedback+

Comment 7

a year ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/bf6a4f1f64c1
Status: ASSIGNED → RESOLVED
Last Resolved: a year ago
status-firefox60: affected → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla60
You need to log in before you can comment on or make changes to this bug.