Issue metadata
Sign in to add a comment
|
CSSNumericValue compilation fails in GCC |
||||||||||||||||||||||
Issue description
Local Raspberry pi3 build using Poky Pyro
Regression after this commit:
commit 4bb7df981adb7e5e6f52363b9411dc38d6829f88
Author: Darren Shen <shend@chromium.org>
Date: Thu Nov 16 04:25:01 2017 +0000
[css-typed-om] Implement CSSNumericValue.equals
Log for the compilation error:
In file included from gen/third_party/WebKit/Source/core/css/css_jumbo_3.cc:53:0:
./../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/core/css/cssom/CSSNumericValue.cpp: In instantiation of 'blink::CSSNumericValue::equals(const blink::HeapVector<blink::DoubleOrCSSNumericValue>&)::<lambda(const auto:3&)> [with auto:3 = blink::Me
mber<blink::CSSNumericValue>]':
/home/dape/Development/upstream-chromium/src/buildtools/third_party/libc++/trunk/include/algorithm:926:20: required from 'bool std::__1::all_of(_InputIterator, _InputIterator, _Predicate) [with _InputIterator = blink::Member<blink::CSSNumericValue>*; _Predicate = blink:
:CSSNumericValue::equals(const blink::HeapVector<blink::DoubleOrCSSNumericValue>&)::<lambda(const auto:3&)>]'
./../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/core/css/cssom/CSSNumericValue.cpp:205:66: required from here
./../../../../../../../../../upstream-chromium/src/third_party/WebKit/Source/core/css/cssom/CSSNumericValue.cpp:205:65: error: cannot call member function 'virtual bool blink::CSSNumericValue::Equals(const blink::CSSNumericValue&) const' without object
[this](const auto& v) { return Equals(*v); });
,
Nov 21 2017
Looks like a GCC bug: https://stackoverflow.com/questions/32097759/calling-this-member-function-from-generic-lambda-clang-vs-gcc Should be easy to fix.
,
Nov 21 2017
I posted a review: https://chromium-review.googlesource.com/c/chromium/src/+/783710 I will update the commit message referring to the GCC bug.
,
Nov 21 2017
,
Nov 21 2017
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dd082eca6cb51d29d6120be284849745675b031a commit dd082eca6cb51d29d6120be284849745675b031a Author: Jose Dapena Paz <jose.dapena@lge.com> Date: Tue Nov 21 23:34:17 2017 GCC fix: lambda expression cannot reach this scope. Compilation fails in CSSNumericValue.equals in GCC, in a lambda expression predicate for std::all_of. Equals() call does not automatically use this in the calling function scope. This is caused by the bug in GCC "Inconsistent `this->` required when calling member function in a lambda capturing `this` through another function" https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67274 The change exposing GCC error was: commit 4bb7df981adb7e5e6f52363b9411dc38d6829f88 Author: Darren Shen <shend@chromium.org> Date: Thu Nov 16 04:25:01 2017 +0000 [css-typed-om] Implement CSSNumericValue.equals Bug: 787601 Change-Id: I92009d38a52665d719314f4d7b7d874cd4b419ad Reviewed-on: https://chromium-review.googlesource.com/783710 Reviewed-by: Darren Shen <shend@chromium.org> Commit-Queue: José Dapena Paz <jose.dapena@lge.com> Cr-Commit-Position: refs/heads/master@{#518445} [modify] https://crrev.com/dd082eca6cb51d29d6120be284849745675b031a/third_party/WebKit/Source/core/css/cssom/CSSNumericValue.cpp
,
Nov 22 2017
|
|||||||||||||||||||||||
►
Sign in to add a comment |
|||||||||||||||||||||||
Comment 1 by shend@chromium.org
, Nov 21 2017Status: Assigned (was: Untriaged)