--- a/stage4/generate_cc/search_constant_type.cc Tue May 29 09:45:50 2007 +0200
+++ b/stage4/generate_cc/search_constant_type.cc Thu Jun 14 08:58:10 2007 +0200
@@ -51,6 +51,8 @@
static dt_type_name_c dt_type_name;
static tod_type_name_c tod_type_name;
+ static constant_real_type_name_c constant_real_type_name;
+ static constant_int_type_name_c constant_int_type_name;
public:
symbol_c *get_type(symbol_c *constant) {
@@ -65,11 +67,11 @@
/******************************/
/* B 1.2.1 - Numeric Literals */
/******************************/
- void *visit(real_c *symbol) {return (void *)&real_type_name;}
- void *visit(integer_c *symbol) {return (void *)&int_type_name;}
- void *visit(binary_integer_c *symbol) {return (void *)&int_type_name;}
- void *visit(octal_integer_c *symbol) {return (void *)&int_type_name;}
- void *visit(hex_integer_c *symbol) {return (void *)&int_type_name;}
+ void *visit(real_c *symbol) {return (void *)&constant_real_type_name;}
+ void *visit(integer_c *symbol) {return (void *)&constant_int_type_name;}
+ void *visit(binary_integer_c *symbol) {return (void *)&constant_int_type_name;}
+ void *visit(octal_integer_c *symbol) {return (void *)&constant_int_type_name;}
+ void *visit(hex_integer_c *symbol) {return (void *)&constant_int_type_name;}
void *visit(numeric_literal_c *symbol)
{return (void *)((symbol->type!=NULL)?symbol->type:symbol->value->accept(*this));}
@@ -122,6 +124,8 @@
dt_type_name_c search_constant_type_c::dt_type_name;
tod_type_name_c search_constant_type_c::tod_type_name;
+constant_real_type_name_c search_constant_type_c::constant_real_type_name;
+constant_int_type_name_c search_constant_type_c::constant_int_type_name;