public inbox for gcc-prs@sourceware.org
help / color / mirror / Atom feed
* Re: c++/7016
@ 2003-01-23 17:06 Wolfgang Bangerth
  0 siblings, 0 replies; 5+ messages in thread
From: Wolfgang Bangerth @ 2003-01-23 17:06 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR c++/7016; it has been noted by GNATS.

From: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: Re: c++/7016
Date: Thu, 23 Jan 2003 10:59:49 -0600 (CST)

 > Hmm, of course you could deprecate this. In any case, I came to note
 > this because such code compiled file with 2.95.3.
 
 Which code? The code in the example passed the 2.95 compiler for me, but 
 created errors in the assembler since the operator was mangled as
 "<invalid operator>" (sic).
 
 > Whether or not the
 > assignment versions make a lot of sense is another question - I consider
 > them as usefule (or useless) as the other assignment operators which I'm
 > sure you won't put under question.
 
 Sure not. I suggested deprecating <? and >?, and if they are, then the 
 assignment versions should be as well.
 
 However, I see that I misunderstood their meaning. I was reading them as 
 <=? instead of <?=, i.e. "give the element that is smaller or equal to the 
 other one", instead of "assign the smaller one of the two". The former 
 doesn't make sense, since it is equivalent to the <? operator. Sorry, my 
 bad.
 
 W.
 
 -------------------------------------------------------------------------
 Wolfgang Bangerth             email:            bangerth@ticam.utexas.edu
                               www: http://www.ticam.utexas.edu/~bangerth/
 
 
 
 
 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: c++/7016
@ 2003-01-23 16:46 Wolfgang Bangerth
  0 siblings, 0 replies; 5+ messages in thread
From: Wolfgang Bangerth @ 2003-01-23 16:46 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR c++/7016; it has been noted by GNATS.

From: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: Re: c++/7016
Date: Thu, 23 Jan 2003 10:43:17 -0600 (CST)

 ---------- Forwarded message ----------
 Date: Thu, 23 Jan 2003 17:36:46 +0100
 From: Jan Beulich <JBeulich@novell.com>
 To: neil@daikokuya.co.uk, bangerth@ticam.utexas.edu
 Cc: gcc-bugs@gcc.gnu.org, gcc-gnats@gcc.gnu.org
 Subject: Re: c++/7016: missing definitions for <?= and >?=
 
 Hmm, of course you could deprecate this. In any case, I came to note
 this because such code compiled file with 2.95.3. Whether or not the
 assignment versions make a lot of sense is another question - I consider
 them as usefule (or useless) as the other assignment operators which I'm
 sure you won't put under question. Jan
 
 
 
 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: c++/7016
@ 2003-01-23 15:46 Wolfgang Bangerth
  0 siblings, 0 replies; 5+ messages in thread
From: Wolfgang Bangerth @ 2003-01-23 15:46 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR c++/7016; it has been noted by GNATS.

From: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: Re: c++/7016
Date: Thu, 23 Jan 2003 09:41:31 -0600 (CST)

 ---------- Forwarded message ----------
 Date: Thu, 23 Jan 2003 01:02:30 -0700
 From: Jan Beulich <JBeulich@novell.com>
 To: bangerth@dealii.org, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org,
      nobody@gcc.gnu.org
 Subject: Re: c++/7016: missing definitions for <?= and >?=
 
 The original issue was not (only) with overloading, but also with this
 operator not being available for the basic scalar types (while <? and >?
 are). Thanks, Jan
 
 >>> <bangerth@dealii.org> 23.01.03 04:11:18 >>>
 Synopsis: missing definitions for <?= and >?=
 
 State-Changed-From-To: analyzed->closed
 State-Changed-By: bangerth
 State-Changed-When: Thu Jan 23 03:11:18 2003
 State-Changed-Why:
     This is probably a corner case whether I should close the
     report: this has never worked (used to ICE)
     ---------------------------------
     class C {};
     C operator <?= (C) { return C(); }
     --------------------------------------
     I don't think it was ever documented that one should be
     able to overload this operator (a gcc extension anyway).
     Now we at least get a reasonable error:
     g/a> /home/bangerth/bin/gcc-3.4-pre/bin/c++ -c x.cc
     x.cc:2: error: expected identifier
     x.cc:2: error: expected type-name
     x.cc:2: error: expected `,' or `;'
     
     So the fact that the new parser rejects the code is ok, and
     is not removing a documented extension.
     
     W.
 
 http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7016
 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: c++/7016
@ 2003-01-23 15:46 Wolfgang Bangerth
  0 siblings, 0 replies; 5+ messages in thread
From: Wolfgang Bangerth @ 2003-01-23 15:46 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR c++/7016; it has been noted by GNATS.

