* HP aCC demangling support.
commit70d5ccef064325bcab1d3fbc57a6fef9aee2a096
authorDavid Taylor <taylor@texas.cygnus.com>
Mon, 7 Dec 1998 22:21:45 +0000 (7 22:21 +0000)
committerJeff Law <law@gcc.gnu.org>
Mon, 7 Dec 1998 22:21:45 +0000 (7 15:21 -0700)
tree2d7e8f67156a418746c35bbc2638c2e8b0b84c4c
parentfe77a034435df38be9d4ffe8a9bc8b78685023e6
* HP aCC demangling support.

        * cplus-dem.c
        (main): Remove default to HP style demangling, set to EDG
        demangling correctly when -edg specified; set the demangling style
        when user specifies 'edg'. Set strip_underscore to
        prepends_underscore, if not HPUXHPPA.  Set
        current_demangling_style to hp_demangling if HPUXHPPA.  Set
        current demangling style correctly if the switch is hp.  Read
        label correctly also in the HP style case.
        (work_stuff): add temp_start field; add field for volatile member
        function.
        (arm_pt): handle ARM_DEMANGLING and EDG_DEMANGLING styles; HP
        style for this case is the same as ARM.
        (demangle_args): handle EDG_DEMANGLING style; support HP style.
        (demangle_arm_hp_template): new function. (It was
        demangle_arm_pt.); check and set value of temp_start field in
        multiple places. Also, when ceching for end of template args,
        check to see if at end of static member of template class.
        (demangle_class): new local variable : save_class_name_end Don't
        include template args in string defining class.
        (demangle_class_name): use demangel_arm_hp_template.
        (demangle_function_name): handle case where demangling style is
        HP_DEMANGLING and currently point at an 'X' in the mangled name.
        Handle EDG_DEMANGLING style.  Handle constructor and destructor
        ops for HP style.
        (demangle_prefix): handle EDG_DEMANGLING and ARM_DEMANGLING
        styles.  global destructor and constructor for HP style are same
        as for ARM style. Same for local variables.
        (demangle_qualified): handle EDG_DEMANGLING style.
        (demangle_signature): add case for volatile member function.  For
        cases '1' - '9' : initialize the temp_start field to -1 and handle
        the EDG_DEMANGLING style.  for case 'F' : handle EDG_DEMANGLING
        and AUTO_DEMANGLING styles.  If expecting a function and managed
        to demangle the funct args, then handle the LUCID_DEMANGLING,
        ARM_DEMANGLING, and EDG_DEMANGLING styles.  Add case for local
        class name after "Lnnn_ in HP style case. HP style too needs to
        forget types.  _nnn is OK for HP style, so don't report failure.
        (do_hpacc_template_const_value): new function. Handle template's
        value param for HP/aCC.
        (do_hpacc_template_literal): new function.  Handle a template's
        literal parameter for HP aCC.
        (recursively_demangle): new function
        (snarf_numeric_literal): new function.
        (usage): add 'edg' to the list of demangling styles; add hp switch
        to message.

Co-Authored-By: Andrew MacLeod <amacleod@cygnus.com>
Co-Authored-By: Edith Epstein <eepstein@cygnus.com>
Co-Authored-By: Elena Zannoni <ezannoni@cygnus.com>
Co-Authored-By: Satish Pai <pai@apollo.hp.com>
Co-Authored-By: Stan Shebs <shebs@cygnus.com>
From-SVN: r24170
libiberty/ChangeLog
libiberty/cplus-dem.c