lkml.org 
[lkml]   [1998]   [May]   [20]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: 'C' Operators precedence
Date
Followup to:  <Pine.LNX.3.95.980520143737.150A-100000@chaos.analogic.com>
By author: "Richard B. Johnson" <root@chaos.analogic.com>
In newsgroup: linux.dev.kernel
>
> However, the () for passed parameters to a macro, if it exists,
> requires that the contents of () be evaluated before the macro is
> expanded, because () has the highest presedence of any 'C' operator.
>

The () as used in a macro expansion *isn't* a C operator. It's a
preprocessor operator, and typically isn't present in the output to
the C compiler.

Furthermore, you're once again confusing precedence with sequence
points. They have pretty much NOTHING to do with each other!

The ONLY sequence point for a function call is that its arguments must
be evaluated before the function is executed, if that is what you
meant with the previous article. However, it says *nothing* about
when the function is evaluated as opposed to other functions, nor of
the evaluation order of other functions in relation to it, unless
their return values are required to compute the arguments of the
function in question.

-hpa
--
PGP: 2047/2A960705 BA 03 D3 2C 14 A8 A8 BD 1E DF FE 69 EE 35 BD 74
See http://www.zytor.com/~hpa/ for web page and full PGP public key
I am Bahá'í -- ask me about it or see http://www.bahai.org/
"To love another person is to see the face of God." -- Les Misérables

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu

\
 
 \ /
  Last update: 2005-03-22 13:42    [W:0.376 / U:0.028 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site