From: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: Re: c++/7016
Date: Thu, 23 Jan 2003 09:41:08 -0600 (CST)

 [Originally blocked by spam filter, just as following messages]
 
 ---------- Forwarded message ----------
 Date: Thu, 23 Jan 2003 06:51:42 +0000
 From: Neil Booth <neil@daikokuya.co.uk>
 To: bangerth@dealii.org, gcc-bugs@gcc.gnu.org, gcc-prs@gcc.gnu.org,
      jbeulich@novell.com, nobody@gcc.gnu.org, gcc-gnats@gcc.gnu.org
 Subject: Re: c++/7016: missing definitions for <?= and >?=
 
 bangerth@dealii.org wrote:-
 
 >     This is probably a corner case whether I should close the
 >     report: this has never worked (used to ICE)
 >     ---------------------------------
 >     class C {};
 >     C operator <?= (C) { return C(); }
 >     --------------------------------------
 >     I don't think it was ever documented that one should be
 >     able to overload this operator (a gcc extension anyway).
 >     Now we at least get a reasonable error:
 >     g/a> /home/bangerth/bin/gcc-3.4-pre/bin/c++ -c x.cc
 >     x.cc:2: error: expected identifier
 >     x.cc:2: error: expected type-name
 >     x.cc:2: error: expected `,' or `;'
 >     
 >     So the fact that the new parser rejects the code is ok, and
 >     is not removing a documented extension.
 
 The documentation should say one way or the other.  FWIW to me
 allowing overloading is TRT.
 
 Neil.
 


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: c++/7016
@ 2003-01-23 15:46 Wolfgang Bangerth
  0 siblings, 0 replies; 5+ messages in thread
From: Wolfgang Bangerth @ 2003-01-23 15:46 UTC (permalink / raw)
  To: nobody; +Cc: gcc-prs

The following reply was made to PR c++/7016; it has been noted by GNATS.

From: Wolfgang Bangerth <bangerth@ticam.utexas.edu>
To: gcc-gnats@gcc.gnu.org
Cc:  
Subject: Re: c++/7016
Date: Thu, 23 Jan 2003 09:41:57 -0600 (CST)

 > The original issue was not (only) with overloading, but also with this
 > operator not being available for the basic scalar types (while <? and >?
 > are). Thanks, Jan
 
 I double checked, and found that you can indeed overload >? and <? with 
 the new parser. However, I cannot find any mention of operators <?= and 
 >?= at all, so am I right that what you want is to extend the gcc 
 extension
   >? and <?
 to also recognize
   >?= and <?=
 and be able to overload these? Frankly, for standard types, these 
 operators do not make much sense, so I guess that's the reason why they do 
 not exist at all. 
 
 That being said: the reason given in the manual for their existence must 
 predate templates -- the example uses a macro
   #define MAX(a,b) ((a) > (b) ? (a) : (b))
 and whines about the fact that if a or b have side effects, then this may 
 not be what you want. Today, with templates, there's a much more elegant 
 solution, and if you ask me then let's deprecate the feature.
 
 W.
 
 
 > >>> <bangerth@dealii.org> 23.01.03 04:11:18 >>>
 > Synopsis: missing definitions for <?= and >?=
 > 
 > State-Changed-From-To: analyzed->closed
 > State-Changed-By: bangerth
 > State-Changed-When: Thu Jan 23 03:11:18 2003
 > State-Changed-Why:
 >     This is probably a corner case whether I should close the
 >     report: this has never worked (used to ICE)
 >     ---------------------------------
 >     class C {};
 >     C operator <?= (C) { return C(); }
 >     --------------------------------------
 >     I don't think it was ever documented that one should be
 >     able to overload this operator (a gcc extension anyway).
 >     Now we at least get a reasonable error:
 >     g/a> /home/bangerth/bin/gcc-3.4-pre/bin/c++ -c x.cc
 >     x.cc:2: error: expected identifier
 >     x.cc:2: error: expected type-name
 >     x.cc:2: error: expected `,' or `;'
 >     
 >     So the fact that the new parser rejects the code is ok, and
 >     is not removing a documented extension.
 >     
 >     W.
 > 
 > http://gcc.gnu.org/cgi-bin/gnatsweb.pl?cmd=view%20audit-trail&database=gcc&pr=7016
 > 
 
 -------------------------------------------------------------------------
 Wolfgang Bangerth             email:            bangerth@ticam.utexas.edu
                               www: http://www.ticam.utexas.edu/~bangerth/
 
 
 
 


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2003-01-23 17:06 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-01-23 17:06 c++/7016 Wolfgang Bangerth
  -- strict thread matches above, loose matches on Subject: below --
2003-01-23 16:46 c++/7016 Wolfgang Bangerth
2003-01-23 15:46 c++/7016 Wolfgang Bangerth
2003-01-23 15:46 c++/7016 Wolfgang Bangerth
2003-01-23 15:46 c++/7016 Wolfgang Bangerth

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).