New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 787601 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Nov 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: ----
Type: Bug-Regression



Sign in to add a comment

CSSNumericValue compilation fails in GCC

Project Member Reported by jose.dap...@lge.com, Nov 21 2017

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); });

 

Comment 1 by shend@chromium.org, Nov 21 2017

Owner: shend@chromium.org
Status: Assigned (was: Untriaged)

Comment 3 by jose.dap...@lge.com, 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.

Comment 4 by shend@chromium.org, Nov 21 2017

Cc: shend@chromium.org
Owner: jose.dap...@lge.com
Project Member

Comment 5 by bugdroid1@chromium.org, 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

Comment 6 by jose.dap...@lge.com, Nov 22 2017

Status: Fixed (was: Assigned)

Sign in to add a comment