Changeset 676 for trunk


Ignore:
Timestamp:
Sep 9, 2003, 8:37:41 PM (22 years ago)
Author:
bird
Message:

#631: return struct for system and optlink calling conventions.

Location:
trunk/src/gcc/gcc
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gcc/gcc/calls.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r675 r676  
    22742274
    22752275  /* Cater to broken compilers.  */
    2276   if (aggregate_value_p (exp))
     2276  if (aggregate_value_p
    22772277    {
    22782278      /* This call returns a big structure.  */
  • trunk/src/gcc/gcc/config/i386/emx.c

    • Property cvs2svn:cvs-rev changed from 1.24 to 1.25
    r675 r676  
    130130  tree id, type;
    131131  int rc = 1;
    132 
     132 
     133  /*
    133134  dfprintf((stderr, "emx_c_set_decl_assembler_name\n"));
    134135  DUMP(decl);
     136
    135137
    136138  /* Sometimes we recursively call DECL_ASSEMBLER_NAME to apply the default
     
    421423  }
    422424}
     425
     426
     427
     428
     429
     430
     431
     432
     433
     434
     435
     436
     437
     438
     439
     440
     441
     442
     443
     444
     445
     446
     447
     448
     449
     450
     451
     452
     453
     454
     455
     456
     457
     458
     459
     460
     461
     462
     463
     464
     465
     466
     467
     468
     469
     470
     471
     472
     473
     474
     475
  • trunk/src/gcc/gcc/config/i386/emx.h

    • Property cvs2svn:cvs-rev changed from 1.20 to 1.21
    r675 r676  
    108108#define TARGET_CXX_SET_DECL_ASSEMBLER_NAME(decl) \
    109109  (emx_c_set_decl_assembler_name (decl, DECL_LANG_SPECIFIC(decl) && DECL_FUNCTION_MEMBER_P (decl)))
     110
     111
     112
     113
     114
    110115
    111116/* This macros will stick a label to exception table for current file,
  • trunk/src/gcc/gcc/cp/decl.c

    • Property cvs2svn:cvs-rev changed from 1.2 to 1.3
    r675 r676  
    1433714337         simpler, since we don't have to worry about promoted modes.  */
    1433814338      if (r != error_mark_node
    14339           && aggregate_value_p (TREE_TYPE (TREE_TYPE (fndecl))))
     14339          && aggregate_value_p
    1434014340        {
    1434114341          DECL_ALIGN (r) = DECL_ALIGN (DECL_RESULT (fndecl));
  • trunk/src/gcc/gcc/cp/semantics.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r675 r676  
    22292229  copy_from_buffer_p = 0;
    22302230#ifdef PCC_STATIC_STRUCT_RETURN 
    2231   if (!AGGR_INIT_VIA_CTOR_P (aggr_init_expr) && aggregate_value_p (type))
     2231  if (!AGGR_INIT_VIA_CTOR_P (aggr_init_expr) && aggregate_value_p
    22322232    {
    22332233      int old_ac = flag_access_control;
  • trunk/src/gcc/gcc/expr.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r675 r676  
    37913791     needs to be done.  Handling this in the normal way is safe because no
    37923792     computation is done before the call.  */
    3793   if (TREE_CODE (from) == CALL_EXPR && ! aggregate_value_p (from)
     3793  if (TREE_CODE (from) == CALL_EXPR && ! aggregate_value_p
    37943794      && TREE_CODE (TYPE_SIZE (TREE_TYPE (from))) == INTEGER_CST
    37953795      && ! ((TREE_CODE (to) == VAR_DECL || TREE_CODE (to) == PARM_DECL)
  • trunk/src/gcc/gcc/function.c

    • Property cvs2svn:cvs-rev changed from 1.3 to 1.4
    r675 r676  
    42784278   EXP may be a type node or an expression (whose type is tested).  */
    42794279
     4280
     4281
     4282
     4283
    42804284int
    42814285aggregate_value_p (exp)
    42824286     tree exp;
    42834287{
     4288
     4289
     4290
     4291
     4292
     4293
     4294
     4295
     4296
     4297
     4298
     4299
    42844300  int i, regno, nregs;
    42854301  rtx reg;
     
    42894305  if (TREE_CODE (type) == VOID_TYPE)
    42904306    return 0;
     4307
     4308
     4309
     4310
    42914311  if (RETURN_IN_MEMORY (type))
    42924312    return 1;
     
    43864406
    43874407  /* If struct value address is treated as the first argument, make it so.  */
    4388   if (aggregate_value_p (DECL_RESULT (fndecl))
     4408  if (aggregate_value_p
    43894409      && ! current_function_returns_pcc_struct
    43904410      && struct_value_incoming_rtx == 0)
     
    64086428
    64096429  /* Set flags used by final.c.  */
    6410   if (aggregate_value_p (DECL_RESULT (subr)))
     6430  if (aggregate_value_p
    64116431    {
    64126432#ifdef PCC_STATIC_STRUCT_RETURN
     
    65856605
    65866606  /* Decide whether to return the value in memory or in a register.  */
    6587   if (aggregate_value_p (DECL_RESULT (subr)))
     6607  if (aggregate_value_p
    65886608    {
    65896609      /* Returning something that won't go in a register.  */
  • trunk/src/gcc/gcc/integrate.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r675 r676  
    10301030        {
    10311031          if (! structure_value_addr
    1032               || ! aggregate_value_p (DECL_RESULT (fndecl)))
     1032              || ! aggregate_value_p
    10331033            abort ();
    10341034
     
    12851285  if (target
    12861286      && TYPE_MODE (TREE_TYPE (TREE_TYPE (fndecl))) == BLKmode
    1287       && ! aggregate_value_p (TREE_TYPE (TREE_TYPE (fndecl))))
     1287      && ! aggregate_value_p
    12881288    target = copy_blkmode_from_reg (0, target, TREE_TYPE (TREE_TYPE (fndecl)));
    12891289
  • trunk/src/gcc/gcc/reg-stack.c

    • Property cvs2svn:cvs-rev changed from 1.2 to 1.3
    r675 r676  
    832832  /* If the value is supposed to be returned in memory, then clearly
    833833     it is not returned in a stack register.  */
    834   if (aggregate_value_p (DECL_RESULT (decl)))
     834  if (aggregate_value_p
    835835    return 0;
    836836
  • trunk/src/gcc/gcc/tree.h

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r675 r676  
    30203020extern void preserve_rtl_expr_temps     PARAMS ((tree));
    30213021extern int aggregate_value_p            PARAMS ((tree));
     3022
     3023
     3024
     3025
     3026
    30223027extern void free_temps_for_rtl_expr     PARAMS ((tree));
    30233028extern void instantiate_virtual_regs    PARAMS ((tree, rtx));
Note: See TracChangeset for help on using the changeset viewer.