Lines 7521-7527
Link Here
|
7521 |
If such a type has already been constructed, reuse it. */ |
7521 |
If such a type has already been constructed, reuse it. */ |
7522 |
|
7522 |
|
7523 |
tree |
7523 |
tree |
7524 |
build_function_type (tree value_type, tree arg_types) |
7524 |
build_function_type2 (tree value_type, tree arg_types, int extern_c) |
7525 |
{ |
7525 |
{ |
7526 |
tree t; |
7526 |
tree t; |
7527 |
hashval_t hashcode = 0; |
7527 |
hashval_t hashcode = 0; |
Lines 7538-7547
Link Here
|
7538 |
t = make_node (FUNCTION_TYPE); |
7538 |
t = make_node (FUNCTION_TYPE); |
7539 |
TREE_TYPE (t) = value_type; |
7539 |
TREE_TYPE (t) = value_type; |
7540 |
TYPE_ARG_TYPES (t) = arg_types; |
7540 |
TYPE_ARG_TYPES (t) = arg_types; |
|
|
7541 |
if(extern_c) |
7542 |
{ |
7543 |
TYPE_MINVAL (t) = integer_one_node; |
7544 |
} |
7541 |
|
7545 |
|
7542 |
/* If we already have such a type, use the old one. */ |
7546 |
/* If we already have such a type, use the old one. */ |
7543 |
hashcode = iterative_hash_object (TYPE_HASH (value_type), hashcode); |
7547 |
hashcode = iterative_hash_object (TYPE_HASH (value_type), hashcode); |
7544 |
hashcode = type_hash_list (arg_types, hashcode); |
7548 |
hashcode = type_hash_list (arg_types, hashcode); |
|
|
7549 |
hashcode = iterative_hash_object (extern_c, hashcode); |
7545 |
t = type_hash_canon (hashcode, t); |
7550 |
t = type_hash_canon (hashcode, t); |
7546 |
|
7551 |
|
7547 |
/* Set up the canonical type. */ |
7552 |
/* Set up the canonical type. */ |
Lines 7560-7565
Link Here
|
7560 |
layout_type (t); |
7565 |
layout_type (t); |
7561 |
return t; |
7566 |
return t; |
7562 |
} |
7567 |
} |
|
|
7568 |
tree |
7569 |
build_function_type (tree value_type, tree arg_types) |
7570 |
{ |
7571 |
return build_function_type2 (value_type, arg_types, 0); |
7572 |
} |
7563 |
|
7573 |
|
7564 |
/* Build variant of function type ORIG_TYPE skipping ARGS_TO_SKIP. */ |
7574 |
/* Build variant of function type ORIG_TYPE skipping ARGS_TO_SKIP. */ |
7565 |
|
7575 |
|