summaryrefslogtreecommitdiffstats
path: root/include/demangle.h
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2008-12-10 22:11:44 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2008-12-10 22:11:44 +0000
commite4583147b7e2227255dea297dabfef54ee489073 (patch)
tree262e40a0acb4385f32e278194a774e3b2f7f60a0 /include/demangle.h
parent0b09ae2a806790e0b8fd7732fd30a207b2b1f891 (diff)
downloadppe42-gcc-e4583147b7e2227255dea297dabfef54ee489073.tar.gz
ppe42-gcc-e4583147b7e2227255dea297dabfef54ee489073.zip
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: svn+ssh://gcc.gnu.org/svn/gcc/trunk@142661 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'include/demangle.h')
-rw-r--r--include/demangle.h13
1 files changed, 13 insertions, 0 deletions
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
{
OpenPOWER on IntegriCloud