Changeset 604
- Timestamp:
- Aug 16, 2003, 4:51:55 PM (22 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
TabularUnified trunk/src/gcc/gcc/config/i386/emx.c ¶
-
Property cvs2svn:cvs-rev
changed from
1.14
to1.15
r603 r604 31 31 #include "flags.h" 32 32 33 /* Prototypes */ 34 static const char *gen_stdcall_suffix (tree); 33 35 34 36 /* The size of the target's pointer type. */ … … 38 40 39 41 /** @todo remove debug code */ 40 /*#define BIRD_DEBUG*/ 42 #define BIRD_DEBUG 41 43 #ifdef BIRD_DEBUG 42 44 static const char *code(tree node) … … 67 69 } 68 70 69 void dump (tree node);70 void dump (tree node)71 static void dump (tree node); 72 static void dump (tree node) 71 73 { 72 74 tree type, type2, context, name; … … 80 82 fprintf(stderr, "dbg: node=%d %s type=%d %s type_type=%d %s context=%d %s name=%s\n", 81 83 TREE_CODE(node), code(node), 82 type ? TREE_CODE(type) : -1, code(type),83 type2 ? TREE_CODE(type2) : -1, code(type2),84 context ? TREE_CODE(context) : -1, code(context),84 type ? (int)TREE_CODE(type) : -1, code(type), 85 type2 ? (int)TREE_CODE(type2) : -1, code(type2), 86 context ? (int)TREE_CODE(context) : -1, code(context), 85 87 name ? IDENTIFIER_POINTER (name) : "<none>"); 86 88 } … … 119 121 at least that's what I have understood from the docs). */ 120 122 /* @todo: verify the class detection here! Does it require use of 121 CLASSTYPE_DECLARED_CLASS (meaning it doesn't appl iesto plain123 CLASSTYPE_DECLARED_CLASS (meaning it doesn't apply to plain 122 124 structs/unions) ? */ 123 125 if ( TREE_CODE (TREE_TYPE (*node)) != METHOD_TYPE … … 145 147 underscore. 146 148 For C++ we are not compatible. It doesn't make that much sense 147 either since we're not VFT compatible either. For simpli sity148 and saf ty we are removing the leading underscore from the149 either since we're not VFT compatible either. For simplicity 150 and safety we are removing the leading underscore from the 149 151 default mangled names to catch invalid declarations in the 150 152 linking. */ … … 159 161 XEXP (DECL_RTL (*node), 0) = gen_rtx (SYMBOL_REF, Pmode, 160 162 IDENTIFIER_POINTER (get_identifier (newsym))); 161 dfprintf ((stderr, "dbg: optlink %s -> %s\n", oldsym, newsym));163 dfprintf ((stderr, "dbg: optlink %s -> %s\n", oldsym, newsym)); 162 164 } 163 165 else /* Internal error!!! */ 164 166 { 165 warning (" `%s' is an unknown attribute name forix86_handle_vacpp_attribute()",167 warning ("unexpected attribute `%s' in ix86_handle_vacpp_attribute()", 166 168 IDENTIFIER_POINTER (name)); 167 169 *no_add_attrs = true; … … 169 171 } 170 172 171 /* The attribute should really be attached to our _TYPE ,172 not to the _DECL. (yeah, we need to do this!)*/173 /* The attribute should really be attached to our _TYPE 174 rather than to the _DECL. */ 173 175 type = TREE_TYPE (*node); 174 176 TYPE_ATTRIBUTES (type) = chainon (TYPE_ATTRIBUTES (type), … … 181 183 passing right. */ 182 184 case FIELD_DECL: 183 184 185 /* Struct, union or class member declaration. Same handling as 186 type declarations. */ 185 187 case TYPE_DECL: 186 188 /* If this is a type declaration with our attribute, we allow it … … 205 207 206 208 /* For types involving functions we need to convince decl_attributes 207 (and it callers) to supply a declaration in case the mangling needs209 (and its callers) to supply a declaration in case the mangling needs 208 210 to be changed. */ 209 211 case POINTER_TYPE: … … 211 213 This being the return type of a function which is coming soon. 212 214 This being a function pointer which declaration is coming next. 213 Everything else is con cidered inappropriate use of the attribute. */215 Everything else is considered inappropriate use of the attribute. */ 214 216 if ( !(flags & ATTR_FLAG_FUNCTION_NEXT) 215 217 && ( !(flags & ATTR_FLAG_DECL_NEXT) … … 218 220 && TREE_CODE (type) != METHOD_TYPE))) 219 221 { 220 warning ("`%s' attribute only applies to functions and function types (typecode=%d)",221 IDENTIFIER_POINTER (name) , type ? (int)TREE_CODE (type) : -1);222 warning ("`%s' attribute only applies to functions and function types", 223 IDENTIFIER_POINTER (name)); 222 224 *no_add_attrs = true; 223 225 break; … … 226 228 case FUNCTION_TYPE: 227 229 case METHOD_TYPE: 230 /* This branch is taken when a function/method type is encountered. 231 We defer attribute handling until we get the complete declaration */ 228 232 *no_add_attrs = true; 229 233 return tree_cons (name, args, NULL_TREE); … … 249 253 data_section (); 250 254 ASM_OUTPUT_ALIGN (asm_out_file, floor_log2 (PTR_SIZE)); 251 fp rintf (asm_out_file,252 "\t.stabs\t\"___eh_frame__\",24,0,0,Lframe1\n" /* N_SETD*/253 "\t.stabs\t\"___ehInit\",1,0,0,0\n"); /* N_UNDEF | N_EXT */255 fputs ("\t.stabs\t\"___eh_frame__\",24,0,0,Lframe1\n" /* N_SETD */ 256 "\t.stabs\t\"___ehInit\",1,0,0,0\n", /* N_UNDEF | N_EXT */ 257 asm_out_file); 254 258 } 255 259 … … 273 277 arguments */ 274 278 275 const char *279 static const char * 276 280 gen_stdcall_suffix (tree decl) 277 281 { -
Property cvs2svn:cvs-rev
changed from
Note:
See TracChangeset
for help on using the changeset viewer.