All pastes #803543 Raw Edit

CodeGen error

public text v1 · immutable
·published 2007-12-02 09:49 UTC
rendered paste body
typedef struct expression_s {
    int                nChildren;
    expression_node_t *children[MAX_CHILDREN];
} expression_t;

expression_t *create_expression() {
    expression_t *expr = (expression_t*)malloc(sizeof(expression_t));
    expr->nChildren = 0;
    return expr;
}

==>

define %struct.expression_s* @create_expression() {
entry:
	%expr = alloca %struct.expression_s*		; <%struct.expression_s**> [#uses=3]
	%call = call i8* @malloc( i32 132 )		; <i8*> [#uses=1]
	%conv = bitcast i8* %call to %struct.expression_s*		; <%struct.expression_s*> [#uses=1]
	store %struct.expression_s* %conv, %struct.expression_s** %expr
	%tmp = bitcast %struct.expression_s** %expr to %struct.expression_s*		; <%struct.expression_s*> [#uses=1]
	%tmp1 = getelementptr %struct.expression_s* %tmp, i32 0, i32 0		; <i32*> [#uses=1]
	store i32 0, i32* %tmp1
	%tmp2 = load %struct.expression_s** %expr		; <%struct.expression_s*> [#uses=1]
	ret %struct.expression_s* %tmp2
}