bug-tar
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-tar] tar 1.27.1 compile error on AIX 7.1 TL2 SP3 and AIX 6.1 TL


From: Paul Eggert
Subject: Re: [Bug-tar] tar 1.27.1 compile error on AIX 7.1 TL2 SP3 and AIX 6.1 TL8 SP3 with IBM XL C/C++
Date: Tue, 24 Dec 2013 09:54:27 -0800
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0

address@hidden wrote:
> tar.output is kinda big, and so is the enum to get the SYSINT_BUFSIZE 
> value...

True, but SYSINT_BUFSIZE is being declared.
And it's being used on the next line
(line 4602 of tar-1.output).

So why is SYSINT_BUFSIZE "undeclared" later?  It's
a global identifier; once that's declared,
it should never become undeclared.

Could be a compiler bug.

What happens if you remove every line starting with "#"
from tar-1.output, put the result into a file called
"foo.c", and compile foo.c?  Here's what happens on
my Ubuntu 13.10 host when I run "gcc -c foo.c"
(these warnings may be due to architectural differences).
I don't see a problem with SYSINT_BUFSIZE here.

foo.c: In function ‘append_incremental_renames’:
foo.c:4706:170: warning: cast from pointer to integer of different size 
[-Wpointer-to-int-cast]
   ( (&stk)->temp.tempint = (char *) (0) - (char *) (&stk)->chunk, 
((((&stk)->temp.tempint > 0 && (&stk)->temp.tempint < (&stk)->chunk_limit - 
(char *) (&stk)->chunk)) ? (int) ((&stk)->next_free = (&stk)->object_base = 
(&stk)->temp.tempint + (char *) (&stk)->chunk) : (((obstack_free) ((&stk), 
(&stk)->temp.tempint + (char *) (&stk)->chunk), 0), 0)));
                                                                                
                                                                                
          ^
foo.c: In function ‘read_incr_db_2’:
foo.c:4942:180: warning: cast from pointer to integer of different size 
[-Wpointer-to-int-cast]
       ( (&stk)->temp.tempint = (char *) (content) - (char *) (&stk)->chunk, 
((((&stk)->temp.tempint > 0 && (&stk)->temp.tempint < (&stk)->chunk_limit - 
(char *) (&stk)->chunk)) ? (int) ((&stk)->next_free = (&stk)->object_base = 
(&stk)->temp.tempint + (char *) (&stk)->chunk) : (((obstack_free) ((&stk), 
(&stk)->temp.tempint + (char *) (&stk)->chunk), 0), 0)));
                                                                                
                                                                                
                    ^




reply via email to

[Prev in Thread] Current Thread [Next in Thread]