Date: Mon, 8 Jan 2001 09:23:58 +0200 (IST) From: Eli Zaretskii X-Sender: eliz AT is To: Stephen Silver cc: djgpp-workers AT delorie DOT com Subject: Re: namespace std In-Reply-To: <002e01c078f2$62454720$ed06893e@oemcomputer> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Reply-To: djgpp-workers AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: djgpp-workers AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk On Sun, 7 Jan 2001, Stephen Silver wrote: > Note that the same temporary macro can (and almost certainly should) be > used for each header. (Question: What naming convention is used for > DJGPP macros? Is __dj_no_hoist_ acceptable? Or __dj_via_cplusplus_header_? I think both are acceptable, but perhaps others think otherwise. > #ifdef __cplusplus > namespace std { > extern "C" { > #endif Question: will this compile with the current C and C++ compilers? > #if !defined(__dj_no_hoist_) && !defined(__dj_ENFORCE_ANSI_FREESTANDING) > > // hoist all standard foo.h symbols here Please explain to the uninitiated what does ``hoisting'' do. An example would be nice. > I'm assuming that non-standard symbols get the same treatment as > standard symbols with respect to namespace std, as this seems least > likely to cause confusion. Yes. > PS. One of the 18 headers common to C and C++ is missing altogether > from DJGPP 2.03. Here's all that is needed for : Yes, DJGPP doesn't really support the ISO amendments to C89.