On Mon, Aug 07, 2000 at 02:36:01PM -0700, Daniel Rall wrote:
> Greg Hudson wrote:
> >
> > > According to this snippet from the C++ spec., it's *possible* that
> > > names with double underscores may conflict with symbols that are
> > > part of a C++ compiler's implementation.
> >
> > Is Subversion written in C++, or in C? As far as I know, the C spec
> > only reserves symbols beginning with underscores, not symbols
> > containing pairs of underscores.
>
> In C...but any C++ compiler worth it's salt should be able to compile a
> C program. It would be nice to not limit users to a C-only compiler...
There are a substantial, and growing, number of incompatibilities
between standard C and standard C++. Attempting to write C which can
be compiled by a C++ compiler is, IMO, a waste of time.
The C spec reserves "for any use" symbols beginning with _[A-Z_], and
global (linker-visible) symbols beginning with _[a-z0-9]. In
practice, the C library sticks to the _[A-Z_] namespace. I haven't
had any problems using _cpp_ as a tag for non-static symbols private
to cpplib.
zw
Received on Sat Oct 21 14:36:06 2006