https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117350

--- Comment #18 from ak at gcc dot gnu.org ---

Okay I looked into need_assembler_name_p. For __ct function_decl it bails out
due to


784       /* If DECL already has its assembler name set, it does not need a
785          new one.  */
786       if (!HAS_DECL_ASSEMBLER_NAME_P (decl)
787           || DECL_ASSEMBLER_NAME_SET_P (decl))
788         return false;

 <function_decl 0x7fc0883d3000 __ct
    type <method_type 0x7fc0883d0930
        type <void_type 0x7fc088227f18 void asm_written type_6 VOID
            align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fc088227f18
            pointer_to_this <pointer_type 0x7fc08822e000>>
        QI
        size <integer_cst 0x7fc088220330 constant 8>
        unit-size <integer_cst 0x7fc088220348 constant 1>
        align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x7fc0883d0930 method basetype <record_type 0x7fc0883d03f0 tuple>
        arg-types <tree_list 0x7fc0883cd6e0 value <pointer_type 0x7fc0883d0888>
            chain <tree_list 0x7fc0883cd690 value <integer_type 0x7fc0882275e8
int>
                chain <tree_list 0x7fc0883cd668 value <integer_type
0x7fc0882275e8 int>
                    chain <tree_list 0x7fc08821bd98 value <void_type
0x7fc088227f18 void>>>>>
        pointer_to_this <pointer_type 0x7fc0883d57e0>>
    used public abstract external QI ../gu.cc:3:3 align:16 warn_if_not_align:0
context <record_type 0x7fc0883d03f0 tuple> abstract_origin <function_decl
0x7fc0883d3000 __ct >
    full-name "tuple<_T1, _T2>::tuple(_T1, _T2) [with _T1 = int; _T2 = int]"
    template-info <template_info 0x7fc0883cd708 tree_1
        template <template_decl 0x7fc096050400 __ct  type <method_type
0x7fc0883b8738>
            VOID ../gu.cc:3:3
            align:1 warn_if_not_align:0 context <record_type 0x7fc0883b82a0
tuple> result <function_decl 0x7fc0883b7e00 __ct >
            parms <tree_list 0x7fc0883b2f50 purpose <integer_cst 0x7fc088220348
1>
                value <tree_vec 0x7fc0883b2f28 type <template_decl
0x7fc096050080 tuple>
                    length:2
                    elt:0 <tree_list 0x7fc0883b2e38 value <type_decl
0x7fc088236d10 _T1>>
                    elt:1 <tree_list 0x7fc0883b2f00 value <type_decl
0x7fc088236da8 _T2>>>>
            full-name "template<class _T1, class _T2> tuple<_T1,
_T2>::tuple(_T1, _T2)">
        args <tree_vec 0x7fc0883cd528 length:2 elt:0 <integer_type
0x7fc0882275e8 int> elt:1 <integer_type 0x7fc0882275e8 int>>
       pending_template>
    use_template=1 chain <function_decl 0x7fc0883d3200 __ct_base >>

I assume that means HAS_DECL_ASSEMBLER_NAME_P returns false.

Reply via email to