I'm decorating like crazy with PARROT_WARN_UNUSED_RESULT. It's
turning up interesting problems. Return codes are getting ignored
where I am surprised to see them getting ignored, such as:
src/pmc/array.c: In function ‘Parrot_Array_class_init’:
src/pmc/array.c:1776: warning: ignoring return value of
‘make_bufferlike_pool’, declared with attribute warn_unused_result
src/pmc/array.c:1777: warning: ignoring return value of
‘make_bufferlike_pool’, declared with attribute warn_unused_result
src/stm/backend.c: In function ‘Parrot_STM_alloc’:
src/stm/backend.c:177: warning: ignoring return value of
‘make_bufferlike_pool’, declared with attribute warn_unused_result
src/io/io.c: In function ‘PIO_flush’:
src/io/io.c:735: warning: ignoring return value of ‘PIO_flush_down’,
declared with attribute warn_unused_result
src/io/io.c: In function ‘PIO_reads’:
src/io/io.c:774: warning: ignoring return value of ‘PIO_read_down’,
declared with attribute warn_unused_result
src/io/io_buf.c
src/io/io_buf.c: In function ‘PIO_buf_seek’:
src/io/io_buf.c:800: warning: ignoring return value of
‘PIO_seek_down’, declared with attribute warn_unused_result
Please run your Configure.pl with -DHASATTRIBUTE_WARN_UNUSED_RESULT,
assuming you have a reasonably recent GCC, and take a look at the
warnings it kicks out. See what turns up.
Eventually GCC sniffing at Configure.pl time will figure out whether
HASATTRIBUTE_WARN_UNUSED_RESULT is relevant or not. For now, you
have to add it manually.
xoxo,
Andy
--
Andy Lester => [EMAIL PROTECTED] => www.petdance.com => AIM:petdance