tools/cygprofile/cyglog_to_orderfile.py
def _SameCtorOrDtorNames(cls, symbol1, symbol2):
    """Returns True if two symbols refer to the same constructor or destructor.

    The Itanium C++ ABI specifies dual constructor and destructor emmission
    (section 5.1.4.3):
    https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangling-special-ctor-dtor
    To avoid fully parsing all mangled symbols, a heuristic is used with
    c++filt.

    Note: some compilers may name generated copies differently.  If this becomes
    an issue this heuristic will need to be updated.
    """
    # Check if this is the understood case of constructor/destructor
    # signatures. GCC emits up to three types of constructor/destructors:
    # complete, base, and allocating.  If they're all the same they'll
    # get folded together.
    return (re.search('(C[123]|D[012])E', symbol1) and
            symbol_extractor.DemangleSymbol(symbol1) ==
            symbol_extractor.DemangleSymbol(symbol2))
Returns True if two symbols refer to the same constructor or destructor.

    The Itanium C++ ABI specifies dual constructor and destructor emmission
    (section 5.1.4.3):
    https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangling-special-ctor-dtor
    To avoid fully parsing all mangled symbols, a heuristic is used with
    c++filt.

    Note: some compilers may name generated copies differently.  If this becomes
    an issue this heuristic will need to be updated.
    
Returns True if two symbols refer to the same constructor or destructor.

some compilers may name generated copies differently.  If this becomes
an issue this heuristic will need to be updated.
Returns True if two symbols refer to the same constructor or destructor . some compilers may name generated copies differently . If this becomes an issue this heuristic will need to be updated .
def _SameCtorOrDtorNames(cls, symbol1, symbol2):
    return (re.search('(C[123]|D[012])E', symbol1) and
            symbol_extractor.DemangleSymbol(symbol1) ==
            symbol_extractor.DemangleSymbol(symbol2))
def _SameCtorOrDtorNames ( cls , symbol1 , symbol2 ) : return ( re . search ( '(C[123]|D[012])E' , symbol1 ) and symbol_extractor . DemangleSymbol ( symbol1 ) == symbol_extractor . DemangleSymbol ( symbol2 ) )
Returns True if two symbols refer to the same constructor or destructor.
Returns True if two symbols refer to the same constructor or destructor .
"""Returns True if two symbols refer to the same constructor or destructor.

    The Itanium C++ ABI specifies dual constructor and destructor emmission
    (section 5.1.4.3):
    https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangling-special-ctor-dtor
    To avoid fully parsing all mangled symbols, a heuristic is used with
    c++filt.

    Note: some compilers may name generated copies differently.  If this becomes
    an issue this heuristic will need to be updated.
    """ # Check if this is the understood case of constructor/destructor # signatures. GCC emits up to three types of constructor/destructors: # complete, base, and allocating.  If they're all the same they'll # get folded together.
cls
symbol1
symbol2