Subject: [PATCH 0/3] Clean up workarounds for non-GCC compilers in kdevcppparser.
Date: Sunday 3rd November 2013 13:12:17 UTC (over 4 years ago)
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!