Issue 2288: C++ spec uses reserved names in global namespace (cxx_revision) Source: (, ) Nature: Uncategorized Issue Severity: Summary: Summary: The C++ language mapping generates typecode names for global IDL type definitions that start with an underscore. The C++ standard reserves global symbols that start with an underscore for the compiler implementation. We need to resolve this conflict. Resolution: Close with no change Revised Text: : Close with no change. We don't have evidence that the _tc_ mapping causes problems for existing implementations. We would prefer not to make an incompatible change for something that is not definitely known to cause a problem. Actions taken: December 29, 1998: received issue March 19, 1999: closed issue Discussion: End of Annotations:===== Return-Path: Date: Tue, 29 Dec 1998 13:03:51 -0800 From: Jonathan Biggar X-Accept-Language: en To: issues@omg.org, cxx_revision@omg.org Subject: C++ spec uses reserved names in global namespace The C++ language mapping generates typecode names for global IDL type definitions that start with an underscore. The C++ standard reserves global symbols that start with an underscore for the compiler implementation. We need to resolve this conflict. -- Jon Biggar jon@floorboard.com jon@biggar.org Return-Path: Date: Wed, 30 Dec 1998 17:51:02 +1000 (EST) From: Michi Henning To: Jonathan Biggar cc: cxx_revision@omg.org Subject: Re: C++ spec uses reserved names in global namespace Organization: Triodia Technologies On Tue, 29 Dec 1998, Jonathan Biggar wrote: > The C++ language mapping generates typecode names for global IDL type > definitions that start with an underscore. The C++ standard reserves > global symbols that start with an underscore for the compiler > implementation. We need to resolve this conflict. Hmmm... I don't think so. The ANSI C++ spec reserves identifiers containing a double underscore and identifiers starting with a single underscore followed by an uppercase letter. The type code constants all look like _tc_something, so I think there is no conflict? Cheers, Michi. -- Michi Henning +61 7 3236 1633 Triodia Technologies +61 4 1118 2700 (mobile) PO Box 372 +61 7 3211 0047 (fax) Annerley 4103 michi@triodia.com AUSTRALIA http://www.triodia.com/staff/michi-henning.html Return-Path: To: cxx_revision@omg.org X-Attribution: MGi Subject: Re: C++ spec uses reserved names in global namespace References: From: Marc Girod Date: 30 Dec 1998 12:24:59 +0200 Lines: 26 X-Emacs: Emacs 20.2, MULE 3.0 (MOMIJINOGA) >>>>> "MH" == Michi Henning writes: MH> On Tue, 29 Dec 1998, Jonathan Biggar wrote: >> The C++ language mapping generates typecode names for global IDL >> type >> definitions that start with an underscore. The C++ standard >> reserves >> global symbols that start with an underscore for the compiler >> implementation. We need to resolve this conflict. MH> Hmmm... I don't think so. The ANSI C++ spec reserves identifiers containing MH> a double underscore and identifiers starting with a single underscore MH> followed by an uppercase letter. The type code constants all look like MH> _tc_something, so I think there is no conflict? Can I recommend Nathan Myers' advice in comp.std.c++, on 1998/09/05? Roughly, this is correct, but asking for portability trouble. http://www.dejanews.com/getdoc.xp?AN=388278763 Best Regards! Marc -- Marc Girod Hiomo 5/1 Voice: +358-9-511 23746 Nokia Telecommunications P.O. Box 320 Mobile: +358-40-569 7954 NWS/NMS/NMS for Data 00045 NOKIA Group Fax: +358-9-511 23580 Finland marc.girod@ntc.nokia.com Return-Path: X-Sender: vinoski@mail.boston.iona.ie Date: Wed, 30 Dec 1998 09:24:07 -0500 To: Marc Girod From: Steve Vinoski Subject: Re: C++ spec uses reserved names in global namespace Cc: cxx_revision@omg.org References: At 12:24 PM 12/30/98 +0200, Marc Girod wrote: >>>>>> "MH" == Michi Henning writes: > >MH> On Tue, 29 Dec 1998, Jonathan Biggar wrote: >>> The C++ language mapping generates typecode names for global IDL >>>>>> type >>> definitions that start with an underscore. The C++ standard >>>>>> reserves >>> global symbols that start with an underscore for the compiler >>> implementation. We need to resolve this conflict. > >MH> Hmmm... I don't think so. The ANSI C++ spec reserves identifiers containing >MH> a double underscore and identifiers starting with a single >>>>>> underscore >MH> followed by an uppercase letter. The type code constants all look >>>>>> like >MH> _tc_something, so I think there is no conflict? > >Can I recommend Nathan Myers' advice in comp.std.c++, on 1998/09/05? >Roughly, this is correct, but asking for portability trouble. > > http://www.dejanews.com/getdoc.xp?AN=388278763 > >Best Regards! >Marc [Hi Marc, hope all is well with you.] Nathan is correct, not surprisingly. However, can anyone actually cite a real example where a _tc_ name caused compilation or link errors? In all my years of doing this stuff I've never seen a problem with this (and I've been using _tc_ names since 1992 when I helped define a proprietary C++ mapping for my former employer). Fixing this problem will break a lot of code -- is it really worth it? --steve Date: Sun, 21 Feb 1999 11:39:46 +1000 (EST) From: Michi Henning To: C++ Revision Task Force Subject: Proposal for 2288 Organization: Triodia Technologies I'd like to suggest to close this issue with no change. We don't have evidence that the _tc_ mapping causes problems for existing implementations. I would prefer not to make an incompatible change for something that doesn't cause problem, especially when you can argue that, if it were to cause problems, it is the compiler's fault. Cheers, Michi. -- Michi Henning +61 7 3236 1633 Triodia Technologies +61 4 1118 2700 (mobile) PO Box 372 +61 7 3211 0047 (fax) Annerley 4103 michi@triodia.com AUSTRALIA http://www.triodia.com/staff/michi-henning.html