Fixes the following (lcc) warnings:
- interpreter.c:470: warning: expression with no effect elided (related to the way warnings flags were defined) - misc.c:352: warning: unreachable code misc.c:483: warning: unreachable code (i introduced these with some overzealous de-linting) - numerous warnings like this: io/io_unix.c:383: warning: conversion from pointer to void' to pointer to pointer to struct _ParrotIO function(pointer to struct Parrot_Interp,pointer to struct _ParrotIOLayer,pointer to const char,pointer to const char,pointer to pointer to void)' is compiler dependent Fixes the following nits: - remove bad indenting (tabs) in the includes [josh-005.patch] Index: config_h.in =================================================================== RCS file: /home/perlcvs/parrot/config_h.in,v retrieving revision 1.21 diff -u -r1.21 config_h.in --- config_h.in 16 Feb 2002 09:20:43 -0000 1.21 +++ config_h.in 18 Feb 2002 18:46:20 -0000 @@ -56,7 +56,7 @@ #endif #define PARROT_VERSION "${VERSION}" -#define PARROT_CONFIG_DATE "${configdate}" +#define PARROT_CONFIG_DATE "${configdate}" #define PARROT_MAJOR_VERSION ${MAJOR} #define PARROT_MINOR_VERSION ${MINOR} #define PARROT_PATCH_VERSION ${PATCH} @@ -72,7 +72,7 @@ typedef void * Parrot_Sync; /* These are temporary until we put them in the proper places. */ -struct Parrot_Interp; typedef struct Parrot_Interp * Parrot; +struct Parrot_Interp; typedef struct Parrot_Interp * Parrot; struct PackFile; typedef struct PackFile * Parrot_PackFile; #endif Index: misc.c =================================================================== RCS file: /home/perlcvs/parrot/misc.c,v retrieving revision 1.13 diff -u -r1.13 misc.c --- misc.c 18 Feb 2002 08:29:25 -0000 1.13 +++ misc.c 18 Feb 2002 18:46:21 -0000 @@ -347,7 +347,6 @@ info.phase = PHASE_TERM; goto AGAIN; } - break; info.phase = PHASE_TERM; continue; @@ -478,7 +477,6 @@ break; } - break; info.phase = PHASE_DONE; } Index: include/parrot/embed.h =================================================================== RCS file: /home/perlcvs/parrot/include/parrot/embed.h,v retrieving revision 1.6 diff -u -r1.6 embed.h --- include/parrot/embed.h 16 Feb 2002 09:21:10 -0000 1.6 +++ include/parrot/embed.h 18 Feb 2002 18:46:21 -0000 @@ -14,9 +14,9 @@ #if !defined(PARROT_EMBED_H_GUARD) #define PARROT_EMBED_H_GUARD -#include "parrot/config.h" /* PARROT_VERSION, PARROT_JIT_CAPABLE... */ +#include "parrot/config.h" /* PARROT_VERSION, PARROT_JIT_CAPABLE... */ #include "parrot/interpreter.h" /* give us the interpreter flags */ -#include "parrot/warnings.h" /* give us the warnings flags */ +#include "parrot/warnings.h" /* give us the warnings flags */ typedef int Parrot_flag; typedef int Parrot_warnclass; Index: include/parrot/exceptions.h =================================================================== RCS file: /home/perlcvs/parrot/include/parrot/exceptions.h,v retrieving revision 1.14 diff -u -r1.14 exceptions.h --- include/parrot/exceptions.h 16 Feb 2002 04:15:15 -0000 1.14 +++ include/parrot/exceptions.h 18 Feb 2002 18:46:21 -0000 @@ -19,7 +19,7 @@ void do_panic(struct Parrot_Interp *interpreter, const char *message, const char *file, int line); #define PANIC(message)\ - do_panic(interpreter, message, __FILE__, __LINE__) + do_panic(interpreter, message, __FILE__, __LINE__) /* Exception Types */ #define NO_REG_FRAMES 1 Index: include/parrot/interpreter.h =================================================================== RCS file: /home/perlcvs/parrot/include/parrot/interpreter.h,v retrieving revision 1.28 diff -u -r1.28 interpreter.h --- include/parrot/interpreter.h 5 Feb 2002 09:20:16 -0000 1.28 +++ include/parrot/interpreter.h 18 Feb 2002 18:46:22 -0000 @@ -22,19 +22,18 @@ #include "parrot/oplib.h" typedef struct warnings_t { - INTVAL classes; + INTVAL classes; } * Warnings; #if 0 typedef STRING_FUNCS * (str_func_t)(); - - opcode_t *(**op_func_table)(); /* Opcode function table */ - STRING_FUNCS *(**string_funcs)(); /* String function table */ +typedef opcode_t *(**op_func_table)(); /* Opcode function table */ +typedef STRING_FUNCS *(**string_funcs)(); /* String function table */ #endif typedef struct ProfData { - INTVAL numcalls; - FLOATVAL time; + INTVAL numcalls; + FLOATVAL time; } ProfData; @@ -43,10 +42,10 @@ struct NReg num_reg; struct SReg string_reg; struct PReg pmc_reg; - struct IRegChunk *int_reg_top; /* Current top chunk of int reg stack */ - struct NRegChunk *num_reg_top; /* Current top chunk of the float reg stack */ - struct SRegChunk *string_reg_top; /* Current top chunk of the string stack */ - struct PRegChunk *pmc_reg_top; /* Current top chunk of the PMC stack */ + struct IRegChunk *int_reg_top; /* Current top chunk of int reg stack */ + struct NRegChunk *num_reg_top; /* Current top chunk of the float reg stack +*/ + struct SRegChunk *string_reg_top; /* Current top chunk of the string stack */ + struct PRegChunk *pmc_reg_top; /* Current top chunk of the PMC stack */ struct IRegChunk *int_reg_base; /* base of the int reg stack */ struct NRegChunk *num_reg_base; /* Base of the float reg stack */ struct SRegChunk *string_reg_base; /* Base of the string stack */ @@ -57,34 +56,37 @@ /* variable area */ struct Arenas *arena_base; /* Pointer to this */ /* interpreter's arena */ - void *piodata; /* interpreter's IO system */ + void *piodata; /* interpreter's IO system */ op_lib_t * op_lib; /* Opcode library */ - UINTVAL op_count; /* The number of ops */ + UINTVAL op_count; /* The number of ops */ op_info_t * op_info_table; /* Opcode info table (name, nargs, arg types) */ op_func_t * op_func_table; - + #if 0 str_func_t * string_funcs; #endif + + INTVAL flags; /* Various interpreter flags that + * signal that runops should do + * something */ - INTVAL flags; /* Various interpreter flagBut whBut what - that signal that runops - should do something */ - - Warnings warns; /* Keeps track of what warnings have been activated */ + Warnings warns; /* Keeps track of what warnings + * have been activated */ - ProfData* profile; /* The array where we keep the profile counters */ + ProfData* profile; /* The array where we keep the + * profile counters */ INTVAL resume_flag; size_t resume_offset; struct PackFile * code; /* The code we are executing */ void ** prederef_code; /* The predereferenced code */ - INTVAL current_line; /* Which line we're executing in the source */ - void *current_file; /* The file we're currently in */ - void *current_package; /* The package we're currently in */ + INTVAL current_line; /* Which line we're executing in the + * source */ + void *current_file; /* The file we're currently in */ + void *current_package; /* The package we're currently in */ UINTVAL string_count; UINTVAL pmc_count; }; Index: include/parrot/io.h =================================================================== RCS file: /home/perlcvs/parrot/include/parrot/io.h,v retrieving revision 1.12 diff -u -r1.12 io.h --- include/parrot/io.h 6 Feb 2002 04:14:53 -0000 1.12 +++ include/parrot/io.h 18 Feb 2002 18:46:22 -0000 @@ -192,7 +192,7 @@ ParrotIOLayer * (*New)(ParrotIOLayer * proto); void (*Delete)(ParrotIOLayer * l); INTVAL (*Pushed)(ParrotIOLayer * l, ParrotIO * io); - INTVAL (*Popped)(ParrotIOLayer * l, ParrotIO * io); + INTVAL (*Popped)(ParrotIOLayer * l, ParrotIO * io); ParrotIO * (*Open)(theINTERP, ParrotIOLayer * l, const char * name, UINTVAL flags); ParrotIO * (*Open2_Unused)(theINTERP); @@ -236,6 +236,30 @@ ParrotIO * io); }; +/* these are defined rather than using NULL because strictly-speaking, ANSI C + * doesn't like conversions between function and non-function pointers. */ +#define PIO_null_push_layer (INTVAL (*)(ParrotIOLayer *, ParrotIO *))0 +#define PIO_null_pop_layer (INTVAL (*)(ParrotIOLayer *, ParrotIO *))0 +#define PIO_null_open (ParrotIO * (*)(theINTERP, ParrotIOLayer *, const char*, +UINTVAL))0 +#define PIO_null_open2 (ParrotIO * (*)(theINTERP))0 +#define PIO_null_open3 (ParrotIO * (*)(theINTERP))0 +#define PIO_null_open_async (ParrotIO * (*)(theINTERP, ParrotIOLayer *, const char *, +const char *, DummyCodeRef *))0 +#define PIO_null_fdopen (ParrotIO * (*)(theINTERP, ParrotIOLayer *, PIOHANDLE, +UINTVAL))0 +#define PIO_null_close (INTVAL (*)(theINTERP, ParrotIOLayer *, ParrotIO *))0 +#define PIO_null_write (INTVAL (*)(theINTERP, ParrotIOLayer *, ParrotIO *, const void +*, size_t))0 +#define PIO_null_write_async (size_t (*)(theINTERP, ParrotIOLayer *, ParrotIO *, void +*, size_t, DummyCodeRef *))0 +#define PIO_null_read (INTVAL (*)(theINTERP, ParrotIOLayer *, ParrotIO *, const void +*, size_t))0 +#define PIO_null_read_async (size_t (*)(theINTERP, ParrotIOLayer *, ParrotIO *, void +*, size_t, DummyCodeRef *))0 +#define PIO_null_flush (INTVAL (*)(theINTERP, ParrotIOLayer *, ParrotIO *))0 +#define PIO_null_seek (INTVAL (*)(theINTERP, ParrotIOLayer *, ParrotIO *, INTVAL, +INTVAL, INTVAL))0 +#define PIO_null_tell (PIOOFF_T (*)(theINTERP, ParrotIOLayer *, ParrotIO *))0 +#define PIO_null_setbuf (INTVAL (*)(theINTERP, ParrotIOLayer *, ParrotIO *, size_t))0 +#define PIO_null_setlinebuf (INTVAL (*)(theINTERP, ParrotIOLayer *, ParrotIO *))0 +#define PIO_null_getcount (INTVAL (*)(theINTERP, ParrotIOLayer *))0 +#define PIO_null_fill (INTVAL (*)(theINTERP, ParrotIOLayer *))0 +#define PIO_null_puts (INTVAL (*)(theINTERP, ParrotIOLayer *, ParrotIO *, const char +*))0 +#define PIO_null_gets (INTVAL (*)(theINTERP, ParrotIOLayer *, ParrotIO *, char *, +INTVAL))0 +#define PIO_null_eof (INTVAL (*)(theINTERP, ParrotIOLayer *, ParrotIO *))0 extern INTVAL pio_errno; Index: include/parrot/parrot.h =================================================================== RCS file: /home/perlcvs/parrot/include/parrot/parrot.h,v retrieving revision 1.26 diff -u -r1.26 parrot.h --- include/parrot/parrot.h 18 Feb 2002 08:26:10 -0000 1.26 +++ include/parrot/parrot.h 18 Feb 2002 18:46:22 -0000 @@ -33,27 +33,27 @@ /*#include <types.h> */ #ifdef WIN32 -# include <io.h> +# include <io.h> #endif #ifdef HAS_HEADER_UNISTD -# include <unistd.h> +# include <unistd.h> #endif #ifdef HAS_HEADER_SYSMMAN -# include <sys/mman.h> +# include <sys/mman.h> #endif #ifdef HAS_HEADER_SYSTIME -# include <sys/time.h> +# include <sys/time.h> #endif #ifdef HAS_HEADER_MATH -# include <math.h> +# include <math.h> #endif #ifdef HAS_HEADER_FCNTL -# include <fcntl.h> +# include <fcntl.h> #endif #include <sys/types.h> Index: include/parrot/pmc.h =================================================================== RCS file: /home/perlcvs/parrot/include/parrot/pmc.h,v retrieving revision 1.17 diff -u -r1.17 pmc.h --- include/parrot/pmc.h 1 Feb 2002 00:03:42 -0000 1.17 +++ include/parrot/pmc.h 18 Feb 2002 18:46:22 -0000 @@ -59,18 +59,18 @@ /* The rest of the flags are for use by Parrot */ /* Set if the PMC has a destroy method that must be called */ - PMC_active_destroy_FLAG = 2 << 8, + PMC_active_destroy_FLAG = 2 << 8, /* Set if the PMC can hold multiple PMCs. (Hash, array, list, whatever) */ - PMC_is_container_FLAG = 2 << 9, + PMC_is_container_FLAG = 2 << 9, /* Set to true if the PMC data pointer points to something that looks like a string or buffer pointer */ - PMC_is_buffer_ptr_FLAG = 2 << 10, + PMC_is_buffer_ptr_FLAG = 2 << 10, /* Set to true if the data pointer points to a PMC */ - PMC_is_PMC_ptr_FLAG = 2 << 11, + PMC_is_PMC_ptr_FLAG = 2 << 11, /* Set to true if the PMC has a private GC function. For PMCs the GC system can't snoop into */ - PMC_private_GC_FLAG = 2 << 12 + PMC_private_GC_FLAG = 2 << 12 } PMC_flags; /* XXX add various bit test macros once we have need of them */ Index: include/parrot/resources.h =================================================================== RCS file: /home/perlcvs/parrot/include/parrot/resources.h,v retrieving revision 1.7 diff -u -r1.7 resources.h --- include/parrot/resources.h 14 Feb 2002 23:28:39 -0000 1.7 +++ include/parrot/resources.h 18 Feb 2002 18:46:23 -0000 @@ -36,11 +36,11 @@ void buffer_lives(Buffer *); struct PMC_Arena { - UINTVAL free; /* Count of PMCs free in this arena */ + UINTVAL free; /* Count of PMCs free in this arena */ UINTVAL used; /* Count of PMCs used in this arena */ struct PMC_Arena *prev; struct PMC_Arena *next; - PMC *next_PMC; /* Next PMC in the arena ready to allocate */ + PMC *next_PMC; /* Next PMC in the arena ready to allocate */ UINTVAL *GC_data; /* Actually an array with one element per PMC */ }; Index: include/parrot/rx.h =================================================================== RCS file: /home/perlcvs/parrot/include/parrot/rx.h,v retrieving revision 1.11 diff -u -r1.11 rx.h --- include/parrot/rx.h 18 Feb 2002 08:26:10 -0000 1.11 +++ include/parrot/rx.h 18 Feb 2002 18:46:23 -0000 @@ -19,25 +19,24 @@ #include "parrot/rxstacks.h" typedef struct bitmap_t { - char *bmp; - STRING *bigchars; + char *bmp; + STRING *bigchars; } * Bitmap; typedef enum rxflags { - enum_rxflags_none=0, - enum_rxflags_case_insensitive=1, - enum_rxflags_single_line=2, - enum_rxflags_multiline=4, - enum_rxflags_reverse=8, - - - - enum_rxflags_is_copy=128 + enum_rxflags_none=0, + enum_rxflags_case_insensitive=1, + enum_rxflags_single_line=2, + enum_rxflags_multiline=4, + enum_rxflags_reverse=8, + + + enum_rxflags_is_copy=128 } rxflags; typedef enum rxdirection { - enum_rxdirection_forwards=1, - enum_rxdirection_backwards=-1 + enum_rxdirection_forwards=1, + enum_rxdirection_backwards=-1 } rxdirection; extern const INTVAL RX_MARK; @@ -49,21 +48,21 @@ #define cstr2pstr(cstr) string_make(interpreter, cstr, strlen(cstr), 0, 0, 0) typedef struct rxinfo { - STRING *string; - INTVAL index; - INTVAL startindex; - BOOLVAL success; - - rxflags flags; - UINTVAL minlength; - rxdirection whichway; - - PMC *groupstart; - PMC *groupend; - - opcode_t *substfunc; - - rxStack stack; + STRING *string; + INTVAL index; + INTVAL startindex; + BOOLVAL success; + + rxflags flags; + UINTVAL minlength; + rxdirection whichway; + + PMC *groupstart; + PMC *groupend; + + opcode_t *substfunc; + + rxStack stack; } rxinfo; @@ -72,7 +71,7 @@ INLINE BOOLVAL rx_is_word_character(struct Parrot_Interp *, INTVAL ch); INLINE BOOLVAL rx_is_number_character(struct Parrot_Interp *, INTVAL ch); INLINE BOOLVAL rx_is_whitespace_character(struct Parrot_Interp *, INTVAL ch); -INLINE BOOLVAL rx_is_newline(struct Parrot_Interp *, INTVAL ch); +INLINE BOOLVAL rx_is_newline(struct Parrot_Interp *, INTVAL ch); Bitmap bitmap_make(struct Parrot_Interp *, STRING*); Bitmap bitmap_make_cstr(struct Parrot_Interp *, const char*); @@ -80,32 +79,32 @@ BOOLVAL bitmap_match(Bitmap, INTVAL); void bitmap_destroy(Bitmap); -#define RX_dUNPACK(pmc) rxinfo *rx=(rxinfo *)pmc->data -#define RxCurChar(rx) (char)string_ord(rx->string, rx->index) +#define RX_dUNPACK(pmc) rxinfo *rx=(rxinfo *)pmc->data +#define RxCurChar(rx) (char)string_ord(rx->string, rx->index) -#define RxAdvance(rx) RxAdvanceX(rx, 1) -#define RxAdvanceX(rx, x) rx->index += x * rx->whichway +#define RxAdvance(rx) RxAdvanceX(rx, 1) +#define RxAdvanceX(rx, x) rx->index += x * rx->whichway -#define RxCaseInsensitive_on(rx) RxFlagOn(rx, enum_rxflags_case_insensitive) -#define RxCaseInsensitive_off(rx) RxFlagOff(rx, enum_rxflags_case_insensitive) -#define RxCaseInsensitive_test(rx) RxFlagTest(rx, enum_rxflags_case_insensitive) +#define RxCaseInsensitive_on(rx) RxFlagOn(rx, enum_rxflags_case_insensitive) +#define RxCaseInsensitive_off(rx) RxFlagOff(rx, enum_rxflags_case_insensitive) +#define RxCaseInsensitive_test(rx) RxFlagTest(rx, enum_rxflags_case_insensitive) -#define RxSingleLine_on(rx) RxFlagOn(rx, enum_rxflags_single_line) -#define RxSingleLine_off(rx) RxFlagOff(rx, enum_rxflags_single_line) -#define RxSingleLine_test(rx) RxFlagTest(rx, enum_rxflags_single_line) +#define RxSingleLine_on(rx) RxFlagOn(rx, enum_rxflags_single_line) +#define RxSingleLine_off(rx) RxFlagOff(rx, enum_rxflags_single_line) +#define RxSingleLine_test(rx) RxFlagTest(rx, enum_rxflags_single_line) -#define RxMultiline_on(rx) RxFlagOn(rx, enum_rxflags_multiline) -#define RxMultiline_off(rx) RxFlagOff(rx, enum_rxflags_multiline) -#define RxMultiline_test(rx) RxFlagTest(rx, enum_rxflags_multiline) +#define RxMultiline_on(rx) RxFlagOn(rx, enum_rxflags_multiline) +#define RxMultiline_off(rx) RxFlagOff(rx, enum_rxflags_multiline) +#define RxMultiline_test(rx) RxFlagTest(rx, enum_rxflags_multiline) -#define RxReverse_on(rx) RxFlagOn(rx, enum_rxflags_reverse) -#define RxReverse_off(rx) RxFlagOff(rx, enum_rxflags_reverse) -#define RxReverse_test(rx) RxFlagTest(rx, enum_rxflags_reverse) +#define RxReverse_on(rx) RxFlagOn(rx, enum_rxflags_reverse) +#define RxReverse_off(rx) RxFlagOff(rx, enum_rxflags_reverse) +#define RxReverse_test(rx) RxFlagTest(rx, enum_rxflags_reverse) -#define RxFlagOn(rx, flag) (rx->flags |= flag) -#define RxFlagOff(rx, flag) (rx->flags &= ~flag) -#define RxFlagTest(rx, flag) (rx->flags & flag) +#define RxFlagOn(rx, flag) (rx->flags |= flag) +#define RxFlagOff(rx, flag) (rx->flags &= ~flag) +#define RxFlagTest(rx, flag) (rx->flags & flag) -#define RxFlagsOff(rx) rx->flags = enum_rxflags_none +#define RxFlagsOff(rx) rx->flags = enum_rxflags_none #endif /* PARROT_RX_H_GUARD */ Index: include/parrot/string.h =================================================================== RCS file: /home/perlcvs/parrot/include/parrot/string.h,v retrieving revision 1.27 diff -u -r1.27 string.h --- include/parrot/string.h 16 Feb 2002 09:21:10 -0000 1.27 +++ include/parrot/string.h 18 Feb 2002 18:46:23 -0000 @@ -44,16 +44,16 @@ /* Buffer flags */ typedef enum BUFFER_flag { /* The contents of the buffer can't be moved by the GC */ - BUFFER_immobile_FLAG = 2 << 0, + BUFFER_immobile_FLAG = 2 << 0, /* Private flag for the GC system. Set if the buffer's in use as far as the GC's concerned */ - BUFFER_GC_FLAG = 2 << 1, + BUFFER_GC_FLAG = 2 << 1, /* Marks the contents as shared */ - BUFFER_shared_FLAG = 2 << 2, + BUFFER_shared_FLAG = 2 << 2, /* Mark the contents as Copy on write */ - BUFFER_COW_FLAG = 2 << 3, + BUFFER_COW_FLAG = 2 << 3, /* Mark the buffer as pointing to system memory */ - BUFFER_sysmem_FLAG = 2 << 4 + BUFFER_sysmem_FLAG = 2 << 4 } BUFFER_flags; #define STRING struct parrot_string_t Index: include/parrot/unicode.h =================================================================== RCS file: /home/perlcvs/parrot/include/parrot/unicode.h,v retrieving revision 1.1 diff -u -r1.1 unicode.h --- include/parrot/unicode.h 8 Oct 2001 07:49:03 -0000 1.1 +++ include/parrot/unicode.h 18 Feb 2002 18:46:23 -0000 @@ -43,8 +43,8 @@ ((low) - UNICODE_LOW_SURROGATE_FIRST) + 0x10000u) #define UNISKIP(uv) ( (uv) < 0x80 ? 1 : \ - (uv) < 0x800 ? 2 : \ - (uv) < 0x10000 ? 3 : 4 ) + (uv) < 0x800 ? 2 : \ + (uv) < 0x10000 ? 3 : 4 ) #define UTF16SKIP(s) ( UNICODE_IS_HIGH_SURROGATE(*s) ? 2 : 1 ) @@ -65,7 +65,7 @@ */ #define UTF8_IS_START(c) ((c) >= 0xC0u && (c) <= 0xFDu) -#define UTF8_IS_CONTINUATION(c) ((c) >= 0x80u && (c) <= 0xBFu) +#define UTF8_IS_CONTINUATION(c) ((c) >= 0x80u && (c) <= 0xBFu) #define UTF8_IS_CONTINUED(c) ((c) & 0x80u) #define UTF8_START_MARK(len) (0xFEu << (7-len)) Index: include/parrot/warnings.h =================================================================== RCS file: /home/perlcvs/parrot/include/parrot/warnings.h,v retrieving revision 1.2 diff -u -r1.2 warnings.h --- include/parrot/warnings.h 18 Feb 2002 08:29:27 -0000 1.2 +++ include/parrot/warnings.h 18 Feb 2002 18:46:23 -0000 @@ -1,18 +1,18 @@ #if !defined(PARROT_WARNINGS_H_GUARD) #define PARROT_WARNINGS_H_GUARD -#define PARROT_WARNINGS_ALL_FLAG -1 -#define PARROT_WARNINGS_NONE_FLAG 0 -#define PARROT_WARNINGS_UNDEF_FLAG 1 -#define PARROT_WARNINGS_IO_FLAG 2 +#define PARROT_WARNINGS_ALL_FLAG 0xFF +#define PARROT_WARNINGS_NONE_FLAG 0x00 +#define PARROT_WARNINGS_UNDEF_FLAG 0x01 +#define PARROT_WARNINGS_IO_FLAG 0x02 #if defined(PARROT_IN_CORE) #include "parrot/parrot.h" -#define PARROT_WARNINGS_on(interp, flag) interp->warns->classes |= flag -#define PARROT_WARNINGS_off(interp, flag) interp->warns->classes &= ~flag -#define PARROT_WARNINGS_test(interp, flag) interp->warns->classes & flag +#define PARROT_WARNINGS_on(interp, flag) interp->warns->classes |= flag +#define PARROT_WARNINGS_off(interp, flag) interp->warns->classes &= ~flag +#define PARROT_WARNINGS_test(interp, flag) interp->warns->classes & flag INTVAL Parrot_warn(struct Parrot_Interp *, INTVAL warnclass, const char* message, ...); Index: io/io_stdio.c =================================================================== RCS file: /home/perlcvs/parrot/io/io_stdio.c,v retrieving revision 1.12 diff -u -r1.12 io_stdio.c --- io/io_stdio.c 18 Feb 2002 08:26:12 -0000 1.12 +++ io/io_stdio.c 18 Feb 2002 18:46:23 -0000 @@ -342,28 +342,28 @@ PIO_stdio_init, PIO_base_new_layer, PIO_base_delete_layer, - NULL, - NULL, + PIO_null_push_layer, + PIO_null_pop_layer, PIO_stdio_open, - NULL, - NULL, - NULL, + PIO_null_open2, + PIO_null_open3, + PIO_null_open_async, PIO_stdio_fdopen, PIO_stdio_close, PIO_stdio_write, - NULL, + PIO_null_write_async, PIO_stdio_read, - NULL, - NULL, - NULL, - NULL, + PIO_null_read_async, + PIO_null_flush, + PIO_null_seek, + PIO_null_tell, PIO_stdio_setbuf, PIO_stdio_setlinebuf, - NULL, - NULL, + PIO_null_getcount, + PIO_null_fill, PIO_stdio_puts, - NULL, - NULL + PIO_null_gets, + PIO_null_eof }; Index: io/io_unix.c =================================================================== RCS file: /home/perlcvs/parrot/io/io_unix.c,v retrieving revision 1.9 diff -u -r1.9 io_unix.c --- io/io_unix.c 18 Feb 2002 08:26:12 -0000 1.9 +++ io/io_unix.c 18 Feb 2002 18:46:23 -0000 @@ -375,28 +375,28 @@ PIO_unix_init, PIO_base_new_layer, PIO_base_delete_layer, - NULL, - NULL, + PIO_null_push_layer, + PIO_null_pop_layer, PIO_unix_open, - NULL, - NULL, - NULL, + PIO_null_open2, + PIO_null_open3, + PIO_null_open_async, PIO_unix_fdopen, PIO_unix_close, PIO_unix_write, - NULL, + PIO_null_write_async, PIO_unix_read, - NULL, - NULL, + PIO_null_read_async, + PIO_null_flush, PIO_unix_seek, PIO_unix_tell, - NULL, - NULL, - NULL, - NULL, + PIO_null_setbuf, + PIO_null_setlinebuf, + PIO_null_getcount, + PIO_null_fill, PIO_unix_puts, - NULL, - NULL + PIO_null_gets, + PIO_null_eof }; Index: io/io_win32.c =================================================================== RCS file: /home/perlcvs/parrot/io/io_win32.c,v retrieving revision 1.10 diff -u -r1.10 io_win32.c --- io/io_win32.c 6 Feb 2002 03:11:59 -0000 1.10 +++ io/io_win32.c 18 Feb 2002 18:46:23 -0000 @@ -264,28 +264,28 @@ PIO_win32_init, PIO_base_new_layer, PIO_base_delete_layer, - NULL, - NULL, + PIO_null_push_layer, + PIO_null_pop_layer, PIO_win32_open, - NULL, - NULL, - NULL, + PIO_null_open2, + PIO_null_open3, + PIO_null_open_async, PIO_win32_fdopen, PIO_win32_close, PIO_win32_write, - NULL, + PIO_null_write_async, PIO_win32_read, - NULL, - NULL, + PIO_null_read_async, + PIO_null_flush, PIO_win32_seek, PIO_win32_tell, - NULL, - NULL, - NULL, - NULL, + PIO_null_setbuf, + PIO_null_setlinebuf, + PIO_null_getcount, + PIO_null_fill, PIO_win32_puts, - NULL, - NULL + PIO_null_gets, + PIO_null_eof };