Go Back   ZeroC Forums > Bug Reports

Reply
 
LinkBack Thread Tools Rate Thread Display Modes
  #1 (permalink)  
Old 02-21-2003
marlowa marlowa is offline
Registered User
 
 
Join Date: Feb 2003
Location: London
Posts: 64
More solaris template problems

Another problem with Forte 6.2 building Ice on Solaris. Ice has a template class called Lock but several classes define a typedef called Lock which uses the template Lock, e.g we have typedef Lock<RecMutex> Lock. Forte does not like this. I must admit, I'm not keen either. I had to change the name of the template lock class. Once it was called Lock_tmpl it compiled ok. The affected header files are:

include/IceUtil/Lock.h
include/IceUtil/Mutex.h
include/IceUtil/RecMutex.h
include/IceUtil/RWRecMutex.h

I am not sure if this is a compiler bug; I have posted a query to comp.std.c++.

Regards,

Andrew M.
__________________
You are in a maze of twisty little passages, all different.
Reply With Quote
  #2 (permalink)  
Old 02-21-2003
matthew's Avatar
matthew matthew is offline
ZeroC Staff
 
Name: Matthew Newhook
Organization: ZeroC, Inc.
Project: Internet Communications Engine
 
Join Date: Feb 2003
Location: NL, Canada
Posts: 1,001
Working around all these compiler differences is always a pain Thanks alot for the report. We'll adjust the source accordingly.

Regards, Matthew
Reply With Quote
  #3 (permalink)  
Old 02-21-2003
rodrigc rodrigc is offline
Registered User
 
 
Join Date: Feb 2003
Location: Boston, MA, U.S.A.
Posts: 27
comp.std.c++ is the wrong place to post for this kind of thing,
since Lock is not Standard C++.

You are better off posting to some place like
comp.lang.c++.moderated

or a forum that is specific to Sun Forte C++.

If I recall, Sun Forte comes with libraries from RogueWave
including Tools.h++ and RogueWave's implementation of STL.

Does it look the the problems you are encountering are due to any of the
classes mentioned in RogueWave's synchronization library?

http://www.roguewave.com/support/doc...dsref/2-7.html

I'm not sure if RogueWave's STL implementation uses Tools.h++ for
thread synchronization.

If you look around the header files that come with your compiler,
that might yield some clues.
__________________
--
Craig Rodrigues
Reply With Quote
  #4 (permalink)  
Old 02-22-2003
marlowa marlowa is offline
Registered User
 
 
Join Date: Feb 2003
Location: London
Posts: 64
Quote:
Originally posted by rodrigc
comp.std.c++ is the wrong place to post for this kind of thing,
since Lock is not Standard C++.

You are better off posting to some place like
comp.lang.c++.moderated
.
Pardon me but comp.std.c++ is exactly the right NG to post to on questions of std conformance, and I got a reply too. The Forte compiler is wrong. This satisifies my curiousity but we will of course have to change the Ice code to make it acceptable to the Forte compiler.

-apm
__________________
You are in a maze of twisty little passages, all different.
Reply With Quote
  #5 (permalink)  
Old 02-25-2003
marlowa marlowa is offline
Registered User
 
 
Join Date: Feb 2003
Location: London
Posts: 64
Quote:
Originally posted by matthew
Working around all these compiler differences is always a pain :( Thanks alot for the report. We'll adjust the source accordingly.

Regards, Matthew
I have tried to build Ice 1.0.1 and I am sorry to say that the source has not been adjusted correctly. The header RWRecMutex.h needs to be changed so that we do not have

typedef RLock<RWRecMutex> RLock;
typedef TryRLock<RWRecMutex> TryRLock;
typedef WLock<RWRecMutex> WLock;
typedef TryWLock<RWRecMutex> TryWLock;

The other changes were made ok.

The fixed file is attached.

Regards,

Andrew
__________________
You are in a maze of twisty little passages, all different.
Reply With Quote
  #6 (permalink)  
Old 02-25-2003
marc's Avatar
marc marc is offline
ZeroC Staff
 
Name: Marc Laukien
Organization: ZeroC, Inc.
Project: The Internet Communications Engine
 
Join Date: Feb 2003
Location: Florida
Posts: 1,772
Quote:
Originally posted by marlowa
I have tried to build Ice 1.0.1 and I am sorry to say that the source has not been adjusted correctly. The header RWRecMutex.h needs to be changed so that we do not have

typedef RLock<RWRecMutex> RLock;
typedef TryRLock<RWRecMutex> TryRLock;
typedef WLock<RWRecMutex> WLock;
typedef TryWLock<RWRecMutex> TryWLock;

The other changes were made ok.

The fixed file is attached.

Regards,

Andrew
Sorry for that. It's difficult to make such changes without having the software to test them against. (But as I wrote before, a Solaris system has been ordered, so soon we can test this for ourselves.)

BTW, there is no attachment.

-- Marc
Reply With Quote
  #7 (permalink)  
Old 02-25-2003
marlowa marlowa is offline
Registered User
 
 
Join Date: Feb 2003
Location: London
Posts: 64
Quote:
Originally posted by marc

BTW, there is no attachment.

-- Marc
Hmmm, very strange. I have emailed it to you.

-Andrew
__________________
You are in a maze of twisty little passages, all different.
Reply With Quote
  #8 (permalink)  
Old 03-05-2003
marlowa marlowa is offline
Registered User
 
 
Join Date: Feb 2003
Location: London
Posts: 64
Quote:
Originally posted by marlowa
Pardon me but comp.std.c++ is exactly the right NG to post to on questions of std conformance, and I got a reply too. The Forte compiler is wrong. This satisifies my curiousity but we will of course have to change the Ice code to make it acceptable to the Forte compiler.

-apm
I have been following the thread on comp.std.c++ (http://groups.google.com/groups?dq=&...td.c%252B%252B) and there have been some interesting developments. Consensus is that the the construct is wrong according to section 3.3.6/1 but the std says that a diagnostic is not required. This unfortunately makes things very unclear. I recommend that in general this construct is best avoided, due to the issue being unclear in the std. One could argue that both GCC and Forte conform but in different ways!

Regards,

Andrew M.
__________________
You are in a maze of twisty little passages, all different.
Reply With Quote
Reply



Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is Off
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On

Similar Threads
Thread Thread Starter Forum Replies Last Post
object id with category can't be a template parameter? Yunqiao Yin Bug Reports 1 06-09-2006 08:27 AM
a problem about the default template rwxybh Help Center 2 12-28-2005 03:33 AM
Where is IcePath2 template? kovacm Help Center 1 11-26-2005 06:45 PM
ICE Client DLL Template amrufon Help Center 5 07-28-2003 07:45 AM
weird template compilation error on solaris marlowa Bug Reports 5 02-25-2003 07:18 AM


All times are GMT -4. The time now is 07:23 PM.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.0.0
(c) 2008 ZeroC, Inc.