Re: [AD] errno_t and strerror_s non-standard types - cmake incorrectly detects strerror_s when not present |
[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]
As per cppreference.com it's a C11 function included by string.h.
Isn't Allegro supposed to comply with C90 or C99? C99 is the new
default compile language for MinGW. http://en.cppreference.com/w/c/string/byte/strerror errno_t is nowhere to be found in MinGW. strerror and _strerror are provided in string.h on lines 81 and 98. Per MinGW 5.3.0 with mingwrt 3.22.4 and win32api 3.18.2. It's defnitiely a bug in cmake, but maybe it's a bug in MinGW as
well. I'll send a post to the mingwusers mailing list and see what
they say. As per stackoverflow http://stackoverflow.com/questions/1464711/how-to-detect-if-errno-t-is-defined , Quote : "Microsoft's All we need to do is duplicate a string returned by strerror and
store it in userdata->errmsg. strerror_r and strerror_s don't
seem necessary. But it needs to return the string too, without
causing a memory leak. Edgar On 11/30/2016 10:45 PM, SiegeLord
wrote:
We could replace the check with a compile test to be sure (see, e.g. the check for ALLEGRO_HAVE_PROCFS_ARGCV). |
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |