# 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