summaryrefslogtreecommitdiffstats
path: root/libiberty/testsuite/demangle-expected
Commit message (Collapse)AuthorAgeFilesLines
* Fix demangler to handle conversion operators correctly.ccoutant2013-11-221-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | libiberty/ PR other/59195 * cp-demangle.c (struct d_info_checkpoint): New struct. (struct d_print_info): Add current_template field. (d_operator_name): Set flag when processing a conversion operator. (cplus_demangle_type): When processing <template-args> for a conversion operator, backtrack if necessary. (d_expression_1): Renamed from d_expression. (d_expression): New wrapper around d_expression_1. (d_checkpoint): New function. (d_backtrack): New function. (d_print_init): Initialize current_template. (d_print_comp): Set current_template. (d_print_cast): Put current_template in scope for printing conversion operator name. (cplus_demangle_init_info): Initialize is_expression and is_conversion. * cp-demangle.h (struct d_info): Add is_expression and is_conversion fields. * testsuite/demangle-expected: New test cases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205292 138bc75d-0d04-0410-961f-82ee72b054a4
* libiberty/gary2013-10-251-0/+3
| | | | | | | | | | | | | | | | | | | | | | | 2013-10-25 Gary Benson <gbenson@redhat.com> * cp-demangle.c (struct d_saved_scope): New structure. (struct d_print_info): New fields saved_scopes and num_saved_scopes. (d_print_init): Initialize the above. (d_print_free): New function. (cplus_demangle_print_callback): Call the above. (d_copy_templates): New function. (d_print_comp): New variables saved_templates and need_template_restore. [DEMANGLE_COMPONENT_REFERENCE, DEMANGLE_COMPONENT_RVALUE_REFERENCE]: Capture scope the first time the component is traversed, and use the captured scope for subsequent traversals. * testsuite/demangle-expected: Add regression test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204068 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-10-11 Paul Pluzhnikov <ppluzhnikov@google.com>ppluzhnikov2013-10-121-0/+3
| | | | | | | | * cp-demangle.c (d_name): Demangle local-source-names. * testsuite/demangle-expected: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203476 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-10 Paolo Carlini <paolo.carlini@oracle.com>paolo2013-09-101-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | PR bootstrap/58386 Revert: 2013-09-10 Gary Benson <gbenson@redhat.com> * cp-demangle.c: Include hashtab.h. (struct d_print_info): New field saved_scopes. (d_print_init): Initialize the above. (d_print_free): New function. (cplus_demangle_print_callback): Call the above. (struct d_saved_scope): New structure. (d_store_scope): New function. (d_free_scope) Likewise. (d_restore_scope) Likewise. (d_hash_saved_scope) Likewise. (d_equal_saved_scope) Likewise. (d_print_comp): New variable saved_scope. [DEMANGLE_COMPONENT_REFERENCE, DEMANGLE_COMPONENT_RVALUE_REFERENCE]: Capture scope the first time the component is traversed, and use the captured scope for subsequent traversals. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202480 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-09-10 Gary Benson <gbenson@redhat.com>gary2013-09-101-0/+3
| | | | | | | | | | | | | | | | | | | | | | | * cp-demangle.c: Include hashtab.h. (struct d_print_info): New field saved_scopes. (d_print_init): Initialize the above. (d_print_free): New function. (cplus_demangle_print_callback): Call the above. (struct d_saved_scope): New structure. (d_store_scope): New function. (d_free_scope) Likewise. (d_restore_scope) Likewise. (d_hash_saved_scope) Likewise. (d_equal_saved_scope) Likewise. (d_print_comp): New variable saved_scope. [DEMANGLE_COMPONENT_REFERENCE, DEMANGLE_COMPONENT_RVALUE_REFERENCE]: Capture scope the first time the component is traversed, and use the captured scope for subsequent traversals. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@202442 138bc75d-0d04-0410-961f-82ee72b054a4
* libiberty/jason2013-04-041-2/+2
| | | | | | | | | | | * cp-demangle.c (cplus_demangle_type): Fix function quals. (d_pointer_to_member_type): Simplify. gcc/cp/ * mangle.c (write_type): When writing a function type with function-cv-quals, don't add the unqualified type as a substitution candidate. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197460 138bc75d-0d04-0410-961f-82ee72b054a4
* Demangle C++11 ref-qualifier.jason2013-04-031-0/+12
| | | | | | | | | | | | | | | | | | | | include/ * demangle.h (enum demangle_component_type): Add DEMANGLE_COMPONENT_REFERENCE_THIS, DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS. libiberty/ * cp-demangle.c (d_ref_qualifier): New. (d_nested_name, d_function_type): Use it. (d_parmlist): Don't get confused by a ref-qualifier. (cplus_demangle_type): Reorder ref-qualifier. (d_pointer_to_member_type): Likewise. (d_dump): Handle DEMANGLE_COMPONENT_REFERENCE_THIS and DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS. (d_make_comp, has_return_type, d_encoding): Likewise. (d_print_comp, d_print_mod_list, d_print_mod): Likewise. (d_print_function_type, is_ctor_or_dtor): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197436 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/55223jason2013-02-151-0/+3
| | | | | | | | | | | | gcc/cp/ * pt.c (tsubst_copy_and_build) [LAMBDA_EXPR]: Fix handling of default argument scope. * mangle.c (write_name): Likewise. libiberty/ * cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_DEFAULT_ARG. (d_print_comp): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196065 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (d_unqualified_name): Handle abi tags here.jason2012-11-111-0/+3
| | | | | | (d_name): Not here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193401 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (cplus_demangle_operators): Add *_cast.jason2012-07-181-0/+3
| | | | | | | (op_is_new_cast): New. (d_expression, d_print_comp): Check it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189630 138bc75d-0d04-0410-961f-82ee72b054a4
* http://sourceware.org/bugzilla/show_bug.cgi?id=14065tromey2012-05-221-0/+4
| | | | | | | | * testsuite/demangle-expected: Add regression test. * cp-demangle.c (d_find_pack): Return NULL for DEMANGLE_COMPONENT_UNNAMED_TYPE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187773 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/cp/jason2012-03-211-0/+6
| | | | | | | | | | * mangle.c (write_type): Handle 'auto'. * init.c (build_new): Don't do auto deduction where it might affect template mangling. libiberty/ * cp-demangle.c (cplus_demangle_type): Handle 'auto'. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185595 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (cplus_demangle_operators): Add li.jason2012-03-071-0/+3
| | | | | | (d_unqualified_name): Handle it specially. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@185082 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (d_print_comp) [DEMANGLE_COMPONENT_OPERATOR]:jason2012-01-101-0/+3
| | | | | | Omit a trailing space in the operator name. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183072 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/6057jason2012-01-061-1/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR c++/48051 PR c++/50855 PR c++/51322 gcc/cp/ * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR, THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and PREDECREMENT_EXPR. (write_template_arg): Fix mangling of class-scope functions and argument packs. (mangle_decl): Update suggested -fabi-version argument. * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR, DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR. * tree.c (dependent_name): No longer static. * cp-tree.h: Declare it. * pt.c (unify): Defer handling of unconverted functions. include/ * demangle.h (enum demangle_component_type): Add DEMANGLE_COMPONENT_INITIALIZER_LIST, DEMANGLE_COMPONENT_NULLARY. libiberty/ * cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_NULLARY and DEMANGLE_COMPONENT_INITIALIZER_LIST. (d_make_comp): Likewise. Allow null right arg for DEMANGLE_COMPONENT_TRINARY_ARG2. (cplus_demangle_operators): Adjust new/delete; add .*, :: and throw. (d_template_args, d_template_arg): Handle 'J' for argument packs. (d_exprlist): Add terminator parm. (d_expression, d_print_comp): Handle initializer lists, nullary expressions, prefix/suffix operators, and new. (d_print_subexpr): Avoid parens around DEMANGLE_COMPONENT_QUAL_NAME and DEMANGLE_COMPONENT_INITIALIZER_LIST. * testsuite/demangle-expected: Add tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182970 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (cplus_demangle_type): decltype, pack expansionjason2012-01-061-0/+12
| | | | | | | and vector are substitutable. (cplus_demangle_operators): Sort. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182969 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/48665ian2011-10-101-0/+5
| | | | | | | | | * cp-demangle.c (d_cv_qualifiers): If qualifiers are applied to a function type, change them to apply to the "this" parameter. * testsuite/demangle-expected: Add test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179772 138bc75d-0d04-0410-961f-82ee72b054a4
* include/ChangeLog:ccoutant2011-09-231-0/+47
| | | | | | | | | | | | | | | | | | PR 40831 * demangle.h (enum demangle_component_type): Add DEMANGLE_COMPONENT_CLONE. libiberty/ChangeLog: PR 40831 * cp-demangle.c (d_make_comp): Add new component type. (cplus_demangle_mangled_name): Check for clone suffixes. (d_parmlist): Don't error out if we see '.'. (d_clone_suffix): New function. (d_print_comp): Print info for clone suffixes. * testsuite/demangle-expected: Add new testcases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179132 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/49932jason2011-08-011-0/+4
| | | | | | | | | gcc/cp/ * mangle.c (write_prefix): Handle decltype. libiberty/ * cp-demangle.c (d_prefix): Handle decltype. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@177074 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove an extra line.hjl2011-07-261-1/+0
| | | | | | | | | 2011-07-26 H.J. Lu <hongjiu.lu@intel.com> * testsuite/demangle-expected: Remove an extra line. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176796 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (d_print_init): Initialize pack_index field.ian2011-07-261-0/+6
| | | | | | | | (d_print_comp): Check for NULL template argument. * testsuite/demangle-expected: Add test case. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176791 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (d_expression): Handle 'this'.jason2011-07-041-0/+4
| | | | | | (d_print_comp) [DEMANGLE_COMPONENT_FUNCTION_PARAM]: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175836 138bc75d-0d04-0410-961f-82ee72b054a4
* libiberty/jkratoch2011-07-011-1/+17
| | | | | | | | | | | | | | | PR debug/49408 * cp-demangle.c (d_print_comp): Suppress argument list for function references by the '&' unary operator. Keep also already processed variant without the argument list. Suppress argument list types for function call used in an expression. * testsuite/demangle-expected: Fix excessive argument list types in `test for typed function in decltype'. New testcase for no argument list types printed. 3 new testcases for function references by the '&' unary operator.. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175761 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/37089jason2011-06-201-1/+4
| | | | | | * cp-demangle.c (d_print_comp): Handle reference smashing. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175213 138bc75d-0d04-0410-961f-82ee72b054a4
* libiberty/jkratoch2011-06-131-0/+9
| | | | | | | | | * cp-demangle.c (d_print_comp) <DEMANGLE_COMPONENT_FUNCTION_TYPE>: Suppress d_print_mod for DMGL_RET_POSTFIX. * testsuite/demangle-expected: New testcases for --ret-postfix. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175001 138bc75d-0d04-0410-961f-82ee72b054a4
* include/jkratoch2011-06-131-0/+18
| | | | | | | | | | | | | | | * demangle.h (DMGL_RET_POSTFIX): Extend the comment. (DMGL_RET_DROP): New. libiberty/ * cp-demangle.c (d_print_comp) <DEMANGLE_COMPONENT_FUNCTION_TYPE>: Do not pass DMGL_RET_POSTFIX or DMGL_RET_DROP. Support DMGL_RET_DROP. * testsuite/demangle-expected: New testcases for --ret-drop. * testsuite/test-demangle.c: Document --ret-drop in a comment. (main): New variable ret_drop, fill it, call cplus_demangle with it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175000 138bc75d-0d04-0410-961f-82ee72b054a4
* Properly demangle a global constructor symbol.hjl2010-11-161-2/+2
| | | | | | | | | | | | | | 2010-11-16 H.J. Lu <hongjiu.lu@intel.com> PR other/42670 PR binutils/11137 * cp-demangle.c (d_make_demangle_mangled_name): New. (d_demangle_callback): Use it on DCT_GLOBAL_XTORS. * testsuite/demangle-expected: Updated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166810 138bc75d-0d04-0410-961f-82ee72b054a4
* libiberty/:ian2010-11-131-2/+7
| | | | | | | | | | | | | PR other/46332 * cp-demangle.c (d_print_function_type): Don't print parentheses if there are no modifiers to print. * testsuite/demangle-expected: Tweak one test case, add another. libstdc++/: * testsuite/abi/demangle/abi_examples/14.cc (main): Change expected demangling. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166695 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-09-22 Tristan Gingold <gingold@adacore.com>gingold2010-09-221-0/+30
| | | | | | | | | | | * cplus-dem.c (ada_demangle): Add comments. Handle stream and controlled type operations. Decoding of some uppercase letters moved before separators. * testsuite/demangle-expected: Add tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164518 138bc75d-0d04-0410-961f-82ee72b054a4
* 2010-09-10 James Lyon <jameslyon0@googlemail.com>tromey2010-09-101-0/+5
| | | | | | | | | http://sourceware.org/bugzilla/show_bug.cgi?id=11572 * cp-demangle.c (d_find_pack): Add case for DEMANGLE_COMPONENT_LAMBDA. * testsuite/demangle-expected: Add regression test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@164203 138bc75d-0d04-0410-961f-82ee72b054a4
* PR other/43838jakub2010-06-101-0/+3
| | | | | | | | | | | | | * cp-demangle.c (struct d_print_info): Add flush_count field. (d_print_init): Initialize it to 0. (d_print_flush): Increment it. (d_print_comp): If needed flush before appending ", ". Only decrement dpi->len if no flushes happened during the recursive call. * testsuite/demangle-expected: Add a test for this. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@160554 138bc75d-0d04-0410-961f-82ee72b054a4
* libiberty/ktietz2010-05-261-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2010-05-26 Kai Tietz <kai.tietz@onevision.com> * testsuite/demangle-expected: Add tests for __int128 and unsigned __int128 types. gcc/testsuite 2010-05-26 Kai Tietz <kai.tietz@onevision.com> * lib/target-supports.exp (check_effective_target_int128): New function to check if __int128 types are available for target. * testsuite/c-c++-common/int128-types-1.c: New. * testsuite/c-c++-common/int128-1.c: New. * testsuite/c-c++-common/int128-2.c: New. * g++.dg/abi/mangle43.C: New. * g++.dg/init/enum1.C: Handle __int128 case and add -Wno-overflow. * g++.dg/cpp0x/nullptr04.C: Use __SIZE_TYPE__ for getting pointer-wide scalar. * g++.dg/other/pr25632.C: Likewise. * g++.dg/other/large-size-array.C (DIM): Use ULLONG_MAX for win64 case. * g++.dg/warn/pr13358-2.C: Add llp64 for check of special overflow warnings. * g++.dg/warn/pr13358-4.C: Likewise. * g++.dg/warn/Wconversion-null-2.C: Add 'long long' case. * g++.dg/warn/Wconversion-null.C: Likewise. gcc/ 2010-05-26 Kai Tietz <kai.tietz@onevision.com> * builtin-types.def (BT_INT128): New primitive type. (BT_UINT128): Likewise. * c-common.c (c_common_r): Add __int128 keyword. (c_common_type_for_size): Handle __int128. (c_common_type_for_mode): Likewise. (c_common_signed_or_unsigned_type): Likewise. (c_common_nodes_and_builtins): Add builtin type if target supports 128-bit integer scalar. * c-common.h (enum rid): Add RID_INT128. * c-cppbuiltin.c (c_cpp_builtins): Define __SIZEOF_INT128__ if target supports 128-bit integer scalar. * c-decl.c (declspecs_add_type): Handle new keyword __int128. (finish_declspecs): Likewise. * c-parser.c (c_token_starts_typename): Handle RID_INT128. (c_token_starts_declspecs): Likewise. (c_parser_declspecs): Likewise. (c_parser_attributes): Likewise. (c_parser_objc_selector): Likewise. * c-pretty-print.c (pp_c_integer_constant): Handle __int128. * c-tree.h (enum c_typespec_keyword): Add cts_int128. * gimple.c (gimple_signed_or_unsigned_type): Handle int128 types. * tree.c (make_or_reuse_type): Likewise. (make_unsigned_type): Likewise. (build_common_tree_nodes_2): Likewise. * tree.h (enum integer_type_kind): Add itk_int128 and itk_unsigned_int128. (int128_integer_type_node): New define.. (int128_unsigned_type_node): New define. * cp/cp-tree.h (cp_decl_specifier_seq): Add new bifield explicit_int128_p. * cp/decl.c (grokdeclarator): Handle __int128. * cp/parser.c (cp_lexer_next_token_is_decl_specifier_ke): Likewise. (cp_parser_simple_type_specifier): Likewise. * cp/rtti.c (emit_support_tinfos): Add int128 nodes for rtti. * cp/typeck.c (cp_common_type): Handle __int128. * cp/mangle.c (integer_type_codes): Add itk_int128 and itk_unsigned_int128. * doc/extend.texi: Add documentation about __int128 type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159879 138bc75d-0d04-0410-961f-82ee72b054a4
* Add support for C++0x nullptr.jason2010-05-061-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc: * c-common.c (c_common_reswords): Add nullptr. * c-common.h: Add RID_NULLPTR. Reorganize C++0x rids. * dwarf2out.c (is_base_type): Handle NULLPTR_TYPE. (gen_type_die_with_usage): Likewise. * dbxout.c (dbxout_type): Likewise. * sdbout.c (plain_type_1): Likewise. gcc/cp: * cp-tree.def: Add NULLPTR_TYPE. * cp-tree.h: Add nullptr_node. (cp_tree_index): Add CPTI_NULLPTR. (SCALAR_TYPE_P): Add NULLPTR_TYPE. * call.c (null_ptr_cst_p): Handle nullptr. (standard_conversion): Likewise. (convert_arg_to_ellipsis): Likewise. * mangle.c (write_type): Likewise. * name-lookup.c (arg_assoc_type): Likewise. * parser.c (cp_parser_primary_expression): Likewise. * typeck.c (cp_build_binary_op): Likewise. (build_reinterpret_cast_1): Likewise. * error.c (dump_type): Likewise. (dump_type_prefix, dump_type_suffix): Likewise. * decl.c (cxx_init_decl_processing): Likewise. * cxx-pretty-print.c (pp_cxx_constant): Likewise. * cvt.c (ocp_convert): Likewise. * rtti.c (typeinfo_in_lib_p, emit_support_tinfos): Put nullptr_t tinfo in libsupc++. libstdc++-v3: * config/abi/pre/gnu.ver: Add typeinfo for decltype(nullptr). libiberty: * cp-demangle.c (cplus_demangle_builtin_types): Add nullptr. (cplus_demangle_type): Handle nullptr. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@159131 138bc75d-0d04-0410-961f-82ee72b054a4
* * c-pretty-print.c (pp_c_specifier_qualifier_list) [VECTOR_TYPE]:jason2010-03-221-2/+2
| | | | | | | Use () rather than [], and move before the element type. * cp-demangle.c (d_print_mod): Use () rather than [] for vectors. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@157650 138bc75d-0d04-0410-961f-82ee72b054a4
* * testsuite/demangle-expected: Add missing --format=gnu-v3.tromey2010-02-041-0/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156498 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/4926jason2010-02-031-0/+5
| | | | | | | | | | | PR c++/38600 * mangle.c (write_unqualified_id): Split out from write_expression. (write_unqualified_name): Call it. (write_member_name): Likewise. (write_expression): Support TEMPLATE_ID_EXPR. Disambiguate operator names. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156482 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/12909jason2010-02-031-0/+6
| | | | | | * mangle.c (write_type) [VECTOR_TYPE]: Change mangling. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156481 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (cplus_demangle_type): Check for invalid typeian2010-01-261-2/+5
| | | | | | | | after "DF". * testsuite/demangle-expected: Add test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@156226 138bc75d-0d04-0410-961f-82ee72b054a4
* include/gingold2010-01-111-0/+95
| | | | | | | | | | | | | | | | | | | 2010-01-11 Tristan Gingold <gingold@adacore.com> * demangle.h (ada_demangle): Add prototype. libiberty/ 2010-01-11 Tristan Gingold <gingold@adacore.com> * cplus-dem.c (ada_demangle): Remove prototype. (grow_vect): Removed. (ada_demangle): Rewritten. (cplus_demangle): Fix indentation. * testsuite/demangle-expected: Add tests for Ada. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@155804 138bc75d-0d04-0410-961f-82ee72b054a4
* merge in cxx0x-lambdas-branch@152308jason2009-09-301-5/+21
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@152318 138bc75d-0d04-0410-961f-82ee72b054a4
* * gcc/cp/pt.c (make_fnparm_pack): Split out from...jason2009-03-231-3/+7
| | | | | | | | | | | | | | (instantiate_decl): ...here. (tsubst_pack_expansion): Handle being called in a late-specified return type. * libiberty/cp-demangle.c (d_expression): Handle pack expansion. (d_find_pack): Handle DEMANGLE_COMPONENT_FUNCTION_PARAM. (d_print_subexpr): Don't wrap function parms in (). (d_print_comp) [DEMANGLE_COMPONENT_PACK_EXPANSION]: Handle not finding a pack. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@145013 138bc75d-0d04-0410-961f-82ee72b054a4
* cp/:jason2009-03-171-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* gcc/cp/:jason2008-10-061-14/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR c++/37376, other mangling issues * mangle.c (write_type): Update TYPE_PACK_EXPANSION mangling. (write_member_name): Break out from... (write_expression): ...here. Handle dependent COMPONENT_REF. (write_template_arg): Wrap an argument pack in 'I'/'E'. (write_builtin_type): Update char16/32_t mangling. (write_nested_name, write_prefix): Don't forget template args for typename types. * operators.def: Add ARROW_EXPR, update COMPONENT_REF and EXPR_PACK_EXPANSION. libstdc++-v3/: * config/abi/pre/gnu.ver: Update char16/32_t manglings. include/: * demangle.h (enum demangle_component_type): Add DEMANGLE_COMPONENT_PACK_EXPANSION. libiberty/: * cp-demangle.c (struct d_print_info): Add pack_index. (d_dump): Add DEMANGLE_COMPONENT_PACK_EXPANSION. (d_make_comp): Likewise. DEMANGLE_COMPONENT_ARGLIST and DEMANGLE_COMPONENT_TEMPLATE_ARGLIST can have two null args. (cplus_demangle_builtin_types): Add char16/32_t. (cplus_demangle_type): Recognize them. (d_template_args): Handle empty argument packs. (d_template_arg): Handle argument packs. (d_expression): Handle dependent name. (d_index_template_argument): New fn. (d_lookup_template_argument): New fn. (d_find_pack, d_pack_length): New fn. (d_print_subexpr): Split out... (d_print_comp): ...from here. Use d_*_template_argument. Handle empty arg lists. Support pack expansions. * cp-demangle.h (D_BUILTIN_TYPE_COUNT): Increase to 32. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140916 138bc75d-0d04-0410-961f-82ee72b054a4
* * include/demangle.h (enum demangle_component_type): Addjason2008-09-091-0/+16
| | | | | | | | | | | | | | | | DEMANGLE_COMPONENT_DECLTYPE. * libiberty/cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_DECLTYPE. (d_make_comp): Likewise. (cplus_demangle_type): Handle decltype and DFP types. (cplus_demangle_operators): Call operator takes 2 args. (cplus_demangle_builtin_types): Add DFP types. (d_exprlist): New fn. (d_expression): Handle parm placeholders, T() and calls. (d_print_comp): Handle decltype, T() and calls. * libiberty/testsuite/demangle-expected: Test the above. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@140162 138bc75d-0d04-0410-961f-82ee72b054a4
* libcpp/ChangeLog:jason2008-04-181-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-04-14 Kris Van Hees <kris.van.hees@oracle.com> * include/cpp-id-data.h (UC): Was U, conflicts with U... literal. * include/cpplib.h (CHAR16, CHAR32, STRING16, STRING32): New tokens. (struct cpp_options): Added uliterals. (cpp_interpret_string): Update prototype. (cpp_interpret_string_notranslate): Idem. * charset.c (init_iconv_desc): New width member in cset_converter. (cpp_init_iconv): Add support for char{16,32}_cset_desc. (convert_ucn): Idem. (emit_numeric_escape): Idem. (convert_hex): Idem. (convert_oct): Idem. (convert_escape): Idem. (converter_for_type): New function. (cpp_interpret_string): Use converter_for_type, support u and U prefix. (cpp_interpret_string_notranslate): Match changed prototype. (wide_str_to_charconst): Use converter_for_type. (cpp_interpret_charconst): Add support for CPP_CHAR{16,32}. * directives.c (linemarker_dir): Macro U changed to UC. (parse_include): Idem. (register_pragma_1): Idem. (restore_registered_pragmas): Idem. (get__Pragma_string): Support CPP_STRING{16,32}. * expr.c (eval_token): Support CPP_CHAR{16,32}. * init.c (struct lang_flags): Added uliterals. (lang_defaults): Idem. * internal.h (struct cset_converter) <width>: New field. (struct cpp_reader) <char16_cset_desc>: Idem. (struct cpp_reader) <char32_cset_desc>: Idem. * lex.c (digraph_spellings): Macro U changed to UC. (OP, TK): Idem. (lex_string): Add support for u'...', U'...', u... and U.... (_cpp_lex_direct): Idem. * macro.c (_cpp_builtin_macro_text): Macro U changed to UC. (stringify_arg): Support CPP_CHAR{16,32} and CPP_STRING{16,32}. gcc/ChangeLog: 2008-04-14 Kris Van Hees <kris.van.hees@oracle.com> * c-common.c (CHAR16_TYPE, CHAR32_TYPE): New macros. (fname_as_string): Match updated cpp_interpret_string prototype. (fix_string_type): Support char16_t* and char32_t*. (c_common_nodes_and_builtins): Add char16_t and char32_t (and derivative) nodes. Register as builtin if C++0x. (c_parse_error): Support CPP_CHAR{16,32}. * c-common.h (RID_CHAR16, RID_CHAR32): New elements. (enum c_tree_index) <CTI_CHAR16_TYPE, CTI_SIGNED_CHAR16_TYPE, CTI_UNSIGNED_CHAR16_TYPE, CTI_CHAR32_TYPE, CTI_SIGNED_CHAR32_TYPE, CTI_UNSIGNED_CHAR32_TYPE, CTI_CHAR16_ARRAY_TYPE, CTI_CHAR32_ARRAY_TYPE>: New elements. (char16_type_node, signed_char16_type_node, unsigned_char16_type_node, char32_type_node, signed_char32_type_node, char16_array_type_node, char32_array_type_node): New defines. * c-lex.c (cb_ident): Match updated cpp_interpret_string prototype. (c_lex_with_flags): Support CPP_CHAR{16,32} and CPP_STRING{16,32}. (lex_string): Support CPP_STRING{16,32}, match updated cpp_interpret_string and cpp_interpret_string_notranslate prototypes. (lex_charconst): Support CPP_CHAR{16,32}. * c-parser.c (c_parser_postfix_expression): Support CPP_CHAR{16,32} and CPP_STRING{16,32}. gcc/cp/ChangeLog: 2008-04-14 Kris Van Hees <kris.van.hees@oracle.com> * cvt.c (type_promotes_to): Support char16_t and char32_t. * decl.c (grokdeclarator): Disallow signed/unsigned/short/long on char16_t and char32_t. * lex.c (reswords): Add char16_t and char32_t (for c++0x). * mangle.c (write_builtin_type): Mangle char16_t/char32_t as vendor extended builtin type u8char32_t. * parser.c (cp_lexer_next_token_is_decl_specifier_keyword): Support RID_CHAR{16,32}. (cp_lexer_print_token): Support CPP_STRING{16,32}. (cp_parser_is_string_literal): Idem. (cp_parser_string_literal): Idem. (cp_parser_primary_expression): Support CPP_CHAR{16,32} and CPP_STRING{16,32}. (cp_parser_simple_type_specifier): Support RID_CHAR{16,32}. * tree.c (char_type_p): Support char16_t and char32_t as char types. * typeck.c (string_conv_p): Support char16_t and char32_t. gcc/testsuite/ChangeLog: 2008-04-14 Kris Van Hees <kris.van.hees@oracle.com> Tests for char16_t and char32_t support. * g++.dg/ext/utf-cvt.C: New * g++.dg/ext/utf-cxx0x.C: New * g++.dg/ext/utf-cxx98.C: New * g++.dg/ext/utf-dflt.C: New * g++.dg/ext/utf-gnuxx0x.C: New * g++.dg/ext/utf-gnuxx98.C: New * g++.dg/ext/utf-mangle.C: New * g++.dg/ext/utf-typedef-cxx0x.C: New * g++.dg/ext/utf-typedef- * g++.dg/ext/utf-typespec.C: New * g++.dg/ext/utf16-1.C: New * g++.dg/ext/utf16-2.C: New * g++.dg/ext/utf16-3.C: New * g++.dg/ext/utf16-4.C: New * g++.dg/ext/utf32-1.C: New * g++.dg/ext/utf32-2.C: New * g++.dg/ext/utf32-3.C: New * g++.dg/ext/utf32-4.C: New * gcc.dg/utf-cvt.c: New * gcc.dg/utf-dflt.c: New * gcc.dg/utf16-1.c: New * gcc.dg/utf16-2.c: New * gcc.dg/utf16-3.c: New * gcc.dg/utf16-4.c: New * gcc.dg/utf32-1.c: New * gcc.dg/utf32-2.c: New * gcc.dg/utf32-3.c: New * gcc.dg/utf32-4.c: New libiberty/ChangeLog: 2008-04-14 Kris Van Hees <kris.van.hees@oracle.com> * testsuite/demangle-expected: Added tests for char16_t and char32_t. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134438 138bc75d-0d04-0410-961f-82ee72b054a4
* include/daney2008-01-271-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2008-01-26 David Daney <ddaney@avtrex.com> * 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 <ddaney@avtrex.com> * 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131883 138bc75d-0d04-0410-961f-82ee72b054a4
* Index: libiberty/ChangeLoggeoffk2007-05-061-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | 2007-05-04 Geoffrey Keating <geoffk@apple.com> * cp-demangle.c (d_name): Detect local-source-name. (d_prefix): Likewise. (d_unqualified_name): Implement local-source-name. Index: gcc/cp/ChangeLog 2007-05-04 Geoffrey Keating <geoffk@apple.com> PR 31775 * mangle.c (write_mangled_name): Mangle static variable names. (write_unqualified_name): Use local-source-name for namespace-scope static variables. Index: gcc/testsuite/ChangeLog 2007-05-04 Geoffrey Keating <geoffk@apple.com> PR 31775 * g++.dg/other/nested-extern.cc: New. * g++.dg/other/nested-extern-1.C: New. * g++.dg/other/nested-extern-2.C: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@124467 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.c (d_encoding): Exit early on error.geoffk2007-03-161-0/+4
| | | | | | | | | | (d_pointer_to_member_type): Exit early if cplus_demangle_type returns NULL. (cplus_demangle_type): Likewise. * testsuite/demangle-expected: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122972 138bc75d-0d04-0410-961f-82ee72b054a4
* * cp-demangle.h: Add comment explaining what to do to avoidgeoffk2006-12-211-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | overrunning string. (d_check_char): New. (d_next_char): Don't advance past trailing '\0'. * cp-demangle.c (cplus_demangle_mangled_name): Use d_check_char. (d_nested_name): Likewise. (d_special_name): Likewise. (d_call_offset): Likewise. (d_function_type): Likewise. (d_array_type): Likewise. (d_pointer_to_member_type): Likewise. (d_template_param): Likewise. (d_template_args): Likewise. (d_template_arg): Likewise. (d_expr_primary): Likewise. (d_local_name): Likewise. (d_substitution): Likewise. (d_ctor_dtor_name): Use d_advance rather than d_next_char. * testsuite/test-demangle.c: Include sys/mman.h. (MAP_ANONYMOUS): Define. (protect_end): New. (main): Use protect_end. * testsuite/demangle-expected: Add testcases for overrunning the end of the string. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@120097 138bc75d-0d04-0410-961f-82ee72b054a4
* PR other/29176ian2006-09-221-0/+5
| | | | | | | | * cp-demangle.c (d_substitution): Check for overflow when computing substitution index. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@117144 138bc75d-0d04-0410-961f-82ee72b054a4
OpenPOWER on IntegriCloud