[Kde-pim] Review Request 110777: Correctly expose that ResourceState is a friend class.
Raphael Kubo da Costa
rakuco at FreeBSD.org
Sun Jun 2 00:47:46 BST 2013
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/110777/
-----------------------------------------------------------
Review request for KDEPIM-Libraries.
Description
-------
Correctly expose that ResourceState is a friend class.
ResourceState is a class that lives in kdepim-runtime and is outside the
Akonadi namespace.
clang < 3.3 and all versions of GCC erroneously consider the friend
declaration in
namespace N {
class C {
friend class A;
};
}
class A {
};
to refer to the class A outside namespace N (technically speaking, this is
item 3 of section 7.3.1.2 of the C++ standard). clang 3.3 fixes this
behavior and makes the build of kdepim-runtime fail.
Fix it by explicitly referring to ::ResourceState in the friend declaration.
Alternatively, we could remove the friend declaration and make ResourceState::collectionsRetrieved use ImapResource::Append instead of Akonadi::ResourceBase::Append (since ImapResource also declares ResourceState as a friend).
Diffs
-----
akonadi/resourcebase.h 0c414f57befdf33ded7207b7e88943163b341424
Diff: http://git.reviewboard.kde.org/r/110777/diff/
Testing
-------
kdepim-runtime builds fine with clang 3.3.
Thanks,
Raphael Kubo da Costa
_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/
More information about the kde-pim
mailing list