aboutsummaryrefslogtreecommitdiffstats
path: root/src/buffer.c
diff options
context:
space:
mode:
authorPaul Eggert2017-11-25 16:11:43 -0800
committerPaul Eggert2017-11-25 22:48:09 -0800
commit265cee553f9d59a989d92e28865f6cc6fc02dcc9 (patch)
tree8323e09f84d004f2716cad2b2faa3072f5ce3bfe /src/buffer.c
parentdc7a97fb846cbec16a198d95903ae7a85916da9d (diff)
downloademacs-265cee553f9d59a989d92e28865f6cc6fc02dcc9.tar.gz
emacs-265cee553f9d59a989d92e28865f6cc6fc02dcc9.zip
Work around GCC bug 80776 on Fedora 27 x86
* src/buffer.c (Fgenerate_new_buffer_name): Pacify GCC 7.2.1 20170915 (Red Hat 7.2.1-2) on i686 with -Wformat-overflow -O2 by using XINT rather than XFASTINT and by adding an eassume. This works around GCC bug 80776.
Diffstat (limited to 'src/buffer.c')
-rw-r--r--src/buffer.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/buffer.c b/src/buffer.c
index d1c41380188..6e3412c3d05 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1087,7 +1087,11 @@ is first appended to NAME, to speed up finding a non-existent buffer. */)
1087 else 1087 else
1088 { 1088 {
1089 char number[sizeof "-999999"]; 1089 char number[sizeof "-999999"];
1090 int i = XFASTINT (Frandom (make_number (999999))); 1090
1091 /* Use XINT instead of XFASTINT to work around GCC bug 80776. */
1092 int i = XINT (Frandom (make_number (1000000)));
1093 eassume (0 <= i && i < 1000000);
1094
1091 AUTO_STRING_WITH_LEN (lnumber, number, sprintf (number, "-%d", i)); 1095 AUTO_STRING_WITH_LEN (lnumber, number, sprintf (number, "-%d", i));
1092 genbase = concat2 (name, lnumber); 1096 genbase = concat2 (name, lnumber);
1093 if (NILP (Fget_buffer (genbase))) 1097 if (NILP (Fget_buffer (genbase)))