On Wednesday 03 December 2008 18:00:32 Jarkko Hietaniemi wrote: > First we get a couple of warnings fro some files, but then one file > refuses to compile (see below). I didn't notice any other warnings or > failures during Configure.pl and/or during compilation.
Thanks for the report. > src/ops/core_ops.c > cc: Warning: src/ops/object.ops, line 436: Non-void function > "Parrot_removeattribute_p_s" does not contain a return statement. > (missingreturn) opcode_t * We should fix a code generator to handle these, but that's a low priority unless I or someone else has a brilliant idea which makes it take five minutes. > cc: Warning: src/ops/object.ops, line 532: Non-void function > "Parrot_pic_set_returns___pc" does not contain a return statement. > (missingreturn) opcode_t * This code's going away. > src/dynext.c > cc: Info: src/dynext.c, line 367: In this statement, "(Parrot_dlsym(...))" > of type "pointer to void", is being converted to "pointer to function > (pointer to struct parrot_interp_t) returning pointer to struct PMC". Such > a cast is not permitted by the standard. (nonstandcast) > (Parrot_dlsym(handle, cload_func_name)); > ------------^ > cc: Info: src/dynext.c, line 375: In this statement, "(Parrot_dlsym(...))" > of type "pointer to void", is being converted to "pointer to function > (pointer to struct parrot_interp_t, pointer to struct PMC) returning void". > Such a cast is not permitted by the standard. (nonstandcast) init_func > = (void (*)(PARROT_INTERP, PMC *))(Parrot_dlsym(handle, > ---------------------------------------------------------^ I added a couple of D2FPTR macros, as we've borrowed them from Perl 5, in r34293. Hopefully this will clear up the warnings. > src/encoding.c > cc: Warning: src/encoding.c, line 164: Non-void function > "Parrot_load_encoding" does not contain a return statement. (missingreturn) > const ENCODING * > ^ > cc: Warning: src/encoding.c, line 421: Non-void function > "Parrot_find_encoding_converter" does not contain a return statement. > (missingreturn) encoding_converter_t > ^ I added some function decorations in r34295 which should clear up these warnings. > src/exceptions.c > cc: Error: src/exceptions.c, line 74: In this statement, "_CONST_STRING_74" > is not declared. (undeclared) VTABLE_set_integer_keyed_str(interp, > exception, I manually fixed these in r34094 and fixed our preprocessor to reject all CONST_STRING macros broken across lines in r34095, so this problem should never recur. -- c