about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJoseph Myers <joseph@codesourcery.com>2017-08-21 21:43:32 +0000
committerJoseph Myers <joseph@codesourcery.com>2017-08-21 21:43:32 +0000
commitea99fcd03875caf59ceda354ec8ed813bb5a5f79 (patch)
tree558164d63a8b30ea49b0735ece07992ed5233bf6
parenta8410a5fc9305c316633a5a3033f3927b759be35 (diff)
downloadglibc-ea99fcd03875caf59ceda354ec8ed813bb5a5f79.tar.gz
glibc-ea99fcd03875caf59ceda354ec8ed813bb5a5f79.tar.xz
glibc-ea99fcd03875caf59ceda354ec8ed813bb5a5f79.zip
Fix GCC 7 build of k_standard.c.
This patch adds a default case to k_standard.c that calls
__builtin_unreachable, to avoid an uninitialized variable error from
GCC 7 (reported in
<https://sourceware.org/ml/libc-alpha/2017-08/msg01012.html>).

Tested for x86_64 (with GCC 7).

	* sysdeps/ieee754/k_standard.c (__kernel_standard): Add default
	case calling __builtin_unreachable.
-rw-r--r--ChangeLog5
-rw-r--r--sysdeps/ieee754/k_standard.c3
2 files changed, 8 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 3d2afd95ef..bf3e893f25 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2017-08-21  Joseph Myers  <joseph@codesourcery.com>
+
+	* sysdeps/ieee754/k_standard.c (__kernel_standard): Add default
+	case calling __builtin_unreachable.
+
 2017-08-21  Adhemerval Zanella  <adhemerval.zanella@linaro.org>
 
 	* libio/ioopen.c (_IO_waitpid): Replace waitpid_not_cancel with
diff --git a/sysdeps/ieee754/k_standard.c b/sysdeps/ieee754/k_standard.c
index 0a0201f1d5..8f906bd604 100644
--- a/sysdeps/ieee754/k_standard.c
+++ b/sysdeps/ieee754/k_standard.c
@@ -939,6 +939,9 @@ __kernel_standard(double x, double y, int type)
 		break;
 
 		/* #### Last used is 50/150/250 ### */
+
+	    default:
+		__builtin_unreachable ();
 	}
 	return exc.retval;
 }