New issue
Advanced search Search tips

Issue 844285 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner: ----
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Build error about type conversion

Reported by wangqing...@loongson.cn, May 18 2018

Issue description

UserAgent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3189.0 Safari/537.36

Steps to reproduce the problem:
Build chrome
$ ninja -C out/Release chrome

What is the expected behavior?
build no error

What went wrong?
FAILED: obj/net/net/mime_util.o 
mips64el-linux-gnu-g++ -MMD -MF obj/net/net/mime_util.o.d -DV8_DEPRECATION_WARNINGS -DUSE_UDEV -DUSE_AURA=1 -DUSE_GLIB=1 -DUSE_NSS_CERTS=1 -DUSE_X11=1 -DNO_TCMALLOC -DFULL_SAFE_BROWSING -DSAFE_BROWSING_CSD -DSAFE_BROWSING_DB_LOCAL -DCHROMIUM_BUILD -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D_FORTIFY_SOURCE=2 -D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS -D_LIBCXXABI_DISABLE_VISIBILITY_ANNOTATIONS -DCR_LIBCXX_REVISION=329375 -DCR_LIBCXXABI_REVISION=331450 -DNDEBUG -DNVALGRIND -DDYNAMIC_ANNOTATIONS_ENABLED=0 -DUSE_GIO -DDLOPEN_KERBEROS -DNET_IMPLEMENTATION -DUSE_KERBEROS -DENABLE_BUILT_IN_DNS -DGLIB_VERSION_MAX_ALLOWED=GLIB_VERSION_2_32 -DGLIB_VERSION_MIN_REQUIRED=GLIB_VERSION_2_26 -DGOOGLE_PROTOBUF_NO_RTTI -DGOOGLE_PROTOBUF_NO_STATIC_INITIALIZER -DHAVE_PTHREAD -DU_USING_ICU_NAMESPACE=0 -DU_ENABLE_DYLOAD=0 -DU_STATIC_IMPLEMENTATION -DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_FILE -DUCHAR_TYPE=uint16_t -I../.. -Igen -I../../third_party/protobuf/src -Igen/protoc_out -I../../third_party/protobuf/src -I../../third_party/boringssl/src/include -I../../third_party/zlib -I../../third_party/ced/src -I../../third_party/icu/source/common -I../../third_party/icu/source/i18n -I../../third_party/brotli/include -fno-strict-aliasing --param=ssp-buffer-size=4 -fstack-protector -Wno-builtin-macro-redefined -D__DATE__= -D__TIME__= -D__TIMESTAMP__= -funwind-tables -fPIC -pipe -pthread -EL -mabi=64 -mips64r2 -Wa,-mips64r2 -Wall -Wno-unused-local-typedefs -Wno-maybe-uninitialized -Wno-deprecated-declarations -fno-delete-null-pointer-checks -Wno-comments -Wno-missing-field-initializers -Wno-unused-parameter -O2 -fno-ident -fdata-sections -ffunction-sections -fno-omit-frame-pointer -g0 -fno-builtin-abs -fvisibility=hidden -isystem../../../../../../../usr/include/glib-2.0 -isystem../../../../../../../usr/lib64/glib-2.0/include -isystem../../../../../../../usr/include/glib-2.0 -isystem../../../../../../../usr/lib64/glib-2.0/include -isystem../../../../../../../usr/include/nss3 -isystem../../../../../../../usr/include/nspr4 -std=gnu++14 -Wno-narrowing -fno-exceptions -fno-rtti -nostdinc++ -isystem../../buildtools/third_party/libc++/trunk/include -isystem../../buildtools/third_party/libc++abi/trunk/include -fvisibility-inlines-hidden -c ../../net/base/mime_util.cc -o obj/net/net/mime_util.o
../../net/base/mime_util.cc:522:47: error: could not convert ‘(const char* const*)(& net::{anonymous}::kStandardImageTypes)’ from ‘const char* const*’ to ‘base::span<const char* const>’
     {nullptr, base::span<const char* const>()}};
                                               ^
../../net/base/mime_util.cc:522:47: error: could not convert ‘(const char* const*)(& net::{anonymous}::kStandardAudioTypes)’ from ‘const char* const*’ to ‘base::span<const char* const>’
../../net/base/mime_util.cc:522:47: error: could not convert ‘(const char* const*)(& net::{anonymous}::kStandardVideoTypes)’ from ‘const char* const*’ to ‘base::span<const char* const>’
[4706/23310] CXX obj/net/net/x509_certificate.o
ninja: build stopped: subcommand failed.

Did this work before? N/A 

Chrome version: lastest   Channel: n/a
OS Version: fedora 21
Flash Version:
 

Comment 1 by caseq@chromium.org, May 21 2018

Components: -Platform>DevTools
Components: Internals>Network Build
Labels: Needs-Feedback
It sounds like you're using an unsupported compiler (mips64el-linux-gnu-g++). That said, does it work if you switch that call to uniform initializer syntax, by changing the <const char* const>() to <const char* const>{} (that is, changing () to {})? 
Cc: rsleevi@chromium.org

Comment 5 by mmenke@chromium.org, May 29 2018

Ryan:  Looks like that CL introduced a non-POD type in a global.  Am I missing something?

Comment 6 by mmenke@chromium.org, May 29 2018

Oh, base::span, not std::span.  Ok, that makes sense.  Nevermind.
Right, it's a constexpr. I'm hoping for feedback from Comment #3, otherwise, I think WontFixing.
Project Member

Comment 8 by bugdroid1@chromium.org, May 30 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/6428db960144dc17d865c3db23b573e9ad4472e0

commit 6428db960144dc17d865c3db23b573e9ad4472e0
Author: Wang Qing <wangqing-hf@loongson.cn>
Date: Wed May 30 03:11:29 2018

Fixed error about base::span type conversion.

This CL fixes the build error with the following message:

         ../../net/base/mime_util.cc:522:47: error: could not convert ‘(const char* const*)(& net::{anonymous}::kStandardImageTypes)’ from ‘const char* const*’ to ‘base::span<const char* const>’
               {nullptr, base::span<const char* const>()}};
         ../../net/base/mime_util.cc:522:47: error: could not convert ‘(const char* const*)(& net::{anonymous}::kStandardAudioTypes)’ from ‘const char* const*’ to ‘base::span<const char* const>’
         ../../net/base/mime_util.cc:522:47: error: could not convert ‘(const char* const*)(& net::{anonymous}::kStandardVideoTypes)’ from ‘const char* const*’ to ‘base::span<const char* const>’

R= mmenke@chromium.org

Bug:  844285 
Change-Id: I1b6483a99258d936922ffc31f08317ccb97ff8dc
Reviewed-on: https://chromium-review.googlesource.com/1075576
Reviewed-by: Matt Menke <mmenke@chromium.org>
Commit-Queue: 汪 清 <wangqing-hf@loongson.cn>
Cr-Commit-Position: refs/heads/master@{#562716}
[modify] https://crrev.com/6428db960144dc17d865c3db23b573e9ad4472e0/net/base/mime_util.cc

Comment 9 by mmenke@chromium.org, May 30 2018

Status: Fixed (was: Unconfirmed)
Project Member

Comment 10 by bugdroid1@chromium.org, Jun 5 2018

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/413dc0c4b5fffe09bfa17d4805d8d84c2ee910f2

commit 413dc0c4b5fffe09bfa17d4805d8d84c2ee910f2
Author: Ryan Sleevi <rsleevi@chromium.org>
Date: Tue Jun 05 13:40:51 2018

Fix base::span<> initialization in mime_util

r562716 changed the initialization sequence to use fully-explicit
unified initialization syntax, for GCC + MIPS. This uses a simpler
syntax that is less verbose, in line with the goals of the span
proposal.

BUG= 844285 

Change-Id: Id2cbc22945988113218ecefc66f3c585c20643c1
Reviewed-on: https://chromium-review.googlesource.com/1077850
Reviewed-by: Matt Menke <mmenke@chromium.org>
Commit-Queue: Ryan Sleevi <rsleevi@chromium.org>
Cr-Commit-Position: refs/heads/master@{#564474}
[modify] https://crrev.com/413dc0c4b5fffe09bfa17d4805d8d84c2ee910f2/net/base/mime_util.cc

Sign in to add a comment