Add char * which is supposed to work like in C and int
This commit is contained in:
13
ccodegen.cpp
13
ccodegen.cpp
@@ -90,11 +90,13 @@ gen_value(Value a){
|
||||
const char *string = bigint_to_error_string(scratch, &a.big_int_val, 10);
|
||||
gen("%s", string);
|
||||
}break;
|
||||
case TYPE_CHAR:
|
||||
gen("\"%s\"", a.intern_val.str);
|
||||
break;
|
||||
case TYPE_STRING: case TYPE_UNTYPED_STRING:
|
||||
gen("LIT(\"%s\")", a.intern_val.str);
|
||||
CASE_STRING:
|
||||
if(is_pointer(a.type)){
|
||||
assert(a.type == type_pointer_to_char);
|
||||
gen("\"%s\"", a.intern_val.str);
|
||||
} else{
|
||||
gen("LIT(\"%s\")", a.intern_val.str);
|
||||
}
|
||||
break;
|
||||
CASE_BOOL: a.bool_val ? gen("true"):gen("false"); break;
|
||||
CASE_FLOAT: gen("%f", a.f64_val); break;
|
||||
@@ -380,6 +382,7 @@ gen_ast(Ast *ast){
|
||||
gen_value(node->value);
|
||||
}break;
|
||||
CASE_STRING:{
|
||||
assert(is_pointer(node->type) ? node->type == type_pointer_to_char : 1);
|
||||
gen("// const String %s = ", node->name.str);
|
||||
gen_value(node->value);
|
||||
}break;
|
||||
|
||||
Reference in New Issue
Block a user