This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: generalized lvalues -- patch outline


Hi,

On Tue, 23 Nov 2004, Daniel Berlin wrote:

> > FWIW, this extension is used in at least (determined from just looking at
> > the compiler errors):
> > wine, elfutils, rpm, freeglut, dietlibc, openswan, xv, xine and 50 other
> > packages.
> 
> When you say used the extension, do you mean *intentionally* (IE it's in code
> that is part of the package), or is the extension part of code they
> include/link with from other packages (ie glibc, etc)

Those of them at which I looked, use it intentionally (mislead perhaps,
but intentionally).  Sometimes it's in specialised code, like for instance
image manipulation (i.e. sweeping over an array), sometimes it's in
package generic code (for instance I saw list iterator macros, which use a
generic variable, but which are type indepependend, to implement generics
in C).  I didn't see it used in something like system-wide headers
(although IIRC some Sun xdr headers once contained such code, but I think
that got fixed meanwhile).

In wine for instance it's in generated code (proxy and stub functions for 
implementing the COM interfaces, i.e. all kinds of marshalling).  The use 
here usually is of the increment form (one pointer walking an array, 
incremented by different amounts depending on the type).

Sure, this all could be fixed by changing all of the 50+ packages.  Or by 
implementing a very constrained form of the extension in GCC.

The only C++ packages in which I see this is alsamixergui, chasen, 
knights, libebml and licq, so I personally would be thankful already for 
having such extension only in C.

Practically speaking 4.0 is currently strictly less usefull in some 
aspects for the average C programmer.


Ciao,
Michael.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]