From: SourceForge.net <no...@so...> - 2007-11-06 12:23:37
|
Bugs item #1818330, was opened at 2007-10-22 23:15 Message generated for change (Comment added) made by nobody You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=396644&aid=1818330&group_id=29557 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) Summary: SmartPtr.h syntax error on 1308 line - compilation failed Initial Comment: while compiling Loki project a gcc failed the process with: /home/xxa/include/loki/SmartPtr.h: In member function `bool Loki::SmartPtr<T, OwnershipPolicy, ConversionPolicy, CheckingPolicy, StoragePolicy, ConstnessPolicy>::Merge(Loki::SmartPtr<T1, OP1, CP1, KP1, SP1, CNP1>&)': /home/xxa/include/loki/SmartPtr.h:1308: syntax error before `;' token I'm using a 0.1.6 Loki version and a g++32 (GCC) 3.2.3 20030502 (Red Hat Linux 3.2.3-47.3) with these options: g++ -c -fno-enforce-eh-specs -pthread May it be a typo in 1308 line: "return OP::template Merge( rhs );" ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2007-11-06 04:23 Message: Logged In: NO Thanks for your reply. OK with 3.4 gcc, but does your skipping of the "OP::template Merge" line means that it _is_ wrong and I've fixed it right? Or no? ---------------------------------------------------------------------- Comment By: Peter Kuemmel (syntheticpp) Date: 2007-10-28 05:03 Message: Logged In: YES user_id=1159765 Originator: NO I assume you have also other problems using Loki because gcc 3.2.3's template support is broken. Until know I always recommend to use at least gcc 3.4. Peter ---------------------------------------------------------------------- Comment By: Nobody/Anonymous (nobody) Date: 2007-10-23 05:37 Message: Logged In: NO I've fixed the #1308 line from: return OP::template Merge( rhs ); to: return OP::Merge( rhs ); and get this: bool Merge( SmartPtr< T1, OP1, CP1, KP1, SP1, CNP1 > & rhs ) { if ( GetImpl( *this ) != GetImpl( rhs ) ) { return false; } //return OP::template Merge( rhs ); return OP::Merge( rhs ); } And it works for now. ---------------------------------------------------------------------- Comment By: Richard Sposato (rich_sposato) Date: 2007-10-22 23:33 Message: Logged In: YES user_id=749922 Originator: NO Can you tell us which ownership policy you used when compiling SmartPtr? The compiler will generate this error if you called SmartPtr::Merge when using any policy besides RefLinked. - Rich ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=396644&aid=1818330&group_id=29557 |