Michael Clark
2015-06-16 16:04:52 UTC
With intel compilers, I've observed that the configure check for strdup
(lib/make/configure.in line 494, using CCTK_CHECK_HAS_PROTOTYPE) can fail
despite strdup being defined in string.h.
The test for this seems to rely on compilation of code with "int strdup()"
forward declared failing if the strdup prototype already exists, but on two
machines I'm using currently, the intel compiler only generates a
*warning*, not an *error*, and considers compilation to have "succeeded."
Since compilation "succeeded", the test fails, even though strdup's
prototype is available.
This can be worked around by adding the flag -diag-error 147 (the id code
for this diagnostic). Is this what end-users should be expected to do?
(lib/make/configure.in line 494, using CCTK_CHECK_HAS_PROTOTYPE) can fail
despite strdup being defined in string.h.
The test for this seems to rely on compilation of code with "int strdup()"
forward declared failing if the strdup prototype already exists, but on two
machines I'm using currently, the intel compiler only generates a
*warning*, not an *error*, and considers compilation to have "succeeded."
Since compilation "succeeded", the test fails, even though strdup's
prototype is available.
This can be worked around by adding the flag -diag-error 147 (the id code
for this diagnostic). Is this what end-users should be expected to do?