Changeset 668


Ignore:
Timestamp:
Sep 9, 2003, 1:58:32 AM (22 years ago)
Author:
bird
Message:

#572,#570: Corrected mangling for C++.

Location:
trunk/src/gcc/gcc/config/i386
Files:
2 edited

Legend:

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

    • Property cvs2svn:cvs-rev changed from 1.22 to 1.23
    r667 r668  
    123123#endif
    124124
    125 int emx_c_set_decl_assembler_name (tree decl)
     125int emx_c_set_decl_assembler_name (tree decl, bool fclass)
    126126{
    127127  static int recurse;
     
    132132  int rc = 1;
    133133
     134  dfprintf((stderr, "emx_c_set_decl_assembler_name\n"));
     135  DUMP(decl);
     136
    134137  /* Sometimes we recursively call DECL_ASSEMBLER_NAME to apply the default
    135138     mangling rules for current compiler. */
     
    141144    return 0;
    142145
    143   dfprintf((stderr, "emx_c_set_decl_assembler_name\n"));
    144   DUMP(decl);
    145 
    146146  recurse++;
    147147  type = TREE_TYPE (decl);
     
    155155
    156156      oldsym = IDENTIFIER_POINTER (DECL_NAME (decl));
     157      if (fclass)
     158        return 0;
    157159
    158160      /* Specifying '*' as first symbol character tells gcc (see varasm.c,
     
    198200      /* Mangle decl as the former assembler name modified with a
    199201         suffix consisting of an atsign (@) followed by the number of bytes of
    200          arguments */
     202         arguments.
     203         For C++ the same applies as for optlink. See above. */
    201204
    202205      int total = 0;
  • trunk/src/gcc/gcc/config/i386/emx.h

    • Property cvs2svn:cvs-rev changed from 1.18 to 1.19
    r667 r668  
    103103
    104104/* Do our own mangling on some kinds of decls */
    105 extern int emx_c_set_decl_assembler_name PARAMS ((tree));
     105extern int emx_c_set_decl_assembler_name PARAMS ((tree, _Bool));
    106106#define TARGET_C_SET_DECL_ASSEMBLER_NAME(decl) \
    107   emx_c_set_decl_assembler_name (decl)
     107  emx_c_set_decl_assembler_name (decl, 0)
    108108#define TARGET_CXX_SET_DECL_ASSEMBLER_NAME(decl) \
    109   (DECL_LANG_SPECIFIC(decl) && DECL_FUNCTION_MEMBER_P (decl) ? 0 : \
    110    emx_c_set_decl_assembler_name (decl))
     109  (emx_c_set_decl_assembler_name (decl, DECL_LANG_SPECIFIC(decl) && DECL_FUNCTION_MEMBER_P (decl)))
    111110
    112111/* pretty warnings and errors in C++ */
Note: See TracChangeset for help on using the changeset viewer.