Re: Man page pre & post operators error

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Michael:

I have made the assumption that the current manpage operator table was
based on the C89/90 C Standard. This was a bad assumption!

Please throw out what I have sent and I will create a new more detailed
interpretation of the Draft Standards, with more detailed explanation.
I do not work with anything but the Draft Standards documents.  (With
one possible additional source. Will explain later)

Thanks!

Rick 

--
RSI (Rick Stanley, Inc.)
(917) 822-7771
www.rsiny.com
Computer  Consulting
Linux & Open Source Specialist
On Sep 25, 2019, at 4:08 PM, "Michael Kerrisk (man-pages)" <
mtk.manpages@xxxxxxxxx> wrote:
> Hello Rick,
> 
> (Im reflecting more.)
> 
> On 9/25/19 9:42 PM, Michael Kerrisk (man-pages) wrote:
> >  Hello Rick,
> >  
> >  On 9/25/19 5:23 PM, Rick Stanley wrote:
> > >  Hello again!
> > > 
> > >  In an effort to bring the current manpage for the C operator
> > > table up
> > >  to the current official Standard, I went back and compared the
> > > current
> > >  manpage operator table against the C99, C11, and C17(18) Draft
> > >  Standards documents.  I do not have access to the Official ISO C
> > >  Standards documents.
> > > 
> > >  I have attached a PDF to document my interpretation of the
> > > Standards
> > >  against the current `man operator` manpage
> > > 
> > >  In addition to the pre & postfix ++ & -- operators, I have found
> > > one
> > >  additional change & three additions to the table.  Because of
> > > these
> > >  appearing in 6.5.x, and A.2.1, I assume they should be included
> > > in the
> > >  operator table.
> > > 
> > >  The current table consists of 15 levels of precedence, C99 adds
> > > one new
> > >  level and C11 adds one more.
> > > 
> > >  (type) cast operator change
> > > 
> > >  In the current table, the cast operator is listed on level 2 of
> > > 15
> > >  levels, along with other operators.  In C99 this operator has
> > > been
> > >  demoted to a new level inserted between level 2 & 3 of the
> > > current
> > >  level, expanding the table to 16 levels of precedence.  I assume
> > > the
> > >  associativity is also "right to left", as is level 2.
> 
> How do you deduce that this changed between C89/90 and c99?
> I'm not so convinced now that '(type) cast' changed in precedence.
> 
> > >  _Generic operator/keyword addition
> > > 
> > >  This new operator/keyword was added in C11.  A new top level was
> > >  created and the remainder of the table has been demoted by one
> > > level.
> 
> But, is it really an operator? How do you deduce that?
> 
> > >  default operator/keyword addition
> > > 
> > >  This too has been added to the new top level in C11
> >  
> >  But, 'default' is not an operator as far as I can tell?
> >  (It is part of the '_Generic' construct, not an operator
> >  in its own right.)
> >  
> > >  _Alignof operator/keyword addition
> 
> This seems clearly correct to me, and I find other sources
> that agree on this.
> 
> My general problem is that I find no other sources
> that confirm your interpretation of the standard that _Generic
> is a new operator at a new level and that '(type) cast' has
> changed in precedence.
> 
> Thanks,
> 
> Michael
> 
-- 
RSI (Rick Stanley, Inc.)
(917) 822-7771
www.rsiny.com
Computer Systems Consulting
Linux & Open Source Specialists




[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux