summaryrefslogtreecommitdiff
path: root/include/demangle.h
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2009-03-17 23:31:18 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>2009-03-17 23:31:18 +0000
commite92154af793a1276995512dfa15f72a69ecb4db9 (patch)
treea0bf6190acd7e4997d3304c4bfe60c3c1b461532 /include/demangle.h
parent21b6de0b608fe2c3ce1bd0b9bd0e77109c061358 (diff)
downloadgcc-e92154af793a1276995512dfa15f72a69ecb4db9.tar.gz
cp/:
* decl.c (grokfndecl): Set DECL_CONTEXT on parms. (duplicate_decls): Adjust DECL_CONTEXT of newdecl's parms. * pt.c (check_explicit_specialization): Likewise. (tsubst_copy) [PARM_DECL]: Return a dummy parm if we don't have a local specialization. * tree.c (cp_tree_equal) [PARM_DECL]: Check type and index, not name. * decl2.c (parm_index): New fn. * semantics.c (finish_decltype_type): Don't use describable_type. * mangle.c (write_expression): Likewise. Mangle ALIGNOF_EXPR. Give a sorry for unsupported codes rather than crash. Mangle conversions with other than 1 operand. New mangling for PARM_DECL. * operators.def (ALIGNOF_EXPR): Mangle as az. * include/demangle.h (enum demangle_component_type): Add DEMANGLE_COMPONENT_FUNCTION_PARAM. * libiberty/cp-demangle.c (d_make_function_param): new fn. (cplus_demangle_mangled_name): Work around abi v2 bug. (d_expr_primary): Likewise. (cplus_demangle_operators): Add alignof ops. (d_expression): Handle function parameters and conversions with other than 1 operand. (d_print_comp): Handle function parameters. Fix bug with function used in type of function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@144924 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'include/demangle.h')
-rw-r--r--include/demangle.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/demangle.h b/include/demangle.h
index 28c69f5e78c..eb39c7c13c4 100644
--- a/include/demangle.h
+++ b/include/demangle.h
@@ -221,6 +221,8 @@ enum demangle_component_type
/* A template parameter. This holds a number, which is the template
parameter index. */
DEMANGLE_COMPONENT_TEMPLATE_PARAM,
+ /* A function parameter. This holds a number, which is the index. */
+ DEMANGLE_COMPONENT_FUNCTION_PARAM,
/* A constructor. This holds a name and the kind of
constructor. */
DEMANGLE_COMPONENT_CTOR,
@@ -466,10 +468,10 @@ struct demangle_component
int len;
} s_string;
- /* For DEMANGLE_COMPONENT_TEMPLATE_PARAM. */
+ /* For DEMANGLE_COMPONENT_*_PARAM. */
struct
{
- /* Template parameter index. */
+ /* Parameter index. */
long number;
} s_number;