From a665fef641ddd92a06c53191dd4b21d2ae511a3e Mon Sep 17 00:00:00 2001 From: David Daney Date: Sun, 27 Jan 2008 06:25:45 +0000 Subject: [PATCH] include/ 2008-01-26 David Daney * demangle.h (demangle_component_type): Add DEMANGLE_COMPONENT_JAVA_RESOURCE, DEMANGLE_COMPONENT_COMPOUND_NAME, and DEMANGLE_COMPONENT_CHARACTER as new enum values. (demangle_component): Add struct s_character to union u. libiberty/ 2008-01-26 David Daney * cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_JAVA_RESOURCE, DEMANGLE_COMPONENT_COMPOUND_NAME, and DEMANGLE_COMPONENT_CHARACTER cases. (d_make_comp): Handle DEMANGLE_COMPONENT_COMPOUND_NAME and DEMANGLE_COMPONENT_JAVA_RESOURCE cases. (d_make_character): New function. (d_java_resource): Same. (d_special_name): Handle "Gr" case. (d_print_comp): Handle DEMANGLE_COMPONENT_JAVA_RESOURCE, DEMANGLE_COMPONENT_COMPOUND_NAME, and DEMANGLE_COMPONENT_CHARACTER cases. * testsuite/demangle-expected: Add test for java resource name mangling. --- include/ChangeLog | 8 ++++++++ include/demangle.h | 16 +++++++++++++++- 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/include/ChangeLog b/include/ChangeLog index 9e079f625..cf687ca78 100644 --- a/include/ChangeLog +++ b/include/ChangeLog @@ -1,3 +1,11 @@ +2008-01-26 David Daney + + * demangle.h (demangle_component_type): Add + DEMANGLE_COMPONENT_JAVA_RESOURCE, + DEMANGLE_COMPONENT_COMPOUND_NAME, and + DEMANGLE_COMPONENT_CHARACTER as new enum values. + (demangle_component): Add struct s_character to union u. + 2008-01-23 Eric B. Weddington * opcode/avr.h (AVR_ISA_RF401): Add new opcode set for at86rf401. diff --git a/include/demangle.h b/include/demangle.h index b55226d85..78e022dff 100644 --- a/include/demangle.h +++ b/include/demangle.h @@ -362,7 +362,15 @@ enum demangle_component_type using 'n' instead of '-', we want a way to indicate a negative number which involves neither modifying the mangled string nor allocating a new copy of the literal in memory. */ - DEMANGLE_COMPONENT_LITERAL_NEG + DEMANGLE_COMPONENT_LITERAL_NEG, + /* A libgcj compiled resource. The left subtree is the name of the + resource. */ + DEMANGLE_COMPONENT_JAVA_RESOURCE, + /* A name formed by the concatenation of two parts. The left + subtree is the first part and the right subtree the second. */ + DEMANGLE_COMPONENT_COMPOUND_NAME, + /* A name formed by a single character. */ + DEMANGLE_COMPONENT_CHARACTER }; /* Types which are only used internally. */ @@ -448,6 +456,12 @@ struct demangle_component long number; } s_number; + /* For DEMANGLE_COMPONENT_CHARACTER. */ + struct + { + int character; + } s_character; + /* For other types. */ struct {