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




Reply via email to