[umbrello-devel] [PATCH 0/3] Clean up workarounds for non-GCC compilers in kdevcppparser.

Raphael Kubo da Costa rakuco at FreeBSD.org
Sun Nov 3 13:12:17 UTC 2013


I couldn't find a kdesdk or umbrello group in git.reviewboard.kde.org so
I ended up choosing to use git send-email directly. Please let me know
if you prefer the patches to be sent in another way.

This patch series is required to properly support clang and libc++, the
default stack in recent versions of OS X and FreeBSD (Umbrello is one of
the few KDE applications that fails to build out of the box), and also
happens to clean up the workarounds introduced to support MSVC and
SunPro CC.

Patch 1 always uses our version of the _Identity unary function:
_Identity is internal to GCC's libstdc++, so always using our
implementation is the right thing to do and allows us to remove one
#ifdef (that erroneously only covers MSVC).

Patch 2 is the most important one, and replaces the existing
PositionFilename implementation with a QString typedef. I found it a bit
weird that it had not been attempted before; the commit message has a
lengthy explanation of why it seems to be the best fix, but I'm all ears
for other ways to fix the issue if I missed something in my thought
process.

Patch 3 cleans up after the changes in patch 2; while in theory it could
be squashed into patch 2 itself, I found it cleaner from a
maintainability point of view to keep them separate. It is also not
strictly required.

Cheers!



More information about the umbrello-devel mailing list