Ignore:
Timestamp:
Apr 27, 2004, 8:39:34 PM (21 years ago)
Author:
bird
Message:

GCC v3.3.3 sources.

Location:
branches/GNU/src/gcc
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/GNU/src/gcc

    • Property svn:ignore
      •  

        old new  
        2626configure.vr
        2727configure.vrs
         28dir.info
        2829Makefile
        29 dir.info
        3030lost+found
        3131update.out
  • branches/GNU/src/gcc/libiberty/cp-demangle.c

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.1.1.2
    r1390 r1391  
    5151#include <string.h>
    5252#endif
     53
     54#include <ctype.h>
    5355
    5456#include "ansidecl.h"
     
    834836    }
    835837  dm->style = style;
    836   dm->is_constructor = 0;
    837   dm->is_destructor = 0;
     838  dm->is_constructor = (enum gnu_v3_ctor_kinds) 0;
     839  dm->is_destructor = (enum gnu_v3_dtor_kinds) 0;
    838840
    839841  return dm;
     
    973975    {
    974976      if (error_message == NULL)
    975         error_message = strdup ("Expected ?");
     977        error_message = (char *) strdup ("Expected ?");
    976978      error_message[9] = c;
    977979      return error_message;
     
    14671469  while (length-- > 0)
    14681470    {
     1471      int ch;
    14691472      if (end_of_name_p (dm))
    14701473        return "Unexpected end of name in <identifier>.";
    1471       if (!dyn_string_append_char (identifier, next_char (dm)))
     1474      ch = next_char (dm);
     1475
     1476      /* Handle extended Unicode characters.  We encode them as __U{hex}_,
     1477         where {hex} omits leading 0's.  For instance, '$' is encoded as
     1478         "__U24_".  */
     1479      if (ch == '_'
     1480          && peek_char (dm) == '_'
     1481          && peek_char_next (dm) == 'U')
     1482        {
     1483          char buf[10];
     1484          int pos = 0;
     1485          advance_char (dm); advance_char (dm); length -= 2;
     1486          while (length-- > 0)
     1487            {
     1488              ch = next_char (dm);
     1489              if (!isxdigit (ch))
     1490                break;
     1491              buf[pos++] = ch;
     1492            }
     1493          if (ch != '_' || length < 0)
     1494            return STATUS_ERROR;
     1495          if (pos == 0)
     1496            {
     1497              /* __U_ just means __U.  */
     1498              if (!dyn_string_append_cstr (identifier, "__U"))
     1499                return STATUS_ALLOCATION_FAILED;
     1500              continue;
     1501            }
     1502          else
     1503            {
     1504              buf[pos] = '\0';
     1505              ch = strtol (buf, 0, 16);
     1506            }
     1507        }
     1508
     1509      if (!dyn_string_append_char (identifier, ch))
    14721510        return STATUS_ALLOCATION_FAILED;
    14731511    }
     
    33613399          else
    33623400            {
    3363               RETURN_IF_ERROR (result_add (dm, "std::basic_istream<char, std::char_traints<char> >"));
     3401              RETURN_IF_ERROR (result_add (dm, "std::basic_istream<char, std::char_traits<char> >"));
    33643402              new_last_source_name = "basic_istream";
    33653403            }
     
    38813919
    38823920
     3921#ifndef IN_GLIBCPP_V3
    38833922/* Demangle NAME in the G++ V3 ABI demangling style, and return either
    38843923   zero, indicating that some error occurred, or a demangling_t
     
    39183957
    39193958
    3920 #ifndef IN_GLIBCPP_V3
    39213959/* Return non-zero iff NAME is the mangled form of a constructor name
    39223960   in the G++ V3 ABI demangling style.  Specifically, return:
     
    39373975    }
    39383976  else
    3939     return 0;
     3977    return (enum gnu_v3_ctor_kinds) 0;
    39403978}
    39413979
     
    39593997    }
    39603998  else
    3961     return 0;
     3999    return (enum gnu_v3_dtor_kinds) 0;
    39624000}
    39634001#endif /* IN_GLIBCPP_V3 */
Note: See TracChangeset for help on using the changeset viewer.