summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--NEWS2
m---------gnulib0
-rw-r--r--src/builtin.c12
4 files changed, 16 insertions, 6 deletions
diff --git a/ChangeLog b/ChangeLog
index 601a5475..894ca8b1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2011-03-01 Eric Blake <eblake@redhat.com>
+
+ Release Version 1.4.16.
+ * gnulib: Update to latest.
+ * NEWS: Mention the release.
+ * src/builtin.c (m4_defn): Silence spurious -Wstrict-overflow
+ warnings from gcc 4.5.1 at -O2.
+
2011-02-28 Eric Blake <eblake@redhat.com>
index: fix typo in previous commit
diff --git a/NEWS b/NEWS
index d4dbb1ac..ed2f1143 100644
--- a/NEWS
+++ b/NEWS
@@ -1,6 +1,6 @@
GNU M4 NEWS - User visible changes.
-* Noteworthy changes in release 1.4.16 (2011-01-??) [?]
+* Noteworthy changes in release 1.4.16 (2011-03-01) [stable]
** Fix regressions in the `index' builtin. On glibc platforms, this
avoids false positives from a strstr bug in glibc 2.9 through 2.12;
diff --git a/gnulib b/gnulib
-Subproject 06901ea287fd2d4d8f68afab41c6dbf95a854b5
+Subproject ef05ce61b0e5354256e0096c7dc022bf09bbf1d
diff --git a/src/builtin.c b/src/builtin.c
index 8ff03e80..632ef794 100644
--- a/src/builtin.c
+++ b/src/builtin.c
@@ -889,14 +889,16 @@ m4_defn (struct obstack *obs, int argc, token_data **argv)
{
symbol *s;
builtin_func *b;
- int i;
+ unsigned int i;
if (bad_argc (argv[0], argc, 2, -1))
return;
- for (i = 1; i < argc; i++)
+ assert (0 < argc && argc <= INT_MAX);
+ for (i = 1; i < (unsigned) argc; i++)
{
- s = lookup_symbol (ARG (i), SYMBOL_LOOKUP);
+ const char *arg = ARG((int) i);
+ s = lookup_symbol (arg, SYMBOL_LOOKUP);
if (s == NULL)
continue;
@@ -912,11 +914,11 @@ m4_defn (struct obstack *obs, int argc, token_data **argv)
b = SYMBOL_FUNC (s);
if (b == m4_placeholder)
M4ERROR ((warning_status, 0, "\
-builtin `%s' requested by frozen file is not supported", ARG (i)));
+builtin `%s' requested by frozen file is not supported", arg));
else if (argc != 2)
M4ERROR ((warning_status, 0,
"Warning: cannot concatenate builtin `%s'",
- ARG (i)));
+ arg));
else
push_macro (b);
break;