Closed Bug 1681503 Opened 5 years ago Closed 5 years ago

std::min() not available in dom/base/nsTextFragmentVMX.cpp

Categories

(Core :: DOM: Core & HTML, defect, P2)

Other
Linux
defect

Tracking

()

RESOLVED FIXED
85 Branch
Tracking Status
firefox85 --- fixed

People

(Reporter: dan, Assigned: dan)

Details

Attachments

(2 files)

I get a build failure on Linux/ppc64le in current trunk, which is due a missing #include <algorithm>

....
dom/base/nsTextFragmentVMX.o
/usr/bin/g++ -std=gnu++17 -o nsTextFragmentVMX.o -c  -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/obj-powerpc64le-unknown-linux-gnu/dist/stl_wrappers -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/obj-powerpc64le-unknown-linux-gnu/dist/system_wrappers -include /home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/config/gcc_hidden.h -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -fstack-protector-strong -DNDEBUG=1 -DTRIMMED=1 -DOS_POSIX=1 -DOS_LINUX=1 -DHAVE_SIDEBAR -DMOZ_HAS_MOZGLUE -DMOZILLA_INTERNAL_API -DIMPL_LIBXUL -DSTATIC_EXPORTABLE_JS_API -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/dom/base -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/obj-powerpc64le-unknown-linux-gnu/dom/base -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/dom/battery -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/dom/events -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/dom/media -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/dom/network -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/caps -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/docshell/base -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/dom/base -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/dom/file -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/dom/geolocation -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/dom/html -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/dom/ipc -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/dom/storage -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/dom/svg -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/dom/u2f -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/dom/xml -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/dom/xslt/xpath -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/dom/xul -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/gfx/2d -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/image -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/js/xpconnect/loader -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/js/xpconnect/src -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/js/xpconnect/wrappers -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/layout/base -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/layout/forms -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/layout/generic -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/layout/style -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/layout/xul -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/netwerk/base -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/netwerk/url-classifier -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/security/manager/ssl -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/widget -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/xpcom/ds -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/netwerk/sctp/datachannel -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/obj-powerpc64le-unknown-linux-gnu/ipc/ipdl/_ipdlheaders -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/ipc/chromium/src -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/ipc/glue -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/obj-powerpc64le-unknown-linux-gnu/dist/include -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/obj-powerpc64le-unknown-linux-gnu/dist/include/nspr -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/obj-powerpc64le-unknown-linux-gnu/dist/include/nss -fPIC -DMOZILLA_CLIENT -include /home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/obj-powerpc64le-unknown-linux-gnu/mozilla-config.h -Wall -Wempty-body -Wignored-qualifiers -Woverloaded-virtual -Wpointer-arith -Wsign-compare -Wtype-limits -Wunreachable-code -Wwrite-strings -Wno-invalid-offsetof -Wc++2a-compat -Wduplicated-cond -Wimplicit-fallthrough -Wunused-function -Wunused-variable -Wno-error=maybe-uninitialized -Wno-error=deprecated-declarations -Wno-error=array-bounds -Wno-error=coverage-mismatch -Wno-error=free-nonheap-object -Wno-multistatement-macros -Wno-error=class-memaccess -Wno-error=deprecated-copy -Wformat -Wformat-overflow=2 -Wno-psabi -fno-sized-deallocation -fno-aligned-new -fno-exceptions -fno-strict-aliasing -fno-rtti -fno-exceptions -fno-math-errno -pthread -pipe -g -freorder-blocks -O2 -fno-omit-frame-pointer -funwind-tables -I/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/widget/gtk/compat-gtk3 -I/usr/include/gtk-3.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/harfbuzz -I/usr/include/fribidi -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/gio-unix-2.0 -I/usr/include/atk-1.0 -I/usr/include/at-spi2-atk/2.0 -I/usr/include/dbus-1.0 -I/usr/lib64/dbus-1.0/include -I/usr/include/at-spi-2.0 -I/usr/include/gtk-3.0/unix-print -pthread -Wno-error=shadow  -MD -MP -MF .deps/nsTextFragmentVMX.o.pp  -maltivec /home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/dom/base/nsTextFragmentVMX.cpp
/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/dom/base/nsTextFragmentVMX.cpp: In function ‘int32_t mozilla::VMX::FirstNon8Bit(const char16_t*, const char16_t*)’:
/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/dom/base/nsTextFragmentVMX.cpp:33:28: error: ‘min’ is not a member of ‘std’
   33 |   uint32_t alignLen = std::min(
      |                            ^~~
/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/dom/base/nsTextFragmentVMX.cpp:74:21: error: ‘min’ is not a member of ‘std’
   74 |     alignLen = std::min(len, uint32_t(((-NS_PTR_TO_UINT32(str)) & alignMask) /
      |                     ^~~
gmake[4]: *** [/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/config/rules.mk:676: nsTextFragmentVMX.o] Error 1
gmake[4]: Leaving directory '/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/obj-powerpc64le-unknown-linux-gnu/dom/base'
gmake[3]: *** [/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/config/recurse.mk:72: dom/base/target-objects] Error 2
gmake[3]: Leaving directory '/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/obj-powerpc64le-unknown-linux-gnu'
gmake[2]: *** [/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/config/recurse.mk:34: compile] Error 2
gmake[2]: Leaving directory '/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/obj-powerpc64le-unknown-linux-gnu'
gmake[1]: *** [/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/config/rules.mk:355: default] Error 2
gmake[1]: Leaving directory '/home/jenkins/workspace/Firefox-default/label/ppc64le/firefox/obj-powerpc64le-unknown-linux-gnu'
gmake: *** [client.mk:89: build] Error 2

Perhaps ask review for that patch in phabricator?

Flags: needinfo?(dan)

Can you help me with that? :-) I'm not very familiar with the Mozilla devel tooling.

Flags: needinfo?(dan)
Assignee: nobody → dan

In phabricator, scroll down, click "Add Action...", select "Change Reviewers" and type in this case for example smaug.

(I did that and approved the patch)

Hmm, but I can't land the patch.

Lando gives error
'Diff does not have proper author information in Phabricator. See the Lando FAQ for help with this error. '
That FAQ is https://wiki.mozilla.org/Phabricator/FAQ#Lando

Could you check that error? Perhaps you need to re-upload the patch with a username.
But if that is for some reason tricky, just ping me and I'll upload the patch and land it.

I suspect it's due how I do import my patch from git into Phabricator. Please resubmit it as yours, if you can.

Severity: -- → S3
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Priority: -- → P2
Pushed by opettay@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/4a8bf996e9f7 std::min() not available in dom/base/nsTextFragmentVMX.cpp, r=sefeng
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → 85 Branch
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: