Changeset 2251


Ignore:
Timestamp:
Jul 16, 2005, 12:27:42 AM (20 years ago)
Author:
bird
Message:

Attempt at fixing thunk exporting.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/gcc/gcc/config/i386/emx.c

    • Property cvs2svn:cvs-rev changed from 1.31 to 1.32
    r2250 r2251  
    3838#endif
    3939
    40 /** @todo remove debug code */
    4140/*#define BIRD_DEBUG - DO NOT COMMIT WITH THIS DEFINED!!! */
    4241
     
    9291        return psznone;
    9392
    94     attr = (DECL_P (node) ? DECL_ATTRIBUTES (node) : TYPE_ATTRIBUTES (node));
     93    attr = ;
    9594    if (!attr)
    9695        return pszdefault;
     
    640639  if (TREE_CODE (TREE_TYPE (decl)) == METHOD_TYPE)
    641640    {
     641
    642642      /* Artificial methods are not affected by the import/export status of
    643643         their class unless they are virtual.  */
    644644      if (! DECL_ARTIFICIAL (decl) || DECL_VINDEX (decl))
    645645        t = TREE_TYPE (TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (decl))));
     646
     647
     648
     649
     650
     651
     652
     653
     654
     655
     656
     657
    646658    }
    647659  else if (DECL_CONTEXT (decl)
     
    745757        }
    746758
     759
    747760      /* Since we can't treat a pointer to a dllimport'd symbol as a
    748761         constant address, we turn off the attribute on C++ virtual
     
    751764               && (DECL_VIRTUAL_P (decl)))
    752765           return 0;
     766
     767
     768
     769
     770
     771
     772
     773
     774
     775
    753776
    754777      return 1;
     
    808831      warning_with_decl (decl,"inconsistent dll linkage for '%s': dllexport assumed.");
    809832     /* Remove DLL_IMPORT_PREFIX.  */
    810       oldname += 9;
     833      oldname +=
    811834      DECL_NON_ADDR_CONST_P (decl) = 0;
    812835    }
     
    834857{
    835858  const char *oldname;
    836   char  *newname;
    837   tree idp;
    838   rtx rtlname, newrtl;
     859 
     860 
     861  rtx rtlname;
    839862  dfprintf ((stderr, "trace: i386_emx_mark_dllimport\n"));
    840863
     
    864887    }
    865888
     889
    866890  newname = alloca (strlen (oldname) + 11);
    867891  sprintf (newname, "%ci.%s", DLL_IMPORT_EXPORT_PREFIX, oldname);
     
    880904  /* Can't treat a pointer to this as a constant address */
    881905  DECL_NON_ADDR_CONST_P (decl) = 1;
     906
    882907}
    883908
     
    10951120            {
    10961121              DUMP(decl);
     1122
     1123
    10971124              if (!TREE_STATIC (decl))
    10981125                {
     
    11001127                  continue;
    11011128                }
     1129
    11021130              if (!q->asm_name)
    11031131                q->asm_name = q->exported_name ? q->exported_name
Note: See TracChangeset for help on using the changeset viewer.