Re: [orbitcpp-list] warnings
Status: Beta
Brought to you by:
philipd
From: Phil D. <ph...@us...> - 2000-08-20 14:58:35
|
Laszlo Molnar writes: > Hi Folks! Hi Laslo, > > Some days ago I tried to investigate why gcc gives tons of warnings > during compilation of orbitc++ generated stuff. After I found the main > cause (those const/non const cast operators) I looked at some other > orbs how they solve this problem. I found special ifdefs in both mico > and omniorb, unfortunately none of those solutions were 100% perfect. > Anyway when I do something similar for orbitc++, I was not able to > compile everything :( > > And unfortunately gcc 2.96 issues these warnings too :( > I need to do some work in this area. Any info on what sort of hacks mico and omniorb use (or where to look for them) would be very helpful. > But there is another kind of warnings, which is caused by this > stuff in pass_stubs.cc: > [example snipped] > Here gcc says, that there is no point to provide > > operator Base&() > > for the derived classes, because it won't execute them, but do the > right thing itself ;) > > So I guess, this code could be safely removed. > Hmmm - I suspect not. The thing is that we aren't using real C++ objects, we're casting ORBit C objects into C++ ones, and using these cast operators to insure that the compiler doesn't try to do smart thunking in the case of multiple inheritance downcasts. This provides a good speed increase over wrapping the C objects in C++ ones. Does the 'everything' test in orbitcpp CVS work with gcc 2.96? Thanks for your work, Cheers, Phil. |