Details
-
Bug
-
Resolution: Invalid
-
P2: Important
-
None
-
5.11.1
-
None
Description
This happens when building gn:
c++ -MMD -MF base/at_exit.o.d -I/tmp/e2/build/build/qtwebengine/src/3rdparty/chromium/tools/gn/out/Release/gen -I/tmp/e2/build/qt-everywhere-src-5.11.1/qtwebengine/src/3rdparty/chromium -DNO_TCMALLOC -D__STDC_FORMAT_MACROS -O2 -g0 -DTOOLKIT_QT -D_FILE_OFFSET_BITS=64 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -pthread -pipe -fno-exceptions -D__STDC_FORMAT_MACROS -std=c++14 -Wno-c++11-narrowing -c /tmp/e2/build/qt-everywhere-src-5.11.1/qtwebengine/src/3rdparty/chromium/base/at_exit.cc -o base/at_exit.o In file included from /tmp/e2/build/qt-everywhere-src-5.11.1/qtwebengine/src/3rdparty/chromium/base/memory/ref_counted.h:17:0, from /tmp/e2/build/qt-everywhere-src-5.11.1/qtwebengine/src/3rdparty/chromium/base/callback_internal.h:14, from /tmp/e2/build/qt-everywhere-src-5.11.1/qtwebengine/src/3rdparty/chromium/base/callback.h:9, from /tmp/e2/build/qt-everywhere-src-5.11.1/qtwebengine/src/3rdparty/chromium/base/at_exit.h:9, from /tmp/e2/build/qt-everywhere-src-5.11.1/qtwebengine/src/3rdparty/chromium/base/at_exit.cc:5: /tmp/e2/build/qt-everywhere-src-5.11.1/qtwebengine/src/3rdparty/chromium/base/memory/scoped_refptr.h: In constructor 'constexpr scoped_refptr<T>::scoped_refptr(T*)': /tmp/e2/build/qt-everywhere-src-5.11.1/qtwebengine/src/3rdparty/chromium/base/memory/scoped_refptr.h:166:3: error: constexpr constructor does not have empty body } ^ In file included from /tmp/e2/build/qt-everywhere-src-5.11.1/qtwebengine/src/3rdparty/chromium/base/callback_internal.h:14:0, from /tmp/e2/build/qt-everywhere-src-5.11.1/qtwebengine/src/3rdparty/chromium/base/callback.h:9, from /tmp/e2/build/qt-everywhere-src-5.11.1/qtwebengine/src/3rdparty/chromium/base/at_exit.h:9, from /tmp/e2/build/qt-everywhere-src-5.11.1/qtwebengine/src/3rdparty/chromium/base/at_exit.cc:5: /tmp/e2/build/qt-everywhere-src-5.11.1/qtwebengine/src/3rdparty/chromium/base/memory/ref_counted.h: In constructor 'constexpr base::subtle::RefCountedThreadSafeBase::RefCountedThreadSafeBase(base::subtle::StartRefCountFromOneTag)': /tmp/e2/build/qt-everywhere-src-5.11.1/qtwebengine/src/3rdparty/chromium/base/memory/ref_counted.h:157:3: error: constexpr constructor does not have empty body } ^ At global scope: cc1plus: warning: unrecognized command line option "-Wno-c++11-narrowing"
So there is also problem with an incorrect warning flag, but that seems to still work. The setup is a cross-build x86 to ARM, with the host compiler being:
c++ (Debian 4.9.2-10) 4.9.2
The target compiler is a plain gcc 5.4.0.
The code looks like this:
explicit constexpr RefCountedThreadSafeBase(StartRefCountFromOneTag) : ref_count_(1) { #if DCHECK_IS_ON() needs_adopt_ref_ = true; #endif }
So if DCHECK_IS_ON() would evaluate to true the problem will likely go away. This would require building gn with -DNDEBUG as it seems.
Attachments
For Gerrit Dashboard: QTBUG-69535 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
234943,3 | Fix minimum GCC version in documentation | 5.11 | qt/qtwebengine | Status: MERGED | +2 | 0 |