Mercurial > hg > CbC > CbC_gcc
comparison gcc/c-decl.c @ 102:fdc380f80c07
fix __rectype expression
author | Nobuyasu Oshiro <dimolto@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Mon, 20 Feb 2012 15:38:52 +0900 |
parents | 5c3ad79fc15b |
children | 46ee985e4f0e |
comparison
equal
deleted
inserted
replaced
101:5c3ad79fc15b | 102:fdc380f80c07 |
---|---|
5152 "%<__thread%>", | 5152 "%<__thread%>", |
5153 name); | 5153 name); |
5154 threadp = false; | 5154 threadp = false; |
5155 } | 5155 } |
5156 } | 5156 } |
5157 | |
5158 | |
5159 #ifndef noCbC | |
5160 if ( declspecs->typespec_word == cts_CbC_rec ) | |
5161 { | |
5162 type = build_code_segment_type (type, NULL_TREE); | |
5163 IS_RECTYPE(type) = 1; | |
5164 } | |
5165 #endif | |
5166 | |
5157 | 5167 |
5158 /* Now figure out the structure of the declarator proper. | 5168 /* Now figure out the structure of the declarator proper. |
5159 Descend through it, creating more complex types, until we reach | 5169 Descend through it, creating more complex types, until we reach |
5160 the declared identifier (or NULL_TREE, in an absolute declarator). | 5170 the declared identifier (or NULL_TREE, in an absolute declarator). |
5161 At each stage we maintain an unqualified version of the type | 5171 At each stage we maintain an unqualified version of the type |
5634 } | 5644 } |
5635 break; | 5645 break; |
5636 } | 5646 } |
5637 case cdk_pointer: | 5647 case cdk_pointer: |
5638 { | 5648 { |
5639 #ifndef noCbC | |
5640 if ( declspecs->typespec_word == cts_CbC_rec ) | |
5641 { | |
5642 type = build_code_segment_type (type, NULL_TREE); | |
5643 IS_RECTYPE(type) = 1; | |
5644 } | |
5645 #endif | |
5646 /* Merge any constancy or volatility into the target type | 5649 /* Merge any constancy or volatility into the target type |
5647 for the pointer. */ | 5650 for the pointer. */ |
5648 | 5651 |
5649 if (pedantic && TREE_CODE (type) == FUNCTION_TYPE | 5652 if (pedantic && TREE_CODE (type) == FUNCTION_TYPE |
5650 && type_quals) | 5653 && type_quals) |
5688 TYPE_NAME (type) = decl; | 5691 TYPE_NAME (type) = decl; |
5689 } | 5692 } |
5690 | 5693 |
5691 type = build_pointer_type (type); | 5694 type = build_pointer_type (type); |
5692 | 5695 |
5696 #ifndef noCbC | |
5697 if ( declspecs->typespec_word == cts_CbC_rec ){ | |
5698 IS_RECTYPE(type) = 1; | |
5699 } | |
5700 #endif | |
5693 /* Process type qualifiers (such as const or volatile) | 5701 /* Process type qualifiers (such as const or volatile) |
5694 that were given inside the `*'. */ | 5702 that were given inside the `*'. */ |
5695 type_quals = declarator->u.pointer_quals; | 5703 type_quals = declarator->u.pointer_quals; |
5696 | 5704 |
5697 declarator = declarator->declarator; | 5705 declarator = declarator->declarator; |