Re: Why not contribute? (to GCC)
Like many people it seems I've read the gcc lists for many years but never contributed. I am an embedded developer using GCC on x86 and ARM. - GCC works really well, i've never found a serious GCC bug so there is nothing that i have had to fix. No "itch to scratch". - When i modified GCC for C++ support on a propitiatory RTOS (Nucleus), it was a bit of a bodge so i knew it would not get accepted, but it works well enough for me. - I have reported bugs mostly to do with cross compiling but the proper fix is often more complex than my 5 minute hack to build the cross compiler, you generally only build these things once so its a lot of effort for a small gain. - Matthew J Fletcher
template class scoping rules
Hi This cut down example does not compile with gcc 3.4.x / 4.0.x or 4.1.0. test.cpp: In constructor 'Three::Three()': test.cpp:20: error: 'm_Public' was not declared in this scope It does compile with VS2005 / VS6 class One { public: One(); ~One(); public: int m_Public; }; template class Two : public One { public: Two() {m_Public = 0;} }; template class Three : public Two { public: Three() {m_Public = 0;} }; this fixes it. template class Three : public Two { public: Three() {Two::m_Public = 0;} }; any ideas ? regards --- Matthew J Fletcher Embedded Software Serck Controls Ltd --- ** Serck Controls Ltd, Rowley Drive, Coventry, CV3 4FH, UK Tel: +44 (0) 24 7630 5050 Fax: +44 (0) 24 7630 2437 Web: www.serck-controls.com Admin: [EMAIL PROTECTED] A subsidiary of Serck Controls Pty. Ltd. Reg. in England No. 4353634 ** This email and files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the above. Any views or opinions presented are those of the author and do not necessarily represent those of Serck Controls Ltd. This message has been checked by MessageLabs **
gcc #pragma pack(push[,n]) target spesific ?
Hi on my i486-unknown-elf target i am unable to use #pragma pack(push[,n]) / #pragma pop(n), which happen to be the same as Microsofts #pragma syntax. this is because HANDLE_PRAGMA_PACK_PUSH_POP is only defined for linux/i386/alpha/sparc freebsd and others. Is this correct ?, comments in the appropreate config.h files indicate that HANDLE_PRAGMA_PACK_PUSH_POP, is mostly used for wine compatablity, but is there any reason why HANDLE_PRAGMA_PACK_PUSH_POP is not present on all targets ? also there is not a configure option. i note that in gcc4 only djgpp and cygming targets have HANDLE_PRAGMA_PACK_PUSH_POP defined, also the gcc4 documentation does not say these #pragmas are target spesific. regards --- Matthew J Fletcher Embedded Software Serck Controls Ltd --- ** Serck Controls Ltd, Rowley Drive, Coventry, CV3 4FH, UK Tel: +44 (0) 24 7630 5050 Fax: +44 (0) 24 7630 2437 Web: www.serck-controls.com Admin: [EMAIL PROTECTED] A subsidiary of Serck Controls Pty. Ltd. Reg. in England No. 4353634 ** This email and files transmitted with it are confidential and intended solely for the use of the individual or entity to whom they are addressed. If you have received this email in error please notify the above. Any views or opinions presented are those of the author and do not necessarily represent those of Serck Controls Ltd. This message has been checked by MessageLabs **