aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2008-12-10 22:11:44 +0000
committerJason Merrill <jason@redhat.com>2008-12-10 22:11:44 +0000
commit38dbbe83260f0ce8cda1aadd6864205612ad51f4 (patch)
tree262e40a0acb4385f32e278194a774e3b2f7f60a0 /include
parentd3e863836e94b149035a8ff5220528c0694b33dc (diff)
PR c++/35319
* mangle.c (write_builtin_type): Add mangling for decimal floating point and fixed point types. (write_type): Pass FIXED_POINT_TYPE along. * cp-demangle.c (cplus_demangle_type): Support fixed-point types. (d_print_comp, d_dump): Likewise. git-svn-id: https://gcc.gnu.org/svn/gcc/trunk@142661 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'include')
-rw-r--r--include/ChangeLog5
-rw-r--r--include/demangle.h13
2 files changed, 18 insertions, 0 deletions
diff --git a/include/ChangeLog b/include/ChangeLog
index 768fb440033..a07e075f713 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,8 @@
+2008-12-10 Jason Merrill <jason@redhat.com>
+
+ * demangle.h (enum demangle_component_type): Add
+ DEMANGLE_COMPONENT_FIXED_TYPE.
+
2008-11-19 Bob Wilson <bob.wilson@acm.org>
* xtensa-config.h (XCHAL_HAVE_MUL16, XCHAL_HAVE_MUL32, XCHAL_HAVE_DIV32)
diff --git a/include/demangle.h b/include/demangle.h
index 0ea639d62ba..28c69f5e78c 100644
--- a/include/demangle.h
+++ b/include/demangle.h
@@ -319,6 +319,8 @@ enum demangle_component_type
and the right subtree is the member type. CV-qualifiers appear
on the latter. */
DEMANGLE_COMPONENT_PTRMEM_TYPE,
+ /* A fixed-point type. */
+ DEMANGLE_COMPONENT_FIXED_TYPE,
/* An argument list. The left subtree is the current argument, and
the right subtree is either NULL or another ARGLIST node. */
DEMANGLE_COMPONENT_ARGLIST,
@@ -419,6 +421,17 @@ struct demangle_component
struct demangle_component *name;
} s_extended_operator;
+ /* For DEMANGLE_COMPONENT_FIXED_TYPE. */
+ struct
+ {
+ /* The length, indicated by a C integer type name. */
+ struct demangle_component *length;
+ /* _Accum or _Fract? */
+ short accum;
+ /* Saturating or not? */
+ short sat;
+ } s_fixed;
+
/* For DEMANGLE_COMPONENT_CTOR. */
struct
{