# New Ticket Created by Leopold Toetsch # Please include the string: [perl #24388] # in the subject line of all future correspondence about this issue. # <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=24388 >
Attached is the next attempt to switch over to the new PMC compiler. But I have really troubles with the Makefile. The $(TOUCH) doesn't update the time stamp here[1] and is therefor useless (touch works fine). Please give it a try and help to improve the Makefile. leo [1] perl 5.8.0 -- attachment 1 ------------------------------------------------------ url: http://rt.perl.org/rt2/attach/66958/49966/06ba16/pmc2c2-3.patch
--- parrot/classes/null.pmc Sun Nov 2 01:10:25 2003 +++ parrot-leo/classes/null.pmc Sun Nov 2 12:18:49 2003 @@ -9,11 +9,6 @@ * Data Structure and Algorithms: * History: * Notes: - * Upon adding new methods to Parrot PMCs, we manually regenerate the Null PMC - * for now. - * XXX FIXME: Integrate this into the configure/build process to autogen null.pmc - * so we don't need a seperate null.pl script. - * (perl ./null.pl Null > null.pmc) * References: */ @@ -22,837 +17,6 @@ pmclass Null { void init () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::init)!\n"); - } - - void init_pmc (PMC* initializer) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::init_pmc)!\n"); - } - - void morph (INTVAL type) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::morph)!\n"); - } - - void mark () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::mark)!\n"); - } - - void destroy () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::destroy)!\n"); - } - - INTVAL type_keyed (PMC* key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::type_keyed)!\n"); - return (INTVAL)0; - } - - INTVAL type_keyed_int (INTVAL key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::type_keyed_int)!\n"); - return (INTVAL)0; - } - - UINTVAL subtype (INTVAL type) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::subtype)!\n"); - return (UINTVAL)0; - } - - UINTVAL subtype_keyed (PMC* key, INTVAL type) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::subtype_keyed)!\n"); - return (UINTVAL)0; - } - - UINTVAL subtype_keyed_int (INTVAL key, INTVAL type) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::subtype_keyed_int)!\n"); - return (UINTVAL)0; - } - - STRING* name_keyed (PMC* key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::name_keyed)!\n"); - return (STRING*)0; - } - - STRING* name_keyed_int (INTVAL key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::name_keyed_int)!\n"); - return (STRING*)0; - } - - void clone (PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::clone)!\n"); - } - - void clone_keyed (PMC* key, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::clone_keyed)!\n"); - } - - void clone_keyed_int (INTVAL key, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::clone_keyed_int)!\n"); - } - - PMC* find_method (STRING* method_name) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::find_method)!\n"); - return (PMC*)0; - } - - PMC* find_method_keyed (PMC* key, STRING* method_name) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::find_method_keyed)!\n"); - return (PMC*)0; - } - - PMC* find_method_keyed_int (INTVAL key, STRING* method_name) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::find_method_keyed_int)!\n"); - return (PMC*)0; - } - - INTVAL get_integer () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_integer)!\n"); - return (INTVAL)0; - } - - INTVAL get_integer_keyed (PMC* key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_integer_keyed)!\n"); - return (INTVAL)0; - } - - INTVAL get_integer_keyed_int (INTVAL key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_integer_keyed_int)!\n"); - return (INTVAL)0; - } - - FLOATVAL get_number () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_number)!\n"); - return (FLOATVAL)0; - } - - FLOATVAL get_number_keyed (PMC* key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_number_keyed)!\n"); - return (FLOATVAL)0; - } - - FLOATVAL get_number_keyed_int (INTVAL key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_number_keyed_int)!\n"); - return (FLOATVAL)0; - } - - BIGNUM* get_bignum () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_bignum)!\n"); - return (BIGNUM*)0; - } - - BIGNUM* get_bignum_keyed (PMC* key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_bignum_keyed)!\n"); - return (BIGNUM*)0; - } - - BIGNUM* get_bignum_keyed_int (INTVAL key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_bignum_keyed_int)!\n"); - return (BIGNUM*)0; - } - - STRING* get_string () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_string)!\n"); - return (STRING*)0; - } - - STRING* get_string_keyed (PMC* key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_string_keyed)!\n"); - return (STRING*)0; - } - - STRING* get_string_keyed_int (INTVAL key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_string_keyed_int)!\n"); - return (STRING*)0; - } - - INTVAL get_bool () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_bool)!\n"); - return (INTVAL)0; - } - - INTVAL get_bool_keyed (PMC* key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_bool_keyed)!\n"); - return (INTVAL)0; - } - - INTVAL get_bool_keyed_int (INTVAL key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_bool_keyed_int)!\n"); - return (INTVAL)0; - } - - PMC* get_pmc () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_pmc)!\n"); - return (PMC*)0; - } - - PMC* get_pmc_keyed (PMC* key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_pmc_keyed)!\n"); - return (PMC*)0; - } - - PMC* get_pmc_keyed_int (INTVAL key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_pmc_keyed_int)!\n"); - return (PMC*)0; - } - - void* get_pointer () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_pointer)!\n"); - return (void*)0; - } - - void* get_pointer_keyed (PMC* key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_pointer_keyed)!\n"); - return (void*)0; - } - - void* get_pointer_keyed_int (INTVAL key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::get_pointer_keyed_int)!\n"); - return (void*)0; - } - - void set_integer (PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_integer)!\n"); - } - - void set_integer_native (INTVAL value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_integer_native)!\n"); - } - - void set_integer_same (PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_integer_same)!\n"); - } - - void set_integer_keyed (PMC* key, INTVAL value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_integer_keyed)!\n"); - } - - void set_integer_keyed_int (INTVAL key, INTVAL value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_integer_keyed_int)!\n"); - } - - void set_number (PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_number)!\n"); - } - - void set_number_native (FLOATVAL value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_number_native)!\n"); - } - - void set_number_same (PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_number_same)!\n"); - } - - void set_number_keyed (PMC* key, FLOATVAL value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_number_keyed)!\n"); - } - - void set_number_keyed_int (INTVAL key, FLOATVAL value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_number_keyed_int)!\n"); - } - - void set_bignum (PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_bignum)!\n"); - } - - void set_bignum_native (BIGNUM* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_bignum_native)!\n"); - } - - void set_bignum_same (PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_bignum_same)!\n"); - } - - void set_bignum_keyed (PMC* key, BIGNUM* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_bignum_keyed)!\n"); - } - - void set_bignum_keyed_int (INTVAL key, BIGNUM* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_bignum_keyed_int)!\n"); - } - - void set_string (PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_string)!\n"); - } - - void set_string_native (STRING* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_string_native)!\n"); - } - - void set_string_same (PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_string_same)!\n"); - } - - void set_string_keyed (PMC* key, STRING* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_string_keyed)!\n"); - } - - void set_string_keyed_int (INTVAL key, STRING* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_string_keyed_int)!\n"); - } - - void set_bool (INTVAL value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_bool)!\n"); - } - - void set_bool_keyed (PMC* key, INTVAL value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_bool_keyed)!\n"); - } - - void set_bool_keyed_int (INTVAL key, INTVAL value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_bool_keyed_int)!\n"); - } - - void set_pmc (PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_pmc)!\n"); - } - - void set_pmc_keyed (PMC* key, PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_pmc_keyed)!\n"); - } - - void set_pmc_keyed_int (INTVAL key, PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_pmc_keyed_int)!\n"); - } - - void set_pointer (void* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_pointer)!\n"); - } - - void set_pointer_keyed (PMC* key, void* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_pointer_keyed)!\n"); - } - - void set_pointer_keyed_int (INTVAL key, void* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_pointer_keyed_int)!\n"); - } - - void set_same (PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_same)!\n"); - } - - void set_same_keyed (PMC* key, PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_same_keyed)!\n"); - } - - void set_same_keyed_int (INTVAL key, PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::set_same_keyed_int)!\n"); - } - - INTVAL elements () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::elements)!\n"); - return (INTVAL)0; - } - - INTVAL elements_keyed (PMC* key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::elements_keyed)!\n"); - return (INTVAL)0; - } - - INTVAL elements_keyed_int (INTVAL key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::elements_keyed_int)!\n"); - return (INTVAL)0; - } - - INTVAL pop_integer () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::pop_integer)!\n"); - return (INTVAL)0; - } - - FLOATVAL pop_float () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::pop_float)!\n"); - return (FLOATVAL)0; - } - - BIGNUM* pop_bignum () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::pop_bignum)!\n"); - return (BIGNUM*)0; - } - - STRING* pop_string () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::pop_string)!\n"); - return (STRING*)0; - } - - PMC* pop_pmc () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::pop_pmc)!\n"); - return (PMC*)0; - } - - void push_integer (INTVAL value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::push_integer)!\n"); - } - - void push_float (FLOATVAL value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::push_float)!\n"); - } - - void push_bignum (BIGNUM* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::push_bignum)!\n"); - } - - void push_string (STRING* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::push_string)!\n"); - } - - void push_pmc (PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::push_pmc)!\n"); - } - - INTVAL shift_integer () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::shift_integer)!\n"); - return (INTVAL)0; - } - - FLOATVAL shift_float () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::shift_float)!\n"); - return (FLOATVAL)0; - } - - BIGNUM* shift_bignum () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::shift_bignum)!\n"); - return (BIGNUM*)0; - } - - STRING* shift_string () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::shift_string)!\n"); - return (STRING*)0; - } - - PMC* shift_pmc () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::shift_pmc)!\n"); - return (PMC*)0; - } - - void unshift_integer (INTVAL value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::unshift_integer)!\n"); - } - - void unshift_float (FLOATVAL value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::unshift_float)!\n"); - } - - void unshift_bignum (BIGNUM* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::unshift_bignum)!\n"); - } - - void unshift_string (STRING* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::unshift_string)!\n"); - } - - void unshift_pmc (PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::unshift_pmc)!\n"); - } - - void splice (PMC* value, INTVAL offset, INTVAL count) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::splice)!\n"); - } - - void add (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::add)!\n"); - } - - void add_int (INTVAL value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::add_int)!\n"); - } - - void add_bignum (BIGNUM* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::add_bignum)!\n"); - } - - void add_float (FLOATVAL value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::add_float)!\n"); - } - - void add_same (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::add_same)!\n"); - } - - void subtract (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::subtract)!\n"); - } - - void subtract_int (INTVAL value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::subtract_int)!\n"); - } - - void subtract_bignum (BIGNUM* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::subtract_bignum)!\n"); - } - - void subtract_float (FLOATVAL value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::subtract_float)!\n"); - } - - void subtract_same (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::subtract_same)!\n"); - } - - void multiply (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::multiply)!\n"); - } - - void multiply_int (INTVAL value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::multiply_int)!\n"); - } - - void multiply_bignum (BIGNUM* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::multiply_bignum)!\n"); - } - - void multiply_float (FLOATVAL value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::multiply_float)!\n"); - } - - void multiply_same (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::multiply_same)!\n"); - } - - void divide (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::divide)!\n"); - } - - void divide_int (INTVAL value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::divide_int)!\n"); - } - - void divide_bignum (BIGNUM* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::divide_bignum)!\n"); - } - - void divide_float (FLOATVAL value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::divide_float)!\n"); - } - - void divide_same (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::divide_same)!\n"); - } - - void modulus (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::modulus)!\n"); - } - - void modulus_int (INTVAL value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::modulus_int)!\n"); - } - - void modulus_bignum (BIGNUM* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::modulus_bignum)!\n"); - } - - void modulus_float (FLOATVAL value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::modulus_float)!\n"); - } - - void modulus_same (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::modulus_same)!\n"); - } - - void cmodulus (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::cmodulus)!\n"); - } - - void cmodulus_int (INTVAL value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::cmodulus_int)!\n"); - } - - void cmodulus_bignum (BIGNUM* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::cmodulus_bignum)!\n"); - } - - void cmodulus_float (FLOATVAL value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::cmodulus_float)!\n"); - } - - void cmodulus_same (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::cmodulus_same)!\n"); - } - - void neg (PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::neg)!\n"); - } - - void bitwise_or (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_or)!\n"); - } - - void bitwise_or_int (INTVAL value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_or_int)!\n"); - } - - void bitwise_or_same (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_or_same)!\n"); - } - - void bitwise_and (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_and)!\n"); - } - - void bitwise_and_int (INTVAL value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_and_int)!\n"); - } - - void bitwise_and_same (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_and_same)!\n"); - } - - void bitwise_xor (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_xor)!\n"); - } - - void bitwise_xor_int (INTVAL value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_xor_int)!\n"); - } - - void bitwise_xor_same (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_xor_same)!\n"); - } - - void bitwise_ors (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_ors)!\n"); - } - - void bitwise_ors_str (STRING* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_ors_str)!\n"); - } - - void bitwise_ors_same (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_ors_same)!\n"); - } - - void bitwise_ands (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_ands)!\n"); - } - - void bitwise_ands_str (STRING* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_ands_str)!\n"); - } - - void bitwise_ands_same (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_ands_same)!\n"); - } - - void bitwise_xors (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_xors)!\n"); - } - - void bitwise_xors_str (STRING* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_xors_str)!\n"); - } - - void bitwise_xors_same (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_xors_same)!\n"); - } - - void bitwise_not (PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_not)!\n"); - } - - void bitwise_shl (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_shl)!\n"); - } - - void bitwise_shl_int (INTVAL value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_shl_int)!\n"); - } - - void bitwise_shl_same (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_shl_same)!\n"); - } - - void bitwise_shr (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_shr)!\n"); - } - - void bitwise_shr_int (INTVAL value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_shr_int)!\n"); - } - - void bitwise_shr_same (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::bitwise_shr_same)!\n"); - } - - void concatenate (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::concatenate)!\n"); - } - - void concatenate_native (STRING* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::concatenate_native)!\n"); - } - - void concatenate_same (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::concatenate_same)!\n"); - } - - INTVAL is_equal (PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::is_equal)!\n"); - return (INTVAL)0; - } - - INTVAL is_same (PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::is_same)!\n"); - return (INTVAL)0; - } - - INTVAL is_same_keyed (PMC* key, PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::is_same_keyed)!\n"); - return (INTVAL)0; - } - - INTVAL is_same_keyed_int (INTVAL key, PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::is_same_keyed_int)!\n"); - return (INTVAL)0; - } - - INTVAL cmp (PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::cmp)!\n"); - return (INTVAL)0; - } - - INTVAL cmp_num (PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::cmp_num)!\n"); - return (INTVAL)0; - } - - INTVAL cmp_string (PMC* value) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::cmp_string)!\n"); - return (INTVAL)0; - } - - void logical_or (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::logical_or)!\n"); - } - - void logical_and (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::logical_and)!\n"); - } - - void logical_xor (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::logical_xor)!\n"); - } - - void logical_not (PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::logical_not)!\n"); - } - - void repeat (PMC* value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::repeat)!\n"); - } - - void repeat_int (INTVAL value, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::repeat_int)!\n"); - } - - void increment () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::increment)!\n"); - } - - void decrement () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::decrement)!\n"); - } - - INTVAL exists_keyed (PMC* key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::exists_keyed)!\n"); - return (INTVAL)0; - } - - INTVAL exists_keyed_int (INTVAL key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::exists_keyed_int)!\n"); - return (INTVAL)0; - } - - INTVAL defined () { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::defined)!\n"); - return (INTVAL)0; - } - - INTVAL defined_keyed (PMC* key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::defined_keyed)!\n"); - return (INTVAL)0; - } - - INTVAL defined_keyed_int (INTVAL key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::defined_keyed_int)!\n"); - return (INTVAL)0; - } - - void delete_keyed (PMC* key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::delete_keyed)!\n"); - } - - void delete_keyed_int (INTVAL key) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::delete_keyed_int)!\n"); - } - - PMC* nextkey_keyed (PMC* key, INTVAL what) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::nextkey_keyed)!\n"); - return (PMC*)0; - } - - PMC* nextkey_keyed_int (INTVAL key, INTVAL what) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::nextkey_keyed_int)!\n"); - return (PMC*)0; - } - - void substr (INTVAL offset, INTVAL length, PMC* dest) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::substr)!\n"); - } - - STRING* substr_str (INTVAL offset, INTVAL length) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::substr_str)!\n"); - return (STRING*)0; - } - - void* invoke (void* next) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::invoke)!\n"); - return (void*)0; - } - - void* invoke_pmc (PMC* sub, void* next) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::invoke_pmc)!\n"); - return (void*)0; - } - - INTVAL can (STRING* method) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::can)!\n"); - return (INTVAL)0; - } - - INTVAL can_keyed (PMC* key, STRING* method) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::can_keyed)!\n"); - return (INTVAL)0; - } - - INTVAL can_keyed_int (INTVAL key, STRING* method) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::can_keyed_int)!\n"); - return (INTVAL)0; - } - - INTVAL does (STRING* method) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::does)!\n"); - return (INTVAL)0; - } - - INTVAL does_keyed (PMC* key, STRING* method) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::does_keyed)!\n"); - return (INTVAL)0; - } - - INTVAL does_keyed_int (INTVAL key, STRING* method) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::does_keyed_int)!\n"); - return (INTVAL)0; - } - - INTVAL isa (STRING* method) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::isa)!\n"); - return (INTVAL)0; - } - - INTVAL isa_keyed (PMC* key, STRING* method) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::isa_keyed)!\n"); - return (INTVAL)0; - } - - INTVAL isa_keyed_int (INTVAL key, STRING* method) { - internal_exception(NULL_REG_ACCESS, "Fatal exception: Null PMC access (PMC::isa_keyed_int)!\n"); - return (INTVAL)0; } } --- parrot/config/gen/makefiles/classes.in Wed Oct 15 19:18:52 2003 +++ parrot-leo/config/gen/makefiles/classes.in Sun Nov 2 12:14:20 2003 @@ -1,5 +1,6 @@ O = ${o} RM_F = ${rm_f} +TOUCH = $(PERL) -e ${PQ}open(A,q{>>$$_}) or die foreach @ARGV${PQ} INC=../include/parrot @@ -18,17 +19,40 @@ CC = ${cc} PERL = ${perl} MAKE_F=${make} -PMC2C=$(PERL) pmc2c.pl +PMC2C_old=$(PERL) pmc2c.pl + +PMC2CD=$(PERL) pmc2c2.pl --dump +PMC2CC=$(PERL) pmc2c2.pl --c + +PMC2C=$(PMC2CC) + +.SUFFIXES: .c .h .pmc .dump $(O) .c$(O): $(CC) $(CFLAGS) ${cc_o_out}$@ -c $< -all : $(O_FILES) +.pmc.dump: + $(PMC2CD) *.pmc + +all : dumps $(O_FILES) fin + +dumps: ../vtable.dump $(DUMP_FILES) + $(PMC2CD) *.pmc + +# main depends on $(O_FILES) +# when 1 is recompiled each other is out of data, but not +# to the rules inside here, so we touch all O_FILES at the +# end and avoid getting called ever and ever +fin: + $(TOUCH) $(O_FILES) + +../vtable.dump: ../vtable.tbl + $(PERL) pmc2c2.pl --vt ${pmc_build} clean: progclean - $(RM_F) *.c *.h + $(RM_F) *.c *.h *.dump progclean: $(RM_F) *$(O) --- parrot/lib/Parrot/Pmc2c.pm Sun Oct 12 14:07:23 2003 +++ parrot-leo/lib/Parrot/Pmc2c.pm Sun Nov 2 12:06:10 2003 @@ -72,7 +72,7 @@ sub class_name { my ($self, $class) = @_; - my %special = ( 'Ref' => 1, 'default' => 1 ); + my %special = ( 'Ref' => 1, 'default' => 1, 'Null' => 1 ); my $classname = $self->{class}; my $nclass = $class; # bless object into different classes inheriting from @@ -577,6 +577,39 @@ internal_exception(ILL_INHERIT, "$meth() not implemented in class '%s'", caller(interpreter, pmc)); + $ret +} + +EOC +} + +# null.pmc throws an execption for all meths +package Parrot::Pmc2c::Null; +use base 'Parrot::Pmc2c'; +import Parrot::Pmc2c qw( gen_ret ); + +sub implements +{ + 1; +} + +sub body +{ + my ($self, $method, $line) = @_; + my $meth = $method->{meth}; + my $decl = $self->decl($self->{class}, $method, 0); + my $l = ""; + my $ret = gen_ret($method); + unless ($self->{opt}{nolines}) { + $l = <<"EOC"; +#line $line "null.c" +EOC + } + return <<EOC; +$l +${decl} { + internal_exception(NULL_REG_ACCESS, + "Null PMC access in $meth()"); $ret }