diff --git a/src/las.c b/src/las.c index d0559c47de24a4fd29887297c17921552dad9b05..78f48c400c54f4b9be4bb1f532b82549c51bc308 100644 --- a/src/las.c +++ b/src/las.c @@ -5,7 +5,7 @@ \*/ /**/ #include "global.h" -RCSID("$Id: las.c,v 1.214 2000/09/15 11:44:50 grubba Exp $"); +RCSID("$Id: las.c,v 1.215 2000/09/22 12:57:11 grubba Exp $"); #include "language.h" #include "interpret.h" @@ -4705,8 +4705,8 @@ int dooptcode(struct pike_string *name, #endif ret=define_function(name, type, - modifiers, - IDENTIFIER_C_FUNCTION | vargs, + (unsigned INT8)modifiers, + (unsigned INT8)(IDENTIFIER_C_FUNCTION | vargs), &tmp, foo->u.efun->flags); free_node(n); @@ -4737,10 +4737,11 @@ int dooptcode(struct pike_string *name, ret=define_function(name, type, - modifiers, - IDENTIFIER_PIKE_FUNCTION | vargs, + (unsigned INT8)modifiers, + (unsigned INT8)(IDENTIFIER_PIKE_FUNCTION | vargs), &tmp, - Pike_compiler->compiler_frame->opt_flags); + (unsigned INT16) + (Pike_compiler->compiler_frame->opt_flags)); #ifdef PIKE_DEBUG diff --git a/src/peep.c b/src/peep.c index 7ae84160b4bcfff95f62d770a3ffccbaf57c7b63..7e536b5d8aaed51a176e95c0ee84619ae6282bbf 100644 --- a/src/peep.c +++ b/src/peep.c @@ -15,7 +15,7 @@ #include "bignum.h" #include "opcodes.h" -RCSID("$Id: peep.c,v 1.36 2000/08/17 19:15:59 grubba Exp $"); +RCSID("$Id: peep.c,v 1.37 2000/09/22 12:54:10 grubba Exp $"); struct p_instr_s { @@ -171,20 +171,20 @@ static void ins_f_byte_with_arg(unsigned int a,unsigned INT32 b) if( b < 256*256) { ins_f_byte(F_PREFIX_CHARX256); - add_to_program(b>>8); + add_to_program((unsigned char)(b>>8)); }else if(b < 256*256*256) { ins_f_byte(F_PREFIX_WORDX256); - add_to_program(b>>16); - add_to_program(b>>8); + add_to_program((unsigned char)(b>>16)); + add_to_program((unsigned char)(b>>8)); }else{ ins_f_byte(F_PREFIX_24BITX256); - add_to_program(b>>24); - add_to_program(b>>16); - add_to_program(b>>8); + add_to_program((unsigned char)(b>>24)); + add_to_program((unsigned char)(b>>16)); + add_to_program((unsigned char)(b>>8)); } } ins_f_byte(a); - add_to_program(b); + add_to_program((unsigned char)b); } static void ins_f_byte_with_2_args(unsigned int a, @@ -203,20 +203,20 @@ static void ins_f_byte_with_2_args(unsigned int a, if( b < 256*256) { ins_f_byte(F_PREFIX2_CHARX256); - add_to_program(b>>8); + add_to_program((unsigned char)(b>>8)); }else if(b < 256*256*256) { ins_f_byte(F_PREFIX2_WORDX256); - add_to_program(b>>16); - add_to_program(b>>8); + add_to_program((unsigned char)(b>>16)); + add_to_program((unsigned char)(b>>8)); }else{ ins_f_byte(F_PREFIX2_24BITX256); - add_to_program(b>>24); - add_to_program(b>>16); - add_to_program(b>>8); + add_to_program((unsigned char)(b>>24)); + add_to_program((unsigned char)(b>>16)); + add_to_program((unsigned char)(b>>8)); } } ins_f_byte_with_arg(a,c); - add_to_program(b); + add_to_program((unsigned char)b); } void assemble(void) @@ -331,7 +331,7 @@ void assemble(void) break; case F_BYTE: - add_to_program(c->arg); + add_to_program((unsigned char)(c->arg)); break; case F_DATA: