"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