I am using gcc version 3.3.3 in Cygwin, and I am facing the following
I have a piece of code that calls function `round()':
double x, y;
y = round(x);
When I compile this code with option `std=c99', I get this error
warning: implicit declaration of function `round'
When I compile this code with option `std=gnu99', I no longer get that
According to gcc manual
* `std=c99' => ISO C99
* `std=gnu99' => ISO C99 plus GNU extensions
Well, the problem is that function `round()' is _not_ a GNU extension
to C99: `round()' is part of C99 (see section 22.214.171.124 of the C99
So, why does calling `round()' require `std=gnu99'? Why is `std=c99'
Note: I tried with and without `_ISOC99_SOURCE' defined, but that
didn't make any difference.