Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(112)

Issue 419203003: Fix dbus::Property compile failure on gcc (Closed)

Created:
6 years, 5 months ago by tzik
Modified:
6 years, 4 months ago
Reviewers:
keybuk, Nico
CC:
chromium-reviews, vivekg
Project:
chromium
Visibility:
Public.

Description

Fix dbus::Property compile failure on gcc This fixes build failure on gcc, that is introduced by http://crrev.com/285475. The error log is http://paste.ubuntu.com/7853634/

Patch Set 1 #

Patch Set 2 : #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+31 lines, -13 lines) Patch
M dbus/property.h View 1 1 chunk +31 lines, -13 lines 4 comments Download

Messages

Total messages: 5 (0 generated)
tzik
Sorry for repeated try. Please take a look. # Or, any suggestion to fix this ...
6 years, 5 months ago (2014-07-25 09:15:31 UTC) #1
Nico
https://codereview.chromium.org/419203003/diff/20001/dbus/property.h File dbus/property.h (left): https://codereview.chromium.org/419203003/diff/20001/dbus/property.h#oldcode412 dbus/property.h:412: extern template class CHROME_DBUS_EXPORT Property<uint8>; Just removing the CHROME_DBUS_EXPORT ...
6 years, 5 months ago (2014-07-25 16:37:23 UTC) #2
Nico
https://codereview.chromium.org/419203003/diff/20001/dbus/property.h File dbus/property.h (left): https://codereview.chromium.org/419203003/diff/20001/dbus/property.h#oldcode409 dbus/property.h:409: template <> Property<uint8>::Property(); …and this line is wrong too ...
6 years, 5 months ago (2014-07-25 16:46:50 UTC) #3
tzik
https://codereview.chromium.org/419203003/diff/20001/dbus/property.h File dbus/property.h (left): https://codereview.chromium.org/419203003/diff/20001/dbus/property.h#oldcode409 dbus/property.h:409: template <> Property<uint8>::Property(); On 2014/07/25 16:46:50, Nico (away) wrote: ...
6 years, 4 months ago (2014-07-29 05:52:36 UTC) #4
Nico
6 years, 4 months ago (2014-07-29 22:14:02 UTC) #5
On 2014/07/29 05:52:36, tzik wrote:
> https://codereview.chromium.org/419203003/diff/20001/dbus/property.h
> File dbus/property.h (left):
> 
>
https://codereview.chromium.org/419203003/diff/20001/dbus/property.h#oldcode409
> dbus/property.h:409: template <> Property<uint8>::Property();
> On 2014/07/25 16:46:50, Nico (away) wrote:
> > …and this line is wrong too I think. Since the constructor is defined inline
> > above, you shouldn't instantiate it here, that'll lead to an instantiation
of
> > the template, not to a specialization.
> > 
> > So I recommend:
> > * Remove all the ::Property() lines
> > * For consistency with other code, remove the CHROME_DBUS_EXPORT from the
> extern
> > template class liens
> 
> These Property::Property()s seem specialization rather than instantiation.
> property.cc provides slightly different implementation for them.

Ah, you're correct again.

> > Just removing the CHROME_DBUS_EXPORT should be enough to fix that error, no?
> 
> That doesn't build successfully on clang+asan on latest clang, unfortunately.
> The error message was same as the first try of the fix:
> https://codereview.chromium.org/354553002#msg1

I can't reproduce that problem. I tried
https://codereview.chromium.org/424453003 (only part 2 of my suggestion), and
that seems to link dbus_unittests fine in a components build with gcc and clang
(both with and without asan), in both release and debug. Are you sure this
doesn't work?

Powered by Google App Engine
This is Rietveld 408576698