[pimpl] : Problem in compiling using gcc 3.4.4.

Hi Asgar, I was compiling pimpl test on Cygwin with g++ 3.4.4 and was failing due to some compiler errors. I fixed and thought you should also know it before getting into review. Please let me know if you need any help. Attached is the diff file. $ g++ -v Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs Configured with: /gcc/gcc-3.4.4/gcc-3.4.4-1/configure --verbose --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-languages=c,ada,c++,d,f77,java,objc --enable-nls --without-included-gettext --enable-version-specific-runtime-libs --without-x --enable-libgcj --disable-java-awt --with-system-zlib --enable-interpreter --disable-libgcj-debug --enable-threads=posix --enable-java-gc=boehm --disable-win32-registry --enable-sjlj-exceptions --enable-hash-synchronization --enable-libstdcxx-debug : (reconfigured) Thread model: posix gcc version 3.4.4 (cygming special) (gdc 0.12, using dmd 0.125) 1. First of all the pimpl_ptr.hpp is in the wrong directory. Possible location I think would be best is BOOST_ROOT/boost/pimpl_ptr.hpp 2. Some character at 27:7 in test/pimpl_ptr_test.h causes a compiler problem. 3. With 3.4.4 GCC dependent name lookup cause the problem because of which the base class variable you have defined m_pImpl is not reachable from derived class for policies. I modified it to this->m_pImpl everywhere in the derived classes and was able to compile. You can also qualify it completely. 4. And in the pimpl_ptr the same problem exists with get() function which should be calling the policy function. They are also subjected to two stage lookup causing compiler error. I has had to fix it by adding this-> in the beginning. 5. For the above points you need to possibly make necessary changes to accomodate compilers that do not have / or implement two-stage name lookup correctly. Thank you, -- Nitin Motgi NITIN . DOT. MOTGI .AT. GMAIL .DOT. COM

I've just uploaded a new version 5 with these cahnges.
I was compiling pimpl test on Cygwin with g++ 3.4.4 and was failing due to some compiler errors. I fixed and thought you should also know it before getting into review. Please let me know if you need any help.
Thank you for finding this. It did compile with GCC 4, and I couldn't get v3. I've updated from your patch log. Thank you.
2. Some character at 27:7 in test/pimpl_ptr_test.h causes a compiler problem. That must be the 'character at end of file' warning. I've fixed all header files for this.
Thanks, Asger Mangaard
participants (2)
-
Asger Mangaard
-
nitin motgi