From -1058228996624946691
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 109fba,9a6b7da9ba54eaea
X-Google-Attributes: gid109fba,public
X-Google-Thread: f78e5,9a6b7da9ba54eaea
X-Google-Attributes: gidf78e5,public
X-Google-ArrivalTime: 1993-06-23 03:36:35 PST
Xref: gmd.de comp.lang.c++:24977 comp.std.c++:2861
Newsgroups: comp.lang.c++,comp.std.c++
Path: gmd.de!newsserver.jvnc.net!howland.reston.ans.net!wupost!uunet!munnari.oz.au!metro!news
From: maxtal@physics.su.OZ.AU (John Max Skaller)
Subject: Re: C++ Language Extensions
Message-ID: <1993Jun23.103342.23825@ucc.su.OZ.AU>
Sender: news@ucc.su.OZ.AU
Nntp-Posting-Host: physics.su.oz.au
Organization: School of Physics, University of Sydney, Australia
References: <rfgC9086A.8xv@netcom.com> <25807@alice.att.com> <rfgC91JEK.182@netcom.com>
Date: Wed, 23 Jun 1993 10:33:42 GMT
Lines: 45

In article <rfgC91JEK.182@netcom.com> rfg@netcom.com (Ronald F. Guilmette) writes:
>
>So it is in this case.  Andrew seems to have exercized some "selective
>reading" on my prior posting.  He fixated on my suggestion that things
>like:
>
>	static struct S { int member; };
>	static enum color { red, green, blue };
>
>should be allowed, and he seems to have failed entirely to notice that I
>also mentioned the fact that in ANSI C, the names of types simply DO NOT
>HAVE EXTERNAL LINKAGE.  

>What I suggested was that this should be the case in C++ also, for the sake
>of compatability with ANSI C.  Now perhaps this constitutes a "new feature",
>but it does not exactly provide any new functionality to the programmer.
>
>Let me be quite clear about this.  I *DID NOT* suggest adding any new
>functionality to the C++ language.  

>But nothing could be further from the truth.  It is my contention that
>(in ANSI C at least) there simply is no such thing as a type name which
>has external linkage.  I believe that this is also true for C++.  (If
>not, it should be.)  

	J Stephen Adamczyk points out that C has names with 
'no linkage' such as

	g() {
		float f; // no linkage
	}

while C++ does not, and suggests the committee adopt the notion
of 'no linkage' in X3J16/93-0075==WG21/N0282. In fact, he suggests
adopting the C definition of linkage with three categories.

Briefly, global class names would continue to have external
linkage, while local variables and enumeration constants 
would have 'no linkage'.

--
        JOHN (MAX) SKALLER,         INTERNET:maxtal@suphys.physics.su.oz.au
	Maxtal Pty Ltd,		    CSERVE:10236.1703 
        6 MacKay St ASHFIELD,	    Mem: SA IT/9/22,SC22/WG21 
        NSW 2131, AUSTRALIA	    


