2
0
mirror of git://gcc.gnu.org/git/gcc.git synced 2025-04-10 06:40:29 +08:00

re PR libfortran/47972 (error.c:158:7: warning: return makes pointer from integer without a cast)

PR libfortran/47972
	* runtime/error.c (gf_strerror): Silence warning.

From-SVN: r181180
This commit is contained in:
Francois-Xavier Coudert 2011-11-08 21:58:47 +00:00 committed by François-Xavier Coudert
parent e948157df8
commit 6ef982714c
2 changed files with 12 additions and 13 deletions
libgfortran

@ -1,3 +1,8 @@
2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR libfortran/47972
* runtime/error.c (gf_strerror): Silence warning.
2011-11-08 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
PR libfortran/47970

@ -219,19 +219,13 @@ gf_strerror (int errnum,
size_t buflen __attribute__((unused)))
{
#ifdef HAVE_STRERROR_R
/* TODO: How to prevent the compiler warning due to strerror_r of
the untaken branch having the wrong return type? */
if (__builtin_classify_type (strerror_r (0, buf, 0)) == 5)
{
/* GNU strerror_r() */
return strerror_r (errnum, buf, buflen);
}
else
{
/* POSIX strerror_r () */
strerror_r (errnum, buf, buflen);
return buf;
}
return
__builtin_choose_expr (__builtin_classify_type (strerror_r (0, buf, 0))
== 5,
/* GNU strerror_r() */
strerror_r (errnum, buf, buflen),
/* POSIX strerror_r () */
(strerror_r (errnum, buf, buflen), buf));
#else
/* strerror () is not necessarily thread-safe, but should at least
be available everywhere. */