OpenMP vs. <math.h>
Yaakov (Cygwin/X)
yselkowitz@users.sourceforge.net
Tue Jan 12 21:08:00 GMT 2010
On 12/01/2010 13:29, Dave Korn wrote:
> Why is the solution to penalise all the correct and valid C++ code out there
> instead of to fix the few buggy bits and pieces that don't conform to the
> language standard?
Actually, I proposed two solutions to the Cygwin list last week, one of
them being to fix the OpenMP headers. But it was pointed out that this
would affect all Newlib platforms and apparently does not affect Linux
or other platforms which support OpenMP.
But thinking about this further, there's just no way that these macros
would ever be safe with C++. Take this for a simple example:
$ cat > log2.cxx <<_EOF_
#include <cmath>
#include <iostream>
int
main(void)
{
std::cout << ::log2(42) << std::endl;
return 0;
}
_EOF_
$ g++ -c log2.cxx
log2.cxx: In function ‘int main()’:
log2.cxx:8: error: expected id-expression before ‘(’ token
So this isn't just a problem with OpenMP, this is a potential problem
with all C++ code.
Yaakov
Cygwin/X
More information about the Newlib
mailing list