Curious why you are calling this a compiler bug. I am not a POSIX nerd, but it looks as if the old code was compiler independent, and now it is dependent on something.

Just one difference in od.c that shows a change in identifer conventions.

What is the origin of the _GL_* identifiers? "Unix" or "Not Unix"?

from diff -u ./coreutils-8.20/src/od.c ./coreutils-8.22/src/od.c

@@ -1050,8 +1056,8 @@
 }
 
 static void
-format_address_none (uintmax_t address ATTRIBUTE_UNUSED,
-                     char c ATTRIBUTE_UNUSED)
+format_address_none (uintmax_t address _GL_UNUSED,
+                     char c _GL_UNUSED)
 {
 }
 
I also note that the identifiers involved go back to at least coreutils 8.9 in ./lib/ftoastr.h

So, this has been known, and managed, for a long time.

It is your code, so you can call it a bug if you wish - I am thinking, for now, that it is a dependency on something not found by default when using the xlc compilers. But I may be wrong :p@me


On Fri, Jun 13, 2014 at 5:37 PM, Pádraig Brady <P@draigbrady.com> wrote:
On 06/13/2014 02:38 PM, Michael Felt wrote:

> make[2]: Entering directory `/data/prj/gnu/coreutils/coreutils-8.22'
>   CC       src/od.o
> "src/od.c", line 432.47: 1506-045 (S) Undeclared identifier
> _GL_FLT_PREC_BOUND.

>   CC       src/getlimits.o

> "src/getlimits.c", line 112.53: 1506-045 (S) Undeclared identifier
> _GL_LDBL_PREC_BOUND.


I think Paul has already avoided this AIX compiler bug,
and so this will be fixed in the upcoming coreutils-8.23
http://git.sv.gnu.org/gitweb/?p=gnulib.git;a=commitdiff;h=6f053ff1

thanks,
Pádraig.