clang/rename.cxx | 5 +++++ clang/test.hxx | 6 ++++++ 2 files changed, 11 insertions(+)
New commits: commit 0a83feb268bd33e40c78cb050c2f33a06ef24fb0 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Fri Sep 4 17:28:11 2015 +0200 clang rename: ignore implicit initializers Implicit initializers have no source code location, so the generated code was like: ---- C::m_aA) : nX(0), nY(0), nZ(0), pX(0) { } ---- diff --git a/clang/rename.cxx b/clang/rename.cxx index 6ca0823..0ef8886 100644 --- a/clang/rename.cxx +++ b/clang/rename.cxx @@ -92,6 +92,11 @@ public: for (clang::CXXConstructorDecl::init_const_iterator itInit = pDecl->init_begin(); itInit != pDecl->init_end(); ++itInit) { const clang::CXXCtorInitializer* pInitializer = *itInit; + + // Ignore implicit initializers. + if (pInitializer->getSourceOrder() == -1) + continue; + if (const clang::FieldDecl* pFieldDecl = pInitializer->getAnyMember()) { std::string aName = pFieldDecl->getQualifiedNameAsString(); commit 756180b87bf0827c3907e11cf1e8e574a89ba484 Author: Miklos Vajna <vmik...@collabora.co.uk> Date: Fri Sep 4 17:27:48 2015 +0200 clang rename: add implicit initializer testcase diff --git a/clang/test.hxx b/clang/test.hxx index 8f98f72..6b3d9c4 100644 --- a/clang/test.hxx +++ b/clang/test.hxx @@ -1,9 +1,15 @@ +class A +{ +}; + class C { public: int nX, nY, nZ; int* pX; static const int aS[]; + // This is intentionally not initialized explicitly in C::C(). + A aA; C(); ~C(); _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice-commits