This eliminates many gcc warnings from pmc code by 1: changing index to idx 2: including the pmc's own header file so as to give declarations for its functions 3: moving the declarations of the global init functions to global_setup.h so that the pmc files see a declaration for their own init function (which otherwise gcc will warn about, on the zealous warnings we use)
Nicholas Clark -- ENOCHOCOLATE http://www.ccl4.org/~nick/CV.html --- ./include/parrot/global_setup.h.orig Mon Dec 31 15:58:28 2001 +++ ./include/parrot/global_setup.h Mon Jan 21 21:32:03 2002 @@ -14,6 +14,16 @@ #if !defined(PARROT_GLOBAL_SETUP_H_GUARD) #define PARROT_GLOBAL_SETUP_H_GUARD +/* Needed because this might get compiled before pmcs have been built */ +void Parrot_PerlUndef_class_init(void); +void Parrot_PerlInt_class_init(void); +void Parrot_PerlNum_class_init(void); +void Parrot_PerlString_class_init(void); +void Parrot_PerlArray_class_init(void); +void Parrot_PerlHash_class_init(void); +void Parrot_ParrotPointer_class_init(void); +void Parrot_IntQueue_class_init(void); + void init_world(void); --- ./global_setup.c.orig Mon Jan 14 20:32:52 2002 +++ ./global_setup.c Mon Jan 21 21:31:50 2002 @@ -14,16 +14,6 @@ #define INSIDE_GLOBAL_SETUP #include "parrot/parrot.h" -/* Needed because this might get compiled before pmcs have been built */ -void Parrot_PerlUndef_class_init(void); -void Parrot_PerlInt_class_init(void); -void Parrot_PerlNum_class_init(void); -void Parrot_PerlString_class_init(void); -void Parrot_PerlArray_class_init(void); -void Parrot_PerlHash_class_init(void); -void Parrot_ParrotPointer_class_init(void); -void Parrot_IntQueue_class_init(void); - void init_world(void) { string_init(); /* Set up the string subsystem */ --- ./classes/pmc2c.pl.orig Fri Jan 4 02:29:18 2002 +++ ./classes/pmc2c.pl Mon Jan 21 21:21:25 2002 @@ -185,7 +185,10 @@ my @methods; my $OUT = ''; - my $HOUT = ''; + my $HOUT = <<"EOC"; + /* Do not edit - automatically generated from '$pmcfile' by $0 */ + +EOC my %defaulted; while ($classblock =~ s/($signature_re)//) { @@ -228,9 +231,12 @@ my $includes = ''; foreach my $class (keys %visible_supers) { - next if $class eq $classname; + # No, include yourself to check your headers match your bodies + # (and gcc -W... is happy then) + # next if $class eq $classname; $includes .= qq(#include "\L$class.h"\n); } + $OUT = <<EOC . $OUT; /* Do not edit - automatically generated from '$pmcfile' by $0 */ --- ./classes/perlundef.pmc.orig Mon Jan 14 20:32:58 2002 +++ ./classes/perlundef.pmc Mon Jan 21 21:23:10 2002 @@ -48,14 +48,14 @@ return 0; } - INTVAL get_integer_index (INTVAL index) { + INTVAL get_integer_index (INTVAL idx) { } FLOATVAL get_number () { return 0; } - FLOATVAL get_number_index (INTVAL index) { + FLOATVAL get_number_index (INTVAL idx) { return 0; } @@ -63,7 +63,7 @@ return string_make(INTERP,NULL,0,NULL,0,NULL); } - STRING* get_string_index (INTVAL index) { + STRING* get_string_index (INTVAL idx) { return NULL; } @@ -98,7 +98,7 @@ /* Do nothing; Can't happen? */ } - void set_integer_index (INTVAL value, INTVAL index) { + void set_integer_index (INTVAL value, INTVAL idx) { } void set_number (PMC * value) { @@ -120,7 +120,7 @@ /* Do nothing; Can't happen? */ } - void set_number_index (FLOATVAL value, INTVAL index) { + void set_number_index (FLOATVAL value, INTVAL idx) { } void set_string (PMC * value) { @@ -147,7 +147,7 @@ /* Do nothing; Can't happen? */ } - void set_string_index (STRING * value, INTVAL index) { + void set_string_index (STRING * value, INTVAL idx) { } void set_value (void* value) { --- ./classes/perlstring.pmc.orig Mon Jan 14 20:32:58 2002 +++ ./classes/perlstring.pmc Mon Jan 21 21:23:20 2002 @@ -51,7 +51,7 @@ return string_to_int(s); } - INTVAL get_integer_index (INTVAL index) { + INTVAL get_integer_index (INTVAL idx) { } FLOATVAL get_number () { @@ -59,14 +59,14 @@ return string_to_num(s); } - FLOATVAL get_number_index (INTVAL index) { + FLOATVAL get_number_index (INTVAL idx) { } STRING* get_string () { return (STRING*)SELF->cache.struct_val; } - STRING* get_string_index (INTVAL index) { + STRING* get_string_index (INTVAL idx) { } BOOLVAL get_bool () { @@ -102,7 +102,7 @@ SELF->cache.int_val = value->vtable->get_integer(INTERP,value); } - void set_integer_index (INTVAL value, INTVAL index) { + void set_integer_index (INTVAL value, INTVAL idx) { } void set_number (PMC * value) { @@ -123,7 +123,7 @@ SELF->cache.num_val = (FLOATVAL)value->cache.int_val; } - void set_number_index (FLOATVAL value, INTVAL index) { + void set_number_index (FLOATVAL value, INTVAL idx) { } void set_string (PMC * value) { @@ -148,7 +148,7 @@ string_copy(INTERP, (STRING*)value->cache.struct_val); } - void set_string_index (STRING* value, INTVAL index) { + void set_string_index (STRING* value, INTVAL idx) { } void set_value (void* value) { --- ./classes/perlnum.pmc.orig Mon Jan 14 20:32:57 2002 +++ ./classes/perlnum.pmc Mon Jan 21 21:23:31 2002 @@ -50,14 +50,14 @@ return (INTVAL)SELF->cache.num_val; } - INTVAL get_integer_index (INTVAL index) { + INTVAL get_integer_index (INTVAL idx) { } FLOATVAL get_number () { return SELF->cache.num_val; } - FLOATVAL get_number_index (INTVAL index) { + FLOATVAL get_number_index (INTVAL idx) { } STRING* get_string () { @@ -73,7 +73,7 @@ return s; } - STRING* get_string_index (INTVAL index) { + STRING* get_string_index (INTVAL idx) { } BOOLVAL get_bool () { @@ -108,7 +108,7 @@ SELF->cache.int_val = value->cache.int_val; } - void set_integer_index (INTVAL value, INTVAL index) { + void set_integer_index (INTVAL value, INTVAL idx) { } void set_number (PMC * value) { @@ -127,7 +127,7 @@ SELF->cache.num_val = value->cache.num_val; } - void set_number_index (FLOATVAL value, INTVAL index) { + void set_number_index (FLOATVAL value, INTVAL idx) { } void set_string (PMC * value) { @@ -155,7 +155,7 @@ SELF->cache.struct_val = value->cache.struct_val; } - void set_string_index (STRING* value, INTVAL index) { + void set_string_index (STRING* value, INTVAL idx) { } void set_value (void* value) { --- ./classes/perlint.pmc.orig Mon Jan 14 20:32:57 2002 +++ ./classes/perlint.pmc Mon Jan 21 21:23:42 2002 @@ -50,14 +50,14 @@ return SELF->cache.int_val; } - INTVAL get_integer_index (INTVAL index) { + INTVAL get_integer_index (INTVAL idx) { } FLOATVAL get_number () { return (FLOATVAL)SELF->cache.int_val; } - FLOATVAL get_number_index (INTVAL index) { + FLOATVAL get_number_index (INTVAL idx) { } STRING* get_string () { @@ -73,7 +73,7 @@ return s; } - STRING* get_string_index (INTVAL index) { + STRING* get_string_index (INTVAL idx) { } BOOLVAL get_bool () { @@ -107,7 +107,7 @@ SELF->cache.int_val = value->cache.int_val; } - void set_integer_index (INTVAL value, INTVAL index) { + void set_integer_index (INTVAL value, INTVAL idx) { } void set_number (PMC * value) { @@ -129,7 +129,7 @@ SELF->cache.num_val = (FLOATVAL)value->cache.int_val; } - void set_number_index (FLOATVAL value, INTVAL index) { + void set_number_index (FLOATVAL value, INTVAL idx) { } void set_string (PMC * value) { @@ -157,7 +157,7 @@ SELF->cache.struct_val = value->cache.struct_val; } - void set_string_index (STRING * value, INTVAL index) { + void set_string_index (STRING * value, INTVAL idx) { } void set_value (void* value) { --- ./classes/perlhash.pmc.orig Mon Jan 14 20:32:57 2002 +++ ./classes/perlhash.pmc Mon Jan 21 21:24:28 2002 @@ -51,15 +51,15 @@ return size; } - INTVAL get_integer_index ( INTVAL index ) { + INTVAL get_integer_index ( INTVAL idx ) { KEY* key = SELF->cache.struct_val; - KEY_PAIR* key_pair = key_element_value_i(INTERP,key,index); + KEY_PAIR* key_pair = key_element_value_i(INTERP,key,idx); return key_pair->cache.int_val; } - INTVAL get_integer_index_s ( STRING* index ) { + INTVAL get_integer_index_s ( STRING* idx ) { KEY* key = SELF->cache.struct_val; - KEY_PAIR* key_pair = key_element_value_s(INTERP,key,index); + KEY_PAIR* key_pair = key_element_value_s(INTERP,key,idx); return key_pair->cache.int_val; } @@ -69,15 +69,15 @@ return (FLOATVAL)size; } - FLOATVAL get_number_index ( INTVAL index ) { + FLOATVAL get_number_index ( INTVAL idx ) { KEY* key = SELF->cache.struct_val; - KEY_PAIR* key_pair = key_element_value_i(INTERP,key,index); + KEY_PAIR* key_pair = key_element_value_i(INTERP,key,idx); return key_pair->cache.int_val; } - FLOATVAL get_number_index_s ( STRING* index ) { + FLOATVAL get_number_index_s ( STRING* idx ) { KEY* key = SELF->cache.struct_val; - KEY_PAIR* key_pair = key_element_value_s(INTERP,key,index); + KEY_PAIR* key_pair = key_element_value_s(INTERP,key,idx); return key_pair->cache.num_val; } @@ -85,15 +85,15 @@ return (STRING*)SELF->cache.struct_val; } - STRING* get_string_index ( INTVAL index ) { + STRING* get_string_index ( INTVAL idx ) { KEY* key = SELF->cache.struct_val; - KEY_PAIR* key_pair = key_element_value_i(INTERP,key,index); + KEY_PAIR* key_pair = key_element_value_i(INTERP,key,idx); return key_pair->cache.struct_val; } - STRING* get_string_index_s ( STRING* index ) { + STRING* get_string_index_s ( STRING* idx ) { KEY* key = SELF->cache.struct_val; - KEY_PAIR* key_pair = key_element_value_s(INTERP,key,index); + KEY_PAIR* key_pair = key_element_value_s(INTERP,key,idx); return key_pair->cache.struct_val; } @@ -131,23 +131,23 @@ key_set_size(INTERP,key,size); } - void set_integer_index (INTVAL value, INTVAL index) { + void set_integer_index (INTVAL value, INTVAL idx) { KEY* key = SELF->cache.struct_val; KEY_PAIR key_pair; - if(index >= key_size(INTERP,key)) { - key_set_size(INTERP,key,index+1); + if(idx >= key_size(INTERP,key)) { + key_set_size(INTERP,key,idx+1); } key_pair.type = enum_key_int; key_pair.cache.int_val = value; - key_set_element_value_i(INTERP,key,index,&key_pair); + key_set_element_value_i(INTERP,key,idx,&key_pair); } - void set_integer_index_s (INTVAL value, STRING* index) { + void set_integer_index_s (INTVAL value, STRING* idx) { KEY* key = SELF->cache.struct_val; KEY_PAIR key_pair; key_pair.type = enum_key_int; key_pair.cache.int_val = value; - key_set_element_value_s(INTERP,key,index,&key_pair); + key_set_element_value_s(INTERP,key,idx,&key_pair); } void set_number (PMC * value) { @@ -170,23 +170,23 @@ key_set_size(INTERP,key,size); } - void set_number_index (FLOATVAL value, INTVAL index) { + void set_number_index (FLOATVAL value, INTVAL idx) { KEY* key = SELF->cache.struct_val; KEY_PAIR key_pair; - if(index >= key_size(INTERP,key)) { - key_set_size(INTERP,key,index); + if(idx >= key_size(INTERP,key)) { + key_set_size(INTERP,key,idx); } key_pair.type = enum_key_num; key_pair.cache.num_val = value; - key_set_element_value_i(INTERP,key,index,&key_pair); + key_set_element_value_i(INTERP,key,idx,&key_pair); } - void set_number_index_s (FLOATVAL value, STRING* index) { + void set_number_index_s (FLOATVAL value, STRING* idx) { KEY* key = SELF->cache.struct_val; KEY_PAIR key_pair; key_pair.type = enum_key_num; key_pair.cache.num_val = value; - key_set_element_value_s(INTERP,key,index,&key_pair); + key_set_element_value_s(INTERP,key,idx,&key_pair); } void set_string (PMC * value) { @@ -204,23 +204,23 @@ void set_string_same (PMC * value) { } - void set_string_index (STRING * value, INTVAL index) { + void set_string_index (STRING * value, INTVAL idx) { KEY* key = SELF->cache.struct_val; KEY_PAIR key_pair; - if(index >= key_size(INTERP,key)) { - key_set_size(INTERP,key,index); + if(idx >= key_size(INTERP,key)) { + key_set_size(INTERP,key,idx); } key_pair.type = enum_key_string; key_pair.cache.struct_val = value; - key_set_element_value_i(INTERP,key,index,&key_pair); + key_set_element_value_i(INTERP,key,idx,&key_pair); } - void set_string_index_s (STRING * value, STRING* index) { + void set_string_index_s (STRING * value, STRING* idx) { KEY* key = SELF->cache.struct_val; KEY_PAIR key_pair; key_pair.type = enum_key_string; key_pair.cache.struct_val = value; - key_set_element_value_s(INTERP,key,index,&key_pair); + key_set_element_value_s(INTERP,key,idx,&key_pair); } void set_value (void* value) { --- ./classes/perlarray.pmc.orig Mon Jan 14 20:32:57 2002 +++ ./classes/perlarray.pmc Mon Jan 21 21:24:51 2002 @@ -51,15 +51,15 @@ return size; } - INTVAL get_integer_index ( INTVAL index ) { + INTVAL get_integer_index ( INTVAL idx ) { KEY* key = SELF->cache.struct_val; KEY_PAIR* key_pair; INTVAL size = key_size(INTERP,key); - if(index<0) { - key_pair = key_element_value_i(INTERP,key,size+index); + if(idx<0) { + key_pair = key_element_value_i(INTERP,key,size+idx); } else { - key_pair = key_element_value_i(INTERP,key,index); + key_pair = key_element_value_i(INTERP,key,idx); } return key_pair->cache.int_val; } @@ -70,9 +70,9 @@ return (FLOATVAL)size; } - FLOATVAL get_number_index ( INTVAL index ) { + FLOATVAL get_number_index ( INTVAL idx ) { KEY* key = SELF->cache.struct_val; - KEY_PAIR* key_pair = key_element_value_i(INTERP,key,index); + KEY_PAIR* key_pair = key_element_value_i(INTERP,key,idx); return key_pair->cache.num_val; } @@ -80,9 +80,9 @@ return NULL; } - STRING* get_string_index ( INTVAL index ) { + STRING* get_string_index ( INTVAL idx ) { KEY* key = SELF->cache.struct_val; - KEY_PAIR* key_pair = key_element_value_i(INTERP,key,index); + KEY_PAIR* key_pair = key_element_value_i(INTERP,key,idx); return key_pair->cache.struct_val; } @@ -123,16 +123,16 @@ key_set_size(INTERP,key,size); } - void set_integer_index (INTVAL value, INTVAL index) { + void set_integer_index (INTVAL value, INTVAL idx) { KEY* key = SELF->cache.struct_val; KEY_PAIR key_pair; INTVAL size = key_size(INTERP,key); - if(index >= size) { - key_set_size(INTERP,key,index+1); + if(idx >= size) { + key_set_size(INTERP,key,idx+1); } key_pair.type = enum_key_int; key_pair.cache.int_val = value; - key_set_element_value_i(INTERP,key,index,&key_pair); + key_set_element_value_i(INTERP,key,idx,&key_pair); } void set_number (PMC * value) { @@ -155,15 +155,15 @@ key_set_size(INTERP,key,size); } - void set_number_index (FLOATVAL value, INTVAL index) { + void set_number_index (FLOATVAL value, INTVAL idx) { KEY* key = SELF->cache.struct_val; KEY_PAIR key_pair; - if(index >= key_size(INTERP,key)) { - key_set_size(INTERP,key,index+1); + if(idx >= key_size(INTERP,key)) { + key_set_size(INTERP,key,idx+1); } key_pair.type = enum_key_num; key_pair.cache.num_val = value; - key_set_element_value_i(INTERP,key,index,&key_pair); + key_set_element_value_i(INTERP,key,idx,&key_pair); } void set_string (PMC * value) { @@ -181,15 +181,15 @@ void set_string_same (PMC * value) { } - void set_string_index (STRING * value, INTVAL index) { + void set_string_index (STRING * value, INTVAL idx) { KEY* key = SELF->cache.struct_val; KEY_PAIR key_pair; - if(index >= key_size(INTERP,key)) { - key_set_size(INTERP,key,index+1); + if(idx >= key_size(INTERP,key)) { + key_set_size(INTERP,key,idx+1); } key_pair.type = enum_key_string; key_pair.cache.struct_val = value; - key_set_element_value_i(INTERP,key,index,&key_pair); + key_set_element_value_i(INTERP,key,idx,&key_pair); } void set_value (void* value) { --- ./classes/parrotpointer.pmc.orig Mon Jan 14 20:32:56 2002 +++ ./classes/parrotpointer.pmc Mon Jan 21 21:25:07 2002 @@ -54,7 +54,7 @@ return (FLOATVAL)(INTVAL)SELF->data; } - FLOATVAL get_number_index (INTVAL index) { + FLOATVAL get_number_index (INTVAL idx) { } STRING* get_string () { @@ -99,7 +99,7 @@ POINTER_ERROR; } - void set_integer_index (INTVAL value, INTVAL index) { + void set_integer_index (INTVAL value, INTVAL idx) { POINTER_ERROR; } @@ -119,7 +119,7 @@ POINTER_ERROR; } - void set_number_index (FLOATVAL value, INTVAL index) { + void set_number_index (FLOATVAL value, INTVAL idx) { POINTER_ERROR; } @@ -143,7 +143,7 @@ POINTER_ERROR; } - void set_string_index (STRING* value, INTVAL index) { + void set_string_index (STRING* value, INTVAL idx) { POINTER_ERROR; } --- ./classes/intqueue.pmc.orig Sun Jan 13 17:45:58 2002 +++ ./classes/intqueue.pmc Mon Jan 21 21:25:18 2002 @@ -120,14 +120,14 @@ return dequeue((CONTAINER*)SELF->cache.struct_val); } - INTVAL get_integer_index (INTVAL index) { + INTVAL get_integer_index (INTVAL idx) { } FLOATVAL get_number () { return (FLOATVAL)SELF->cache.int_val; } - FLOATVAL get_number_index (INTVAL index) { + FLOATVAL get_number_index (INTVAL idx) { } STRING* get_string () { @@ -143,7 +143,7 @@ return s; } - STRING* get_string_index (INTVAL index) { + STRING* get_string_index (INTVAL idx) { } BOOLVAL get_bool () { @@ -177,7 +177,7 @@ SELF->cache.int_val = value->cache.int_val; } - void set_integer_index (INTVAL value, INTVAL index) { + void set_integer_index (INTVAL value, INTVAL idx) { } void set_number (PMC * value) { @@ -199,7 +199,7 @@ SELF->cache.num_val = (FLOATVAL)value->cache.int_val; } - void set_number_index (FLOATVAL value, INTVAL index) { + void set_number_index (FLOATVAL value, INTVAL idx) { } void set_string (PMC * value) { @@ -227,7 +227,7 @@ SELF->cache.struct_val = value->cache.struct_val; } - void set_string_index (STRING * value, INTVAL index) { + void set_string_index (STRING * value, INTVAL idx) { } void set_value (void* value) { --- ./classes/default.pmc.orig Mon Jan 14 20:32:56 2002 +++ ./classes/default.pmc Mon Jan 21 21:25:33 2002 @@ -41,20 +41,20 @@ return SELF->cache.int_val; } - INTVAL get_integer_index (INTVAL index) { + INTVAL get_integer_index (INTVAL idx) { } - INTVAL get_integer_index_s (STRING* index) { + INTVAL get_integer_index_s (STRING* idx) { } FLOATVAL get_number () { return SELF->cache.num_val; } - FLOATVAL get_number_index (INTVAL index) { + FLOATVAL get_number_index (INTVAL idx) { } - FLOATVAL get_number_index_s (STRING* index) { + FLOATVAL get_number_index_s (STRING* idx) { } STRING* get_string () { @@ -62,10 +62,10 @@ return s; } - STRING* get_string_index (INTVAL index) { + STRING* get_string_index (INTVAL idx) { } - STRING* get_string_index_s (STRING* index) { + STRING* get_string_index_s (STRING* idx) { } BOOLVAL get_bool () { @@ -112,10 +112,10 @@ SELF->cache.int_val = value->vtable->get_integer(INTERP, value); } - void set_integer_index (INTVAL value, INTVAL index) { + void set_integer_index (INTVAL value, INTVAL idx) { } - void set_integer_index_s (INTVAL value, STRING* index) { + void set_integer_index_s (INTVAL value, STRING* idx) { } void set_number (PMC * value) { @@ -135,10 +135,10 @@ SELF->cache.num_val = value->vtable->get_number(INTERP, value); } - void set_number_index (FLOATVAL value, INTVAL index) { + void set_number_index (FLOATVAL value, INTVAL idx) { } - void set_number_index_s (FLOATVAL value, STRING* index) { + void set_number_index_s (FLOATVAL value, STRING* idx) { } void set_string (PMC * value) { @@ -161,10 +161,10 @@ SELF->cache.struct_val = value->vtable->get_string(INTERP, value); } - void set_string_index (STRING * string, INTVAL index) { + void set_string_index (STRING * string, INTVAL idx) { } - void set_string_index_s (STRING * string, STRING* index) { + void set_string_index_s (STRING * string, STRING* idx) { } void set_value (void* value) {