# New Ticket Created by  Andrew Johnson 
# Please include the string:  [perl #56110]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=56110 >


These warnings occur when compiling on Solaris, both x86 and sparc:

"src/packfile.c", line 351: warning: argument #1 is incompatible with 
prototype:
        prototype: pointer to char : "/usr/include/sys/mman.h", line 161
        argument : pointer to long
"src/packfile.c", line 878: warning: argument #1 is incompatible with 
prototype:
        prototype: pointer to char : "/usr/include/sys/mman.h", line 161
        argument : pointer to long

The sys/mman.h header file line 161 defines:

extern int munmap(caddr_t, size_t);

Note that from the above warning messages, we know that caddr_t is char*.

However the sys/mman.h file has two other definitions of munmap, depending on
some configuration macros.  These are the relevent lines:

#ifdef  __STDC__
#if (_POSIX_C_SOURCE > 2) || defined(_XPG4_2)

extern int munmap(void *, size_t);

#else   /* (_POSIX_C_SOURCE > 2) || defined(_XPG4_2) */

extern int munmap(caddr_t, size_t);

#else   /* __STDC__ */

extern int munmap();

#endif  /* __STDC__ */

I don't know what the Parrot convention is for setting these macros or I'd 
have included a patch.

- Andrew

Reply via email to