Re: FW: Complier not giving warning/error in this scenario.. Please help..

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

 



"Soujanya Gundlapalli" <souj@xxxxxxxxxxxxxx> writes:

> I am trying to compile the file with the following code. 
> 
> Originally it was:
> if ((erc = pk_val(pline, pkt, mp, PKT_CLEAR, PK_LOCAL))
> By accident I saved the file with the following code.
>             if ((erc =  (pline, pkt, mp, PKT_CLEAR, PK_LOCAL))
> 
> By accident pk_val_call got deleted and when I complied the above code
> using the options 
> cc -c -g, it got compiled successfully. I tried removing  -g also. Even
> then it gave success. Is this a problem with the compiler? Is there a
> fix for this that I can use.

You are using the comma operator.  In C or C++ the value of "(a, b)"
is to evaluate "a", and then to return the value of "b".  This is only
generally useful if "a" has a side-effect, like a function call.  But
it is always legal.  So the above code is correct.

If you compile with -Wall, you should get a warning along the lines of
"left-hand operand of comma expression has no effect".

Ian

[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux