This is the mail archive of the
libstdc++@sourceware.cygnus.com
mailing list for the libstdc++ project.
Re: Some shadow fixes. (more comments)
On Fri, 19 May 2000, Nathan Myers wrote:
> > Index: bits/std_cassert.h
> > ===================================================================
> > RCS file: /cvs/gcc/egcs/libstdc++-v3/shadow/bits/std_cassert.h,v
> > retrieving revision 1.2
> > diff -r1.2 std_cassert.h
> > 39,42c39,45
> > < extern "C" {
> > < # pragma system_header
> > < # include_next <assert.h>
> > < }
> > ---
> > > namespace _C_Swamp {
> > > extern "C" {
> > > # pragma system_header
> > > # include_next <assert.h>
> > > }
> > > namespace _C_Shadow { }
> > > } // close namespace ::_C_Swamp::
>
> I'm none too sure about this one. assert() is weird.
>
> I don't think <assert.h> defines any global names we need to hide,
> and the reserved names it defines must be found from wherever the
> assert macro appears. We don't know what those reserved names
> might be, or how they are declared.
I get a compilation error without this. As far I can tell, it just creates a
empty _C_Swamp namespace declaration which generic_shadow.h seems to
require. Perhaps this is a problem with generic_shadow, I just took the path
of least resistance to get things to compile.
>
> > Index: bits/std_ctime.h
> > ===================================================================
> > RCS file: /cvs/gcc/egcs/libstdc++-v3/shadow/bits/std_ctime.h,v
> > retrieving revision 1.2
> > diff -r1.2 std_ctime.h
> > 121a122,126
> > > using ::std::ctime;
> > > using ::std::clock;
> > > using ::std::difftime;
> > > using ::std::mktime;
> > > using ::std::time;
>
> I don't think these are appropriate. ::std::ctime was imported
> into ::std from _C_shadow to begin with, so I think there's no
> need to import it back into there again. Note that the only
> names already in the list are the ones defined in std::.
Again, I get a error if I include <time.h> and try to reference the above
functions in ::.
--
Steven King
sxking@uswest.net