[comp.lang.c] TC++ include file SANITY

rja7m@surya.cs.Virginia.EDU (Ran Atkinson) (11/13/90)

The use and need for
  extern "C" ...
in header files containing both C and C++ code IS documented
in the TC++ manuals that Borland shipped at least since July
(when mine arrived).  It is important to keep in mind that
the compiler is both a ANSI C compiler and a C++ 2.0 compiler
and that C isn't C++.

  The preprocessor directive in the TC++ <string.h> file appears
correct and is needed for TC++ to comply with the ANSI C X3.159
standard which is quite specific about what is and isn't allowable
in headers (with respect to namespace).   Borland supplies a number
of extra non-ANSI functions which are quite properly only visible
when one isn't requiring strict ANSI compliance (there are compiler
switches to set ANSI or not) and Borland has done it the right way
and complied with X3.159's requirements.  

  In short, Borland has been nice enough to not only add some useful
extensions but has also done so in a way which protects the programmer
trying to write a strictly conforming ANSI C program.

  In general, Borland's TC++ is very ANSI compliant and there are things
where one's personal dialect of traditional C is not ANSI compliant
and one should not be too hasty in complaining about the ANSI compiler
when the real problem is that one isn't familiar with ANSI C.

<<Followups have been redirected to comp.lang.c since the
  discussion hasn't been about C++ really>>