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.
|