On Fri, 9 Feb 2024, Jason Merrill wrote:

> On 2/9/24 10:51, Patrick Palka wrote:
> > It turns out that with modules we can call mangle_decl recursively,
> > which is a problem because the global mangling state isn't recursion
> > aware.  The recursion happens from write_closure_type_name, which calls
> > lambda function, which performs name lookup, which can trigger lazy
> > loading,
> 
> Hmm, why would looking for a member of a closure trigger lazy loading?

No idea..  We could sidestep lazy loading here by using
get_class_binding_direct instead of lookup_member in lambda_function,
but I don't know if if that would have unintended consequences.

FWIW the closure for which op() lookup triggers lazy loading is for a
non-generic lambda from an instantiated function template scope and
captures another closure object that captures a dependent function
parameter (_overwrite in libstdc++'s <format> line 1607).  So I'd guess
the entity dependency graph is pretty complicated..

And it seems lazy loading from maybe_lazily_declare can be quite
recursive, I wonder if that's expected?  I attached the full backtrace
that leads mangle_decl recursion, and there's about 15 recursive calls
to maybe_lazily_declare in this backtrace which seem to go through
check_local_shadow.  Maybe we can reduce this somehow?

This is just a naive experiment, but interestingly only two modules
tests fail if we remove the call to lazy_load_pendings from
maybe_lazily_declare:

  gcc/testsuite/g++/g++.sum:FAIL: g++.dg/modules/member-def-1_c.C -std=c++17  
scan-lang-dump module "Reading 1 pending entities keyed to '::frob'"
  gcc/testsuite/g++/g++.sum:FAIL: g++.dg/modules/member-def-1_c.C -std=c++2a  
scan-lang-dump module "Reading 1 pending entities keyed to '::frob'"
  gcc/testsuite/g++/g++.sum:FAIL: g++.dg/modules/member-def-1_c.C -std=c++2b  
scan-lang-dump module "Reading 1 pending entities keyed to '::frob'"
  gcc/testsuite/g++/g++.sum:FAIL: g++.dg/modules/part-6 -std=c++17 link
  gcc/testsuite/g++/g++.sum:FAIL: g++.dg/modules/part-6 -std=c++2a link
  gcc/testsuite/g++/g++.sum:FAIL: g++.dg/modules/part-6 -std=c++2b link

> 
> Jason
> 
> 
#0  start_mangling (entity=<function_decl 0x7fffef4ad100 __dt_comp >) at 
/home/patrick/code/gcc/gcc/cp/mangle.cc:4315
#1  mangle_decl_string (decl=decl@entry=<function_decl 0x7fffef4ad100 __dt_comp 
>) at /home/patrick/code/gcc/gcc/cp/mangle.cc:4415
#2  0x0000000000b29e3b in get_mangled_id (decl=<function_decl 0x7fffef4ad100 
__dt_comp >) at /home/patrick/code/gcc/gcc/cp/mangle.cc:4441
#3  mangle_decl (decl=<function_decl 0x7fffef4ad100 __dt_comp >) at 
/home/patrick/code/gcc/gcc/cp/mangle.cc:4479
#4  0x00000000015e9d5e in decl_assembler_name (decl=<function_decl 
0x7fffef4ad100 __dt_comp >) at /home/patrick/code/gcc/gcc/tree.cc:719
#5  0x0000000000b8798f in cdtor_comdat_group (complete=<optimized out>, 
base=base@entry=<function_decl 0x7fffef4ad200 __dt_base >) at 
/home/patrick/code/gcc/gcc/cp/optimize.cc:177
#6  0x0000000000b89ec3 in maybe_clone_body (fn=fn@entry=<function_decl 
0x7fffef4ad000 __dt >) at /home/patrick/code/gcc/gcc/cp/optimize.cc:597
#7  0x0000000000b40486 in post_load_processing () at 
/home/patrick/code/gcc/gcc/cp/module.cc:17548
#8  0x0000000000b6b44f in lazy_load_pendings (decl=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/module.cc:19281
#9  0x0000000000b75059 in maybe_lazily_declare (name=<identifier_node 
0x7ffff721e840 this>, klass=<record_type 0x7fffef4c1888 __formatter_int>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2002
#10 get_class_binding (klass=<record_type 0x7fffef4c1888 __formatter_int>, 
name=<identifier_node 0x7ffff721e840 this>, want_type=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2038
#11 0x0000000000c5313f in lookup_field_r (binfo=binfo@entry=<tree_binfo 
0x7fffef4c5480>, data=data@entry=0x7fffffff7660) at 
/home/patrick/code/gcc/gcc/cp/search.cc:1061
#12 0x0000000000c533d7 in dfs_walk_all (data=0x7fffffff7660, post_fn=0x0, 
pre_fn=0xc530e0 <lookup_field_r(tree, void*)>, binfo=<tree_binfo 
0x7fffef4c5480>) at /home/patrick/code/gcc/gcc/cp/search.cc:1507
#13 lookup_member (xbasetype=<optimized out>, xbasetype@entry=<record_type 
0x7fffef4c1888 __formatter_int>, name=name@entry=<identifier_node 
0x7ffff721e840 this>, protect=protect@entry=2,
    want_type=want_type@entry=true, complain=complain@entry=3, 
afi=afi@entry=0x0) at /home/patrick/code/gcc/gcc/cp/search.cc:1216
#14 0x0000000000b70340 in get_class_binding (name=name@entry=<identifier_node 
0x7ffff721e840 this>, scope=scope@entry=0x7fffeee18a20) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:5615
#15 0x0000000000b7a160 in outer_binding (name=<identifier_node 0x7ffff721e840 
this>, binding=binding@entry=0x0, class_p=class_p@entry=true) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:7715
#16 0x0000000000b7ef2d in check_local_shadow (decl=decl@entry=<parm_decl 
0x7fffef4d7700 this>) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:3280
#17 0x0000000000b8493f in pushdecl (decl=<optimized out>, 
hiding=hiding@entry=false) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:4007
#18 0x0000000000ab6791 in do_push_parm_decls (decl=decl@entry=<function_decl 
0x7fffef4d6800 __ct_base >, args=<optimized out>, 
nonparms=nonparms@entry=0x7fffffff7868)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18214
#19 0x0000000000ab6813 in store_parm_decls 
(current_function_parms=current_function_parms@entry=<parm_decl 0x7fffef4d7700 
this>) at /home/patrick/code/gcc/gcc/cp/decl.cc:18259
#20 0x0000000000ab7311 in start_preparsed_function 
(decl1=decl1@entry=<function_decl 0x7fffef4d6800 __ct_base >, 
attrs=attrs@entry=<tree 0x0>, flags=flags@entry=1) at 
/home/patrick/code/gcc/gcc/cp/decl.cc:18115
#21 0x0000000000b894e8 in maybe_clone_body (fn=fn@entry=<function_decl 
0x7fffef4d6600 __ct >) at /home/patrick/code/gcc/gcc/cp/optimize.cc:581
#22 0x0000000000b40486 in post_load_processing () at 
/home/patrick/code/gcc/gcc/cp/module.cc:17548
#23 0x0000000000b6b44f in lazy_load_pendings (decl=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/module.cc:19281
#24 0x0000000000b75059 in maybe_lazily_declare (name=<identifier_node 
0x7ffff721e840 this>, klass=<record_type 0x7fffef51d1f8 __formatter_str>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2002
#25 get_class_binding (klass=<record_type 0x7fffef51d1f8 __formatter_str>, 
name=<identifier_node 0x7ffff721e840 this>, want_type=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2038
#26 0x0000000000c5313f in lookup_field_r (binfo=binfo@entry=<tree_binfo 
0x7fffef4f4cc0>, data=data@entry=0x7fffffff7b90) at 
/home/patrick/code/gcc/gcc/cp/search.cc:1061
#27 0x0000000000c533d7 in dfs_walk_all (data=0x7fffffff7b90, post_fn=0x0, 
pre_fn=0xc530e0 <lookup_field_r(tree, void*)>, binfo=<tree_binfo 
0x7fffef4f4cc0>) at /home/patrick/code/gcc/gcc/cp/search.cc:1507
#28 lookup_member (xbasetype=<optimized out>, xbasetype@entry=<record_type 
0x7fffef51d1f8 __formatter_str>, name=name@entry=<identifier_node 
0x7ffff721e840 this>, protect=protect@entry=2,
    want_type=want_type@entry=true, complain=complain@entry=3, 
afi=afi@entry=0x0) at /home/patrick/code/gcc/gcc/cp/search.cc:1216
#29 0x0000000000b70340 in get_class_binding (name=name@entry=<identifier_node 
0x7ffff721e840 this>, scope=scope@entry=0x7fffeee18990) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:5615
#30 0x0000000000b7a160 in outer_binding (name=<identifier_node 0x7ffff721e840 
this>, binding=binding@entry=0x0, class_p=class_p@entry=true) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:7715
#31 0x0000000000b7ef2d in check_local_shadow (decl=decl@entry=<parm_decl 
0x7fffef525a80 this>) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:3280
#32 0x0000000000b8493f in pushdecl (decl=<optimized out>, 
hiding=hiding@entry=false) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:4007
#33 0x0000000000ab6791 in do_push_parm_decls (decl=decl@entry=<function_decl 
0x7fffef526400 __ct_base >, args=<optimized out>, 
nonparms=nonparms@entry=0x7fffffff7d98)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18214
#34 0x0000000000ab6813 in store_parm_decls 
(current_function_parms=current_function_parms@entry=<parm_decl 0x7fffef525a80 
this>) at /home/patrick/code/gcc/gcc/cp/decl.cc:18259
#35 0x0000000000ab7311 in start_preparsed_function 
(decl1=decl1@entry=<function_decl 0x7fffef526400 __ct_base >, 
attrs=attrs@entry=<tree 0x0>, flags=flags@entry=1) at 
/home/patrick/code/gcc/gcc/cp/decl.cc:18115
#36 0x0000000000b894e8 in maybe_clone_body (fn=fn@entry=<function_decl 
0x7fffef526200 __ct >) at /home/patrick/code/gcc/gcc/cp/optimize.cc:581
#37 0x0000000000b40486 in post_load_processing () at 
/home/patrick/code/gcc/gcc/cp/module.cc:17548
#38 0x0000000000b6b44f in lazy_load_pendings (decl=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/module.cc:19281
#39 0x0000000000b75059 in maybe_lazily_declare (name=<identifier_node 
0x7ffff73f3340 __r>, klass=<record_type 0x7fffef53a7e0 _Utf_view>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2002
#40 get_class_binding (klass=<record_type 0x7fffef53a7e0 _Utf_view>, 
name=<identifier_node 0x7ffff73f3340 __r>, want_type=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2038
#41 0x0000000000c5313f in lookup_field_r (binfo=binfo@entry=<tree_binfo 
0x7fffef4fc8f0>, data=data@entry=0x7fffffff80c0) at 
/home/patrick/code/gcc/gcc/cp/search.cc:1061
#42 0x0000000000c533d7 in dfs_walk_all (data=0x7fffffff80c0, post_fn=0x0, 
pre_fn=0xc530e0 <lookup_field_r(tree, void*)>, binfo=<tree_binfo 
0x7fffef4fc8f0>) at /home/patrick/code/gcc/gcc/cp/search.cc:1507
#43 lookup_member (xbasetype=<optimized out>, xbasetype@entry=<record_type 
0x7fffef53a7e0 _Utf_view>, name=name@entry=<identifier_node 0x7ffff73f3340 
__r>, protect=protect@entry=2,
    want_type=want_type@entry=true, complain=complain@entry=3, 
afi=afi@entry=0x0) at /home/patrick/code/gcc/gcc/cp/search.cc:1216
#44 0x0000000000b70340 in get_class_binding (name=name@entry=<identifier_node 
0x7ffff73f3340 __r>, scope=scope@entry=0x7fffeee18900) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:5615
#45 0x0000000000b7a160 in outer_binding (name=<identifier_node 0x7ffff73f3340 
__r>, binding=binding@entry=0x0, class_p=class_p@entry=true) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:7715
#46 0x0000000000b7ef2d in check_local_shadow (decl=decl@entry=<parm_decl 
0x7fffef536e80 __r>) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:3280
#47 0x0000000000b8493f in pushdecl (decl=<optimized out>, 
hiding=hiding@entry=false) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:4007
#48 0x0000000000ab6791 in do_push_parm_decls (decl=decl@entry=<function_decl 
0x7fffef53d000 __ct_base >, args=<optimized out>, 
nonparms=nonparms@entry=0x7fffffff82c8)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18214
#49 0x0000000000ab6813 in store_parm_decls 
(current_function_parms=current_function_parms@entry=<parm_decl 0x7fffef536e00 
this>) at /home/patrick/code/gcc/gcc/cp/decl.cc:18259
#50 0x0000000000ab7311 in start_preparsed_function 
(decl1=decl1@entry=<function_decl 0x7fffef53d000 __ct_base >, 
attrs=attrs@entry=<tree 0x0>, flags=flags@entry=1) at 
/home/patrick/code/gcc/gcc/cp/decl.cc:18115
--Type <RET> for more, q to quit, c to continue without paging--
#51 0x0000000000b894e8 in maybe_clone_body (fn=fn@entry=<function_decl 
0x7fffef535e00 __ct >) at /home/patrick/code/gcc/gcc/cp/optimize.cc:581
#52 0x0000000000b40486 in post_load_processing () at 
/home/patrick/code/gcc/gcc/cp/module.cc:17548
#53 0x0000000000b6b44f in lazy_load_pendings (decl=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/module.cc:19281
#54 0x0000000000b75059 in maybe_lazily_declare (name=<identifier_node 
0x7ffff73f3a80 __i>, klass=<record_type 0x7fffef555930 view_interface>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2002
#55 get_class_binding (klass=<record_type 0x7fffef555930 view_interface>, 
name=<identifier_node 0x7ffff73f3a80 __i>, want_type=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2038
#56 0x0000000000c5313f in lookup_field_r (binfo=binfo@entry=<tree_binfo 
0x7fffef52d840>, data=data@entry=0x7fffffff85f0) at 
/home/patrick/code/gcc/gcc/cp/search.cc:1061
#57 0x0000000000c53505 in dfs_walk_all (data=0x7fffffff85f0, post_fn=0x0, 
pre_fn=0xc530e0 <lookup_field_r(tree, void*)>, binfo=<tree_binfo 
0x7fffef52d840>) at /home/patrick/code/gcc/gcc/cp/search.cc:1507
#58 dfs_walk_all (data=0x7fffffff85f0, post_fn=0x0, pre_fn=0xc530e0 
<lookup_field_r(tree, void*)>, binfo=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/search.cc:1519
#59 lookup_member (xbasetype=<optimized out>, xbasetype@entry=<record_type 
0x7fffef54cf18 _Grapheme_cluster_view>, name=name@entry=<identifier_node 
0x7ffff73f3a80 __i>, protect=protect@entry=2,
    want_type=want_type@entry=true, complain=complain@entry=3, 
afi=afi@entry=0x0) at /home/patrick/code/gcc/gcc/cp/search.cc:1216
#60 0x0000000000b70340 in get_class_binding (name=name@entry=<identifier_node 
0x7ffff73f3a80 __i>, scope=scope@entry=0x7fffeee18828) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:5615
#61 0x0000000000b7a160 in outer_binding (name=<identifier_node 0x7ffff73f3a80 
__i>, binding=binding@entry=0x0, class_p=class_p@entry=true) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:7715
#62 0x0000000000b7ef2d in check_local_shadow (decl=decl@entry=<parm_decl 
0x7fffef554780 __i>) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:3280
#63 0x0000000000b8493f in pushdecl (decl=<optimized out>, 
hiding=hiding@entry=false) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:4007
#64 0x0000000000ab6791 in do_push_parm_decls (decl=decl@entry=<function_decl 
0x7fffef551d00 __ct_base >, args=<optimized out>, 
nonparms=nonparms@entry=0x7fffffff87f8)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18214
#65 0x0000000000ab6813 in store_parm_decls 
(current_function_parms=current_function_parms@entry=<parm_decl 0x7fffef554700 
this>) at /home/patrick/code/gcc/gcc/cp/decl.cc:18259
#66 0x0000000000ab7311 in start_preparsed_function 
(decl1=decl1@entry=<function_decl 0x7fffef551d00 __ct_base >, 
attrs=attrs@entry=<tree 0x0>, flags=flags@entry=1) at 
/home/patrick/code/gcc/gcc/cp/decl.cc:18115
#67 0x0000000000b894e8 in maybe_clone_body (fn=fn@entry=<function_decl 
0x7fffef551b00 __ct >) at /home/patrick/code/gcc/gcc/cp/optimize.cc:581
#68 0x0000000000b40486 in post_load_processing () at 
/home/patrick/code/gcc/gcc/cp/module.cc:17548
#69 0x0000000000b6b44f in lazy_load_pendings (decl=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/module.cc:19281
#70 0x0000000000b75059 in maybe_lazily_declare (name=<identifier_node 
0x7ffff73e6740 __v>, klass=<record_type 0x7fffef54cf18 _Grapheme_cluster_view>) 
at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:2002
#71 get_class_binding (klass=<record_type 0x7fffef54cf18 
_Grapheme_cluster_view>, name=<identifier_node 0x7ffff73e6740 __v>, 
want_type=<optimized out>) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:2038
#72 0x0000000000c5313f in lookup_field_r (binfo=binfo@entry=<tree_binfo 
0x7fffef4fcaf8>, data=data@entry=0x7fffffff8b20) at 
/home/patrick/code/gcc/gcc/cp/search.cc:1061
#73 0x0000000000c533d7 in dfs_walk_all (data=0x7fffffff8b20, post_fn=0x0, 
pre_fn=0xc530e0 <lookup_field_r(tree, void*)>, binfo=<tree_binfo 
0x7fffef4fcaf8>) at /home/patrick/code/gcc/gcc/cp/search.cc:1507
#74 lookup_member (xbasetype=<optimized out>, xbasetype@entry=<record_type 
0x7fffef54cf18 _Grapheme_cluster_view>, name=name@entry=<identifier_node 
0x7ffff73e6740 __v>, protect=protect@entry=2,
    want_type=want_type@entry=true, complain=complain@entry=3, 
afi=afi@entry=0x0) at /home/patrick/code/gcc/gcc/cp/search.cc:1216
#75 0x0000000000b70340 in get_class_binding (name=name@entry=<identifier_node 
0x7ffff73e6740 __v>, scope=scope@entry=0x7fffeee18798) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:5615
#76 0x0000000000b7a160 in outer_binding (name=<identifier_node 0x7ffff73e6740 
__v>, binding=binding@entry=0x0, class_p=class_p@entry=true) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:7715
#77 0x0000000000b7ef2d in check_local_shadow (decl=decl@entry=<parm_decl 
0x7fffef554b80 __v>) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:3280
#78 0x0000000000b8493f in pushdecl (decl=<optimized out>, 
hiding=hiding@entry=false) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:4007
#79 0x0000000000ab6791 in do_push_parm_decls (decl=decl@entry=<function_decl 
0x7fffef556200 __ct_base >, args=<optimized out>, 
nonparms=nonparms@entry=0x7fffffff8d28)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18214
#80 0x0000000000ab6813 in store_parm_decls 
(current_function_parms=current_function_parms@entry=<parm_decl 0x7fffef554b00 
this>) at /home/patrick/code/gcc/gcc/cp/decl.cc:18259
#81 0x0000000000ab7311 in start_preparsed_function 
(decl1=decl1@entry=<function_decl 0x7fffef556200 __ct_base >, 
attrs=attrs@entry=<tree 0x0>, flags=flags@entry=1) at 
/home/patrick/code/gcc/gcc/cp/decl.cc:18115
#82 0x0000000000b894e8 in maybe_clone_body (fn=fn@entry=<function_decl 
0x7fffef556000 __ct >) at /home/patrick/code/gcc/gcc/cp/optimize.cc:581
#83 0x0000000000b40486 in post_load_processing () at 
/home/patrick/code/gcc/gcc/cp/module.cc:17548
#84 0x0000000000b6b44f in lazy_load_pendings (decl=decl@entry=<template_decl 
0x7fffefc77980 basic_format_context>) at 
/home/patrick/code/gcc/gcc/cp/module.cc:19281
#85 0x0000000000c28378 in lookup_template_class (d1=<optimized out>, 
d1@entry=<record_type 0x7fffef78be70 basic_format_context>, arglist=<tree_vec 
0x7fffeee9cb18>, in_decl=in_decl@entry=<tree 0x0>,
    context=context@entry=<tree 0x0>, entering_scope=entering_scope@entry=1, 
complain=complain@entry=0) at /home/patrick/code/gcc/gcc/cp/pt.cc:10024
#86 0x0000000000c29ca0 in tsubst_aggr_type_1 (t=<record_type 0x7fffef78be70 
basic_format_context>, args=<tree_vec 0x7fffef1b1b90>, complain=0, 
in_decl=<tree 0x0>, entering_scope=1)
    at /home/patrick/code/gcc/gcc/cp/pt.cc:14174
#87 0x0000000000c2ad32 in tsubst (t=<typename_type 0x7fffef7a89d8 iterator>, 
args=<tree_vec 0x7fffef1b1b90>, complain=0, in_decl=<tree 0x0>) at 
/home/patrick/code/gcc/gcc/cp/pt.cc:16776
#88 0x0000000000af96fd in dump_template_bindings (parms=<tree 0x0>, 
args=<tree_vec 0x7fffef1b1b90>, typenames=0x7fffeee9caf0 = {...}, pp=0x31bae40 
<actual_pretty_printer>)
    at /home/patrick/code/gcc/gcc/cp/error.cc:494
#89 0x0000000000af2877 in dump_function_decl (t=<template_decl 0x7fffef7a1980 
format>, flags=116, pp=0x31bae40 <actual_pretty_printer>) at 
/home/patrick/code/gcc/gcc/cp/error.cc:1878
#90 0x0000000000afa241 in decl_as_string (decl=decl@entry=<function_decl 
0x7fffef1b3900 format>, flags=116) at 
/home/patrick/code/gcc/gcc/cp/error.cc:3223
#91 0x0000000000c4b4c1 in cxx_print_decl (file=0x7ffff7aaf6a0 
<_IO_2_1_stderr_>, node=<function_decl 0x7fffef1b3900 format>, indent=0) at 
/home/patrick/code/gcc/gcc/cp/ptree.cc:53
#92 0x00000000011ff995 in print_node (file=0x7ffff7aaf6a0 <_IO_2_1_stderr_>, 
prefix=prefix@entry=0x27022bf "", node=<optimized out>, 
node@entry=<function_decl 0x7fffef1b3900 format>, indent=indent@entry=0,
    brief_for_visited=brief_for_visited@entry=true) at 
/home/patrick/code/gcc/gcc/print-tree.cc:572
#93 0x00000000012028ae in debug_tree (node=<function_decl 0x7fffef1b3900 
format>) at /home/patrick/code/gcc/gcc/print-tree.cc:1145
#94 <function called from gdb>
#95 start_mangling (entity=<function_decl 0x7fffef18cf00 __dt_comp >) at 
/home/patrick/code/gcc/gcc/cp/mangle.cc:4315
#96 mangle_decl_string (decl=decl@entry=<function_decl 0x7fffef18cf00 __dt_comp 
>) at /home/patrick/code/gcc/gcc/cp/mangle.cc:4415
#97 0x0000000000b29e3b in get_mangled_id (decl=<function_decl 0x7fffef18cf00 
__dt_comp >) at /home/patrick/code/gcc/gcc/cp/mangle.cc:4441
#98 mangle_decl (decl=<function_decl 0x7fffef18cf00 __dt_comp >) at 
/home/patrick/code/gcc/gcc/cp/mangle.cc:4479
#99 0x00000000015e9d5e in decl_assembler_name (decl=<function_decl 
0x7fffef18cf00 __dt_comp >) at /home/patrick/code/gcc/gcc/tree.cc:719
--Type <RET> for more, q to quit, c to continue without paging--
#100 0x0000000000b8798f in cdtor_comdat_group (complete=<optimized out>, 
base=base@entry=<function_decl 0x7fffef192000 __dt_base >) at 
/home/patrick/code/gcc/gcc/cp/optimize.cc:177
#101 0x0000000000b89ec3 in maybe_clone_body (fn=fn@entry=<function_decl 
0x7fffef18ce00 __dt >) at /home/patrick/code/gcc/gcc/cp/optimize.cc:597
#102 0x0000000000b40486 in post_load_processing () at 
/home/patrick/code/gcc/gcc/cp/module.cc:17548
#103 0x0000000000b6b44f in lazy_load_pendings (decl=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/module.cc:19281
#104 0x0000000000b75059 in maybe_lazily_declare (name=<identifier_node 
0x7ffff7221540 operator()>, klass=<record_type 0x7fffef1b2d20 ._anon_234>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2002
#105 get_class_binding (klass=<record_type 0x7fffef1b2d20 ._anon_234>, 
name=<identifier_node 0x7ffff7221540 operator()>, want_type=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2038
#106 0x0000000000c5313f in lookup_field_r (binfo=binfo@entry=<tree_binfo 
0x7fffef19de40>, data=data@entry=0x7fffffff9780) at 
/home/patrick/code/gcc/gcc/cp/search.cc:1061
#107 0x0000000000c533d7 in dfs_walk_all (data=0x7fffffff9780, post_fn=0x0, 
pre_fn=0xc530e0 <lookup_field_r(tree, void*)>, binfo=<tree_binfo 
0x7fffef19de40>) at /home/patrick/code/gcc/gcc/cp/search.cc:1507
#108 lookup_member (xbasetype=<optimized out>, name=<identifier_node 
0x7ffff7221540 operator()>, protect=protect@entry=0, 
want_type=want_type@entry=false, complain=complain@entry=3, afi=afi@entry=0x0)
    at /home/patrick/code/gcc/gcc/cp/search.cc:1216
#109 0x0000000000b116f2 in lambda_function (lambda=lambda@entry=<record_type 
0x7fffef1b2d20 ._anon_234>) at /home/patrick/code/gcc/gcc/cp/lambda.cc:178
#110 0x0000000000b200ef in write_closure_type_name (type=<record_type 
0x7fffef1b2d20 ._anon_234>) at /home/patrick/code/gcc/gcc/cp/mangle.cc:1984
#111 write_unqualified_name (decl=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/mangle.cc:1591
#112 0x0000000000b24455 in write_local_name (entity=<optimized out>, 
local_entity=<optimized out>, function=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/mangle.cc:2353
#113 write_name (decl=<type_decl 0x7fffef1ac4c0 ._anon_234>, 
ignore_local_scope=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/mangle.cc:1159
#114 0x0000000000b26613 in write_class_enum_type (type=<record_type 
0x7fffef1b2d20 ._anon_234>) at /home/patrick/code/gcc/gcc/tree.h:3768
#115 write_type (type=<record_type 0x7fffef1b2d20 ._anon_234>) at 
/home/patrick/code/gcc/gcc/cp/mangle.cc:2515
#116 0x0000000000b259cd in write_template_args (args=<tree_vec 0x7fffef1af9a0>, 
parms=<optimized out>, parms@entry=<tree 0x0>) at 
/home/patrick/code/gcc/gcc/cp/mangle.cc:3228
#117 0x0000000000b2601f in write_nested_name (decl=<function_decl 
0x7fffef1b3b00 __resize_and_overwrite>) at 
/home/patrick/code/gcc/gcc/tree.h:3613
#118 0x0000000000b23a07 in write_encoding (decl=<function_decl 0x7fffef1b3b00 
__resize_and_overwrite>) at /home/patrick/code/gcc/gcc/cp/mangle.cc:938
#119 0x0000000000b243bb in write_local_name (entity=<optimized out>, 
local_entity=<optimized out>, function=<function_decl 0x7fffef1b3b00 
__resize_and_overwrite>) at /home/patrick/code/gcc/gcc/cp/mangle.cc:2331
#120 write_name (decl=<function_decl 0x7fffef1b3e00 __dt_comp >, 
ignore_local_scope=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/mangle.cc:1159
#121 0x0000000000b23a07 in write_encoding (decl=<function_decl 0x7fffef1b3e00 
__dt_comp >) at /home/patrick/code/gcc/gcc/cp/mangle.cc:938
#122 0x0000000000b23bac in write_mangled_name (decl=decl@entry=<function_decl 
0x7fffef1b3e00 __dt_comp >, top_level=top_level@entry=true) at 
/home/patrick/code/gcc/gcc/cp/mangle.cc:820
#123 0x0000000000b29c51 in mangle_decl_string (decl=decl@entry=<function_decl 
0x7fffef1b3e00 __dt_comp >) at /home/patrick/code/gcc/gcc/cp/mangle.cc:4420
#124 0x0000000000b29e3b in get_mangled_id (decl=<function_decl 0x7fffef1b3e00 
__dt_comp >) at /home/patrick/code/gcc/gcc/cp/mangle.cc:4441
#125 mangle_decl (decl=<function_decl 0x7fffef1b3e00 __dt_comp >) at 
/home/patrick/code/gcc/gcc/cp/mangle.cc:4479
#126 0x00000000015e9d5e in decl_assembler_name (decl=<function_decl 
0x7fffef1b3e00 __dt_comp >) at /home/patrick/code/gcc/gcc/tree.cc:719
#127 0x0000000000b8798f in cdtor_comdat_group (complete=<optimized out>, 
base=base@entry=<function_decl 0x7fffef1b3f00 __dt_base >) at 
/home/patrick/code/gcc/gcc/cp/optimize.cc:177
#128 0x0000000000b89ec3 in maybe_clone_body (fn=fn@entry=<function_decl 
0x7fffef1b3d00 __dt >) at /home/patrick/code/gcc/gcc/cp/optimize.cc:597
#129 0x0000000000b40486 in post_load_processing () at 
/home/patrick/code/gcc/gcc/cp/module.cc:17548
#130 0x0000000000b6b44f in lazy_load_pendings (decl=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/module.cc:19281
#131 0x0000000000b75059 in maybe_lazily_declare (name=<identifier_node 
0x7ffff721e840 this>, klass=<record_type 0x7fffef1d9f18 _Terminator>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2002
#132 get_class_binding (klass=<record_type 0x7fffef1d9f18 _Terminator>, 
name=<identifier_node 0x7ffff721e840 this>, want_type=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2038
#133 0x0000000000c5313f in lookup_field_r (binfo=binfo@entry=<tree_binfo 
0x7fffef1d1c00>, data=data@entry=0x7fffffff9d80) at 
/home/patrick/code/gcc/gcc/cp/search.cc:1061
#134 0x0000000000c533d7 in dfs_walk_all (data=0x7fffffff9d80, post_fn=0x0, 
pre_fn=0xc530e0 <lookup_field_r(tree, void*)>, binfo=<tree_binfo 
0x7fffef1d1c00>) at /home/patrick/code/gcc/gcc/cp/search.cc:1507
#135 lookup_member (xbasetype=<optimized out>, xbasetype@entry=<record_type 
0x7fffef1d9f18 _Terminator>, name=name@entry=<identifier_node 0x7ffff721e840 
this>, protect=protect@entry=2,
    want_type=want_type@entry=true, complain=complain@entry=3, 
afi=afi@entry=0x0) at /home/patrick/code/gcc/gcc/cp/search.cc:1216
#136 0x0000000000b70340 in get_class_binding (name=name@entry=<identifier_node 
0x7ffff721e840 this>, scope=scope@entry=0x7fffeee183a8) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:5615
#137 0x0000000000b7a160 in outer_binding (name=<identifier_node 0x7ffff721e840 
this>, binding=binding@entry=0x0, class_p=class_p@entry=true) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:7715
#138 0x0000000000b7ef2d in check_local_shadow (decl=decl@entry=<parm_decl 
0x7fffef1d7e00 this>) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:3280
#139 0x0000000000b8493f in pushdecl (decl=<optimized out>, 
hiding=hiding@entry=false) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:4007
#140 0x0000000000ab6791 in do_push_parm_decls (decl=decl@entry=<function_decl 
0x7fffef1d8e00 __dt_base >, args=<optimized out>, 
nonparms=nonparms@entry=0x7fffffff9f88)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18214
#141 0x0000000000ab6813 in store_parm_decls 
(current_function_parms=current_function_parms@entry=<parm_decl 0x7fffef1d7e00 
this>) at /home/patrick/code/gcc/gcc/cp/decl.cc:18259
#142 0x0000000000ab7311 in start_preparsed_function 
(decl1=decl1@entry=<function_decl 0x7fffef1d8e00 __dt_base >, 
attrs=attrs@entry=<tree 0x0>, flags=flags@entry=1)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18115
#143 0x0000000000b894e8 in maybe_clone_body (fn=fn@entry=<function_decl 
0x7fffef1d8c00 __dt >) at /home/patrick/code/gcc/gcc/cp/optimize.cc:581
#144 0x0000000000b40486 in post_load_processing () at 
/home/patrick/code/gcc/gcc/cp/module.cc:17548
#145 0x0000000000b6b44f in lazy_load_pendings (decl=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/module.cc:19281
#146 0x0000000000b75059 in maybe_lazily_declare (name=<identifier_node 
0x7ffff721e840 this>, klass=<record_type 0x7fffef243e70 formatter>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2002
#147 get_class_binding (klass=<record_type 0x7fffef243e70 formatter>, 
name=<identifier_node 0x7ffff721e840 this>, want_type=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2038
#148 0x0000000000c5313f in lookup_field_r (binfo=binfo@entry=<tree_binfo 
0x7fffef245120>, data=data@entry=0x7fffffffa2b0) at 
/home/patrick/code/gcc/gcc/cp/search.cc:1061
#149 0x0000000000c533d7 in dfs_walk_all (data=0x7fffffffa2b0, post_fn=0x0, 
pre_fn=0xc530e0 <lookup_field_r(tree, void*)>, binfo=<tree_binfo 
0x7fffef245120>) at /home/patrick/code/gcc/gcc/cp/search.cc:1507
#150 lookup_member (xbasetype=<optimized out>, xbasetype@entry=<record_type 
0x7fffef243e70 formatter>, name=name@entry=<identifier_node 0x7ffff721e840 
this>, protect=protect@entry=2,
    want_type=want_type@entry=true, complain=complain@entry=3, 
afi=afi@entry=0x0) at /home/patrick/code/gcc/gcc/cp/search.cc:1216
#151 0x0000000000b70340 in get_class_binding (name=name@entry=<identifier_node 
0x7ffff721e840 this>, scope=scope@entry=0x7fffef114f78) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:5615
--Type <RET> for more, q to quit, c to continue without paging--
#152 0x0000000000b7a160 in outer_binding (name=<identifier_node 0x7ffff721e840 
this>, binding=binding@entry=0x0, class_p=class_p@entry=true) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:7715
#153 0x0000000000b7ef2d in check_local_shadow (decl=decl@entry=<parm_decl 
0x7fffef23ea00 this>) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:3280
#154 0x0000000000b8493f in pushdecl (decl=<optimized out>, 
hiding=hiding@entry=false) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:4007
#155 0x0000000000ab6791 in do_push_parm_decls (decl=decl@entry=<function_decl 
0x7fffef239b00 __ct_base >, args=<optimized out>, 
nonparms=nonparms@entry=0x7fffffffa4b8)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18214
#156 0x0000000000ab6813 in store_parm_decls 
(current_function_parms=current_function_parms@entry=<parm_decl 0x7fffef23ea00 
this>) at /home/patrick/code/gcc/gcc/cp/decl.cc:18259
#157 0x0000000000ab7311 in start_preparsed_function 
(decl1=decl1@entry=<function_decl 0x7fffef239b00 __ct_base >, 
attrs=attrs@entry=<tree 0x0>, flags=flags@entry=1)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18115
#158 0x0000000000b894e8 in maybe_clone_body (fn=fn@entry=<function_decl 
0x7fffef239900 __ct >) at /home/patrick/code/gcc/gcc/cp/optimize.cc:581
#159 0x0000000000b40486 in post_load_processing () at 
/home/patrick/code/gcc/gcc/cp/module.cc:17548
#160 0x0000000000b6b44f in lazy_load_pendings (decl=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/module.cc:19281
#161 0x0000000000b75059 in maybe_lazily_declare (name=<identifier_node 
0x7ffff70ab340 __str>, klass=<record_type 0x7fffef246b28 _Formatting_scanner>) 
at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:2002
#162 get_class_binding (klass=<record_type 0x7fffef246b28 _Formatting_scanner>, 
name=<identifier_node 0x7ffff70ab340 __str>, want_type=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2038
#163 0x0000000000c5313f in lookup_field_r (binfo=binfo@entry=<tree_binfo 
0x7fffef201ea0>, data=data@entry=0x7fffffffa7e0) at 
/home/patrick/code/gcc/gcc/cp/search.cc:1061
#164 0x0000000000c533d7 in dfs_walk_all (data=0x7fffffffa7e0, post_fn=0x0, 
pre_fn=0xc530e0 <lookup_field_r(tree, void*)>, binfo=<tree_binfo 
0x7fffef201ea0>) at /home/patrick/code/gcc/gcc/cp/search.cc:1507
#165 lookup_member (xbasetype=<optimized out>, xbasetype@entry=<record_type 
0x7fffef246b28 _Formatting_scanner>, name=name@entry=<identifier_node 
0x7ffff70ab340 __str>, protect=protect@entry=2,
    want_type=want_type@entry=true, complain=complain@entry=3, 
afi=afi@entry=0x0) at /home/patrick/code/gcc/gcc/cp/search.cc:1216
#166 0x0000000000b70340 in get_class_binding (name=name@entry=<identifier_node 
0x7ffff70ab340 __str>, scope=scope@entry=0x7fffef114ee8) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:5615
#167 0x0000000000b7a160 in outer_binding (name=<identifier_node 0x7ffff70ab340 
__str>, binding=binding@entry=0x0, class_p=class_p@entry=true) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:7715
#168 0x0000000000b7ef2d in check_local_shadow (decl=decl@entry=<parm_decl 
0x7fffef255300 __str>) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:3280
#169 0x0000000000b8493f in pushdecl (decl=<optimized out>, 
hiding=hiding@entry=false) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:4007
#170 0x0000000000ab6791 in do_push_parm_decls (decl=decl@entry=<function_decl 
0x7fffef254300 __ct_base >, args=<optimized out>, 
nonparms=nonparms@entry=0x7fffffffa9e8)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18214
#171 0x0000000000ab6813 in store_parm_decls 
(current_function_parms=current_function_parms@entry=<parm_decl 0x7fffef255200 
this>) at /home/patrick/code/gcc/gcc/cp/decl.cc:18259
#172 0x0000000000ab7311 in start_preparsed_function 
(decl1=decl1@entry=<function_decl 0x7fffef254300 __ct_base >, 
attrs=attrs@entry=<tree 0x0>, flags=flags@entry=1)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18115
#173 0x0000000000b894e8 in maybe_clone_body (fn=fn@entry=<function_decl 
0x7fffef254100 __ct >) at /home/patrick/code/gcc/gcc/cp/optimize.cc:581
#174 0x0000000000b40486 in post_load_processing () at 
/home/patrick/code/gcc/gcc/cp/module.cc:17548
#175 0x0000000000b6b44f in lazy_load_pendings (decl=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/module.cc:19281
#176 0x0000000000b75059 in maybe_lazily_declare (name=<identifier_node 
0x7ffff703b380 __rep>, klass=<record_type 0x7fffefefd348 duration>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2002
#177 get_class_binding (klass=<record_type 0x7fffefefd348 duration>, 
name=<identifier_node 0x7ffff703b380 __rep>, want_type=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2038
#178 0x0000000000c5313f in lookup_field_r (binfo=binfo@entry=<tree_binfo 
0x7fffefed6d80>, data=data@entry=0x7fffffffad10) at 
/home/patrick/code/gcc/gcc/cp/search.cc:1061
#179 0x0000000000c533d7 in dfs_walk_all (data=0x7fffffffad10, post_fn=0x0, 
pre_fn=0xc530e0 <lookup_field_r(tree, void*)>, binfo=<tree_binfo 
0x7fffefed6d80>) at /home/patrick/code/gcc/gcc/cp/search.cc:1507
#180 lookup_member (xbasetype=<optimized out>, xbasetype@entry=<record_type 
0x7fffefefd348 duration>, name=name@entry=<identifier_node 0x7ffff703b380 
__rep>, protect=protect@entry=2,
    want_type=want_type@entry=true, complain=complain@entry=3, 
afi=afi@entry=0x0) at /home/patrick/code/gcc/gcc/cp/search.cc:1216
#181 0x0000000000b70340 in get_class_binding (name=name@entry=<identifier_node 
0x7ffff703b380 __rep>, scope=scope@entry=0x7fffefdd5990) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:5615
#182 0x0000000000b7a160 in outer_binding (name=<identifier_node 0x7ffff703b380 
__rep>, binding=binding@entry=0x0, class_p=class_p@entry=true) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:7715
#183 0x0000000000b7ef2d in check_local_shadow (decl=decl@entry=<parm_decl 
0x7fffefef8c00 __rep>) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:3280
#184 0x0000000000b8493f in pushdecl (decl=<optimized out>, 
hiding=hiding@entry=false) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:4007
#185 0x0000000000ab6791 in do_push_parm_decls (decl=decl@entry=<function_decl 
0x7fffefeff100 __ct_base >, args=<optimized out>, 
nonparms=nonparms@entry=0x7fffffffaf18)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18214
#186 0x0000000000ab6813 in store_parm_decls 
(current_function_parms=current_function_parms@entry=<parm_decl 0x7fffefef8b80 
this>) at /home/patrick/code/gcc/gcc/cp/decl.cc:18259
#187 0x0000000000ab7311 in start_preparsed_function 
(decl1=decl1@entry=<function_decl 0x7fffefeff100 __ct_base >, 
attrs=attrs@entry=<tree 0x0>, flags=flags@entry=1)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18115
#188 0x0000000000b894e8 in maybe_clone_body (fn=fn@entry=<function_decl 
0x7fffefef7f00 __ct >) at /home/patrick/code/gcc/gcc/cp/optimize.cc:581
#189 0x0000000000b40486 in post_load_processing () at 
/home/patrick/code/gcc/gcc/cp/module.cc:17548
#190 0x0000000000b6b44f in lazy_load_pendings (decl=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/module.cc:19281
#191 0x0000000000b75059 in maybe_lazily_declare (name=<identifier_node 
0x7ffff0071c40 __dur>, klass=<record_type 0x7fffefe28dc8 time_point>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2002
#192 get_class_binding (klass=<record_type 0x7fffefe28dc8 time_point>, 
name=<identifier_node 0x7ffff0071c40 __dur>, want_type=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2038
#193 0x0000000000c5313f in lookup_field_r (binfo=binfo@entry=<tree_binfo 
0x7fffefde1d80>, data=data@entry=0x7fffffffb240) at 
/home/patrick/code/gcc/gcc/cp/search.cc:1061
#194 0x0000000000c533d7 in dfs_walk_all (data=0x7fffffffb240, post_fn=0x0, 
pre_fn=0xc530e0 <lookup_field_r(tree, void*)>, binfo=<tree_binfo 
0x7fffefde1d80>) at /home/patrick/code/gcc/gcc/cp/search.cc:1507
#195 lookup_member (xbasetype=<optimized out>, xbasetype@entry=<record_type 
0x7fffefe28dc8 time_point>, name=name@entry=<identifier_node 0x7ffff0071c40 
__dur>, protect=protect@entry=2,
    want_type=want_type@entry=true, complain=complain@entry=3, 
afi=afi@entry=0x0) at /home/patrick/code/gcc/gcc/cp/search.cc:1216
#196 0x0000000000b70340 in get_class_binding (name=name@entry=<identifier_node 
0x7ffff0071c40 __dur>, scope=scope@entry=0x7fffefdd5678) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:5615
#197 0x0000000000b7a160 in outer_binding (name=<identifier_node 0x7ffff0071c40 
__dur>, binding=binding@entry=0x0, class_p=class_p@entry=true) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:7715
#198 0x0000000000b7ef2d in check_local_shadow (decl=decl@entry=<parm_decl 
0x7fffefe37300 __dur>) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:3280
#199 0x0000000000b8493f in pushdecl (decl=<optimized out>, 
hiding=hiding@entry=false) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:4007
--Type <RET> for more, q to quit, c to continue without paging--
#200 0x0000000000ab6791 in do_push_parm_decls (decl=decl@entry=<function_decl 
0x7fffefe35700 __ct_base >, args=<optimized out>, 
nonparms=nonparms@entry=0x7fffffffb448)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18214
#201 0x0000000000ab6813 in store_parm_decls 
(current_function_parms=current_function_parms@entry=<parm_decl 0x7fffefe37280 
this>) at /home/patrick/code/gcc/gcc/cp/decl.cc:18259
#202 0x0000000000ab7311 in start_preparsed_function 
(decl1=decl1@entry=<function_decl 0x7fffefe35700 __ct_base >, 
attrs=attrs@entry=<tree 0x0>, flags=flags@entry=1)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18115
#203 0x0000000000b894e8 in maybe_clone_body (fn=fn@entry=<function_decl 
0x7fffefe35500 __ct >) at /home/patrick/code/gcc/gcc/cp/optimize.cc:581
#204 0x0000000000b40486 in post_load_processing () at 
/home/patrick/code/gcc/gcc/cp/module.cc:17548
#205 0x0000000000b6b44f in lazy_load_pendings (decl=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/module.cc:19281
#206 0x0000000000b75059 in maybe_lazily_declare (name=<identifier_node 
0x7ffff721e840 this>, klass=<record_type 0x7fffefe69dc8 __shared_ptr_access>) 
at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:2002
#207 get_class_binding (klass=<record_type 0x7fffefe69dc8 __shared_ptr_access>, 
name=<identifier_node 0x7ffff721e840 this>, want_type=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2038
#208 0x0000000000c5313f in lookup_field_r (binfo=binfo@entry=<tree_binfo 
0x7fffefe414e0>, data=data@entry=0x7fffffffb770) at 
/home/patrick/code/gcc/gcc/cp/search.cc:1061
#209 0x0000000000c53505 in dfs_walk_all (data=0x7fffffffb770, post_fn=0x0, 
pre_fn=0xc530e0 <lookup_field_r(tree, void*)>, binfo=<tree_binfo 
0x7fffefe414e0>) at /home/patrick/code/gcc/gcc/cp/search.cc:1507
#210 dfs_walk_all (data=0x7fffffffb770, post_fn=0x0, pre_fn=0xc530e0 
<lookup_field_r(tree, void*)>, binfo=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/search.cc:1519
#211 lookup_member (xbasetype=<optimized out>, xbasetype@entry=<record_type 
0x7fffefe45540 __shared_ptr>, name=name@entry=<identifier_node 0x7ffff721e840 
this>, protect=protect@entry=2,
    want_type=want_type@entry=true, complain=complain@entry=3, 
afi=afi@entry=0x0) at /home/patrick/code/gcc/gcc/cp/search.cc:1216
#212 0x0000000000b70340 in get_class_binding (name=name@entry=<identifier_node 
0x7ffff721e840 this>, scope=scope@entry=0x7fffefdd55e8) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:5615
#213 0x0000000000b7a160 in outer_binding (name=<identifier_node 0x7ffff721e840 
this>, binding=binding@entry=0x0, class_p=class_p@entry=true) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:7715
#214 0x0000000000b7ef2d in check_local_shadow (decl=decl@entry=<parm_decl 
0x7fffefe61580 this>) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:3280
#215 0x0000000000b8493f in pushdecl (decl=<optimized out>, 
hiding=hiding@entry=false) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:4007
#216 0x0000000000ab6791 in do_push_parm_decls (decl=decl@entry=<function_decl 
0x7fffefe60700 __dt_base >, args=<optimized out>, 
nonparms=nonparms@entry=0x7fffffffb978)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18214
#217 0x0000000000ab6813 in store_parm_decls 
(current_function_parms=current_function_parms@entry=<parm_decl 0x7fffefe61580 
this>) at /home/patrick/code/gcc/gcc/cp/decl.cc:18259
#218 0x0000000000ab7311 in start_preparsed_function 
(decl1=decl1@entry=<function_decl 0x7fffefe60700 __dt_base >, 
attrs=attrs@entry=<tree 0x0>, flags=flags@entry=1)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18115
#219 0x0000000000b894e8 in maybe_clone_body (fn=fn@entry=<function_decl 
0x7fffefe60500 __dt >) at /home/patrick/code/gcc/gcc/cp/optimize.cc:581
#220 0x0000000000b40486 in post_load_processing () at 
/home/patrick/code/gcc/gcc/cp/module.cc:17548
#221 0x0000000000b6b44f in lazy_load_pendings (decl=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/module.cc:19281
#222 0x0000000000b75059 in maybe_lazily_declare (name=<identifier_node 
0x7ffff721e840 this>, klass=<record_type 0x7fffefe45540 __shared_ptr>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2002
#223 get_class_binding (klass=<record_type 0x7fffefe45540 __shared_ptr>, 
name=<identifier_node 0x7ffff721e840 this>, want_type=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2038
#224 0x0000000000c5313f in lookup_field_r (binfo=binfo@entry=<tree_binfo 
0x7fffefe43618>, data=data@entry=0x7fffffffbca0) at 
/home/patrick/code/gcc/gcc/cp/search.cc:1061
#225 0x0000000000c533d7 in dfs_walk_all (data=0x7fffffffbca0, post_fn=0x0, 
pre_fn=0xc530e0 <lookup_field_r(tree, void*)>, binfo=<tree_binfo 
0x7fffefe43618>) at /home/patrick/code/gcc/gcc/cp/search.cc:1507
#226 lookup_member (xbasetype=<optimized out>, xbasetype@entry=<record_type 
0x7fffefe45540 __shared_ptr>, name=name@entry=<identifier_node 0x7ffff721e840 
this>, protect=protect@entry=2,
    want_type=want_type@entry=true, complain=complain@entry=3, 
afi=afi@entry=0x0) at /home/patrick/code/gcc/gcc/cp/search.cc:1216
#227 0x0000000000b70340 in get_class_binding (name=name@entry=<identifier_node 
0x7ffff721e840 this>, scope=scope@entry=0x7fffefdd5510) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:5615
#228 0x0000000000b7a160 in outer_binding (name=<identifier_node 0x7ffff721e840 
this>, binding=binding@entry=0x0, class_p=class_p@entry=true) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:7715
#229 0x0000000000b7ef2d in check_local_shadow (decl=decl@entry=<parm_decl 
0x7fffefe68700 this>) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:3280
#230 0x0000000000b8493f in pushdecl (decl=<optimized out>, 
hiding=hiding@entry=false) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:4007
#231 0x0000000000ab6791 in do_push_parm_decls (decl=decl@entry=<function_decl 
0x7fffefe6b300 __ct_base >, args=<optimized out>, 
nonparms=nonparms@entry=0x7fffffffbea8)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18214
#232 0x0000000000ab6813 in store_parm_decls 
(current_function_parms=current_function_parms@entry=<parm_decl 0x7fffefe68700 
this>) at /home/patrick/code/gcc/gcc/cp/decl.cc:18259
#233 0x0000000000ab7311 in start_preparsed_function 
(decl1=decl1@entry=<function_decl 0x7fffefe6b300 __ct_base >, 
attrs=attrs@entry=<tree 0x0>, flags=flags@entry=1)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18115
#234 0x0000000000b894e8 in maybe_clone_body (fn=fn@entry=<function_decl 
0x7fffefe6b100 __ct >) at /home/patrick/code/gcc/gcc/cp/optimize.cc:581
#235 0x0000000000b40486 in post_load_processing () at 
/home/patrick/code/gcc/gcc/cp/module.cc:17548
#236 0x0000000000b6b44f in lazy_load_pendings (decl=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/module.cc:19281
#237 0x0000000000b75059 in maybe_lazily_declare (name=<identifier_node 
0x7ffff721e840 this>, klass=<record_type 0x7ffff050aa80 shared_ptr>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2002
#238 get_class_binding (klass=<record_type 0x7ffff050aa80 shared_ptr>, 
name=<identifier_node 0x7ffff721e840 this>, want_type=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:2038
#239 0x0000000000c5313f in lookup_field_r (binfo=binfo@entry=<tree_binfo 
0x7ffff041a750>, data=data@entry=0x7fffffffc1d0) at 
/home/patrick/code/gcc/gcc/cp/search.cc:1061
#240 0x0000000000c533d7 in dfs_walk_all (data=0x7fffffffc1d0, post_fn=0x0, 
pre_fn=0xc530e0 <lookup_field_r(tree, void*)>, binfo=<tree_binfo 
0x7ffff041a750>) at /home/patrick/code/gcc/gcc/cp/search.cc:1507
#241 lookup_member (xbasetype=<optimized out>, xbasetype@entry=<record_type 
0x7ffff050aa80 shared_ptr>, name=name@entry=<identifier_node 0x7ffff721e840 
this>, protect=protect@entry=2,
    want_type=want_type@entry=true, complain=complain@entry=3, 
afi=afi@entry=0x0) at /home/patrick/code/gcc/gcc/cp/search.cc:1216
#242 0x0000000000b70340 in get_class_binding (name=name@entry=<identifier_node 
0x7ffff721e840 this>, scope=scope@entry=0x7ffff3e27b40) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:5615
#243 0x0000000000b7a160 in outer_binding (name=<identifier_node 0x7ffff721e840 
this>, binding=binding@entry=0x0, class_p=class_p@entry=true) at 
/home/patrick/code/gcc/gcc/cp/name-lookup.cc:7715
#244 0x0000000000b7ef2d in check_local_shadow (decl=decl@entry=<parm_decl 
0x7ffff05ff500 this>) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:3280
#245 0x0000000000b8493f in pushdecl (decl=<optimized out>, 
hiding=hiding@entry=false) at /home/patrick/code/gcc/gcc/cp/name-lookup.cc:4007
#246 0x0000000000ab6791 in do_push_parm_decls (decl=decl@entry=<function_decl 
0x7fffefd7e000 __dt_base >, args=<optimized out>, 
nonparms=nonparms@entry=0x7fffffffc3d8)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18214
--Type <RET> for more, q to quit, c to continue without paging--
#247 0x0000000000ab6813 in store_parm_decls 
(current_function_parms=current_function_parms@entry=<parm_decl 0x7ffff05ff500 
this>) at /home/patrick/code/gcc/gcc/cp/decl.cc:18259
#248 0x0000000000ab7311 in start_preparsed_function 
(decl1=decl1@entry=<function_decl 0x7fffefd7e000 __dt_base >, 
attrs=attrs@entry=<tree 0x0>, flags=flags@entry=1)
    at /home/patrick/code/gcc/gcc/cp/decl.cc:18115
#249 0x0000000000b894e8 in maybe_clone_body (fn=fn@entry=<function_decl 
0x7ffff05fde00 __dt >) at /home/patrick/code/gcc/gcc/cp/optimize.cc:581
#250 0x0000000000b40486 in post_load_processing () at 
/home/patrick/code/gcc/gcc/cp/module.cc:17548
#251 0x0000000000b6b44f in lazy_load_pendings (decl=decl@entry=<template_decl 
0x7ffff6ab7d00 vector>) at /home/patrick/code/gcc/gcc/cp/module.cc:19281
#252 0x0000000000c28378 in lookup_template_class (d1=<optimized out>, 
d1@entry=<template_decl 0x7ffff6ab7d00 vector>, arglist=arglist@entry=<tree_vec 
0x7ffff3c42f40>, in_decl=in_decl@entry=<tree 0x0>,
    context=context@entry=<tree 0x0>, entering_scope=entering_scope@entry=0, 
complain=3, complain@entry=35) at /home/patrick/code/gcc/gcc/cp/pt.cc:10024
#253 0x0000000000c5fe9e in finish_template_type (name=name@entry=<template_decl 
0x7ffff6ab7d00 vector>, args=args@entry=<tree_vec 0x7ffff3c42f40>, 
entering_scope=0)
    at /home/patrick/code/gcc/gcc/cp/semantics.cc:3948
#254 0x0000000000bca179 in cp_parser_template_id 
(parser=parser@entry=0x7ffff739be70, template_keyword_p=<optimized out>, 
check_dependency_p=check_dependency_p@entry=true, 
tag_type=tag_type@entry=none_type,
    is_declaration=<optimized out>) at 
/home/patrick/code/gcc/gcc/cp/parser.cc:19039
#255 0x0000000000bca3dc in cp_parser_class_name 
(parser=parser@entry=0x7ffff739be70, 
typename_keyword_p=typename_keyword_p@entry=false, 
template_keyword_p=template_keyword_p@entry=false,
    tag_type=tag_type@entry=none_type, 
check_dependency_p=check_dependency_p@entry=true, 
class_head_p=class_head_p@entry=false, is_declaration=false, enum_ok=true)
    at /home/patrick/code/gcc/gcc/cp/parser.cc:26640
#256 0x0000000000bc2ecb in cp_parser_qualifying_entity (is_declaration=false, 
type_p=false, check_dependency_p=true, template_keyword_p=false, 
typename_keyword_p=false, parser=0x7ffff739be70)
    at /home/patrick/code/gcc/gcc/cp/parser.cc:7392
#257 cp_parser_nested_name_specifier_opt (parser=parser@entry=0x7ffff739be70, 
typename_keyword_p=typename_keyword_p@entry=false, 
check_dependency_p=check_dependency_p@entry=true, type_p=type_p@entry=false,
    is_declaration=is_declaration@entry=false, template_keyword_p=<optimized 
out>, template_keyword_p@entry=false) at 
/home/patrick/code/gcc/gcc/cp/parser.cc:7074
#258 0x0000000000bd12e3 in cp_parser_simple_type_specifier 
(parser=parser@entry=0x7ffff739be70, 
decl_specs=decl_specs@entry=0x7fffffffccf0, flags=flags@entry=1) at 
/home/patrick/code/gcc/gcc/cp/parser.cc:20482
#259 0x0000000000baba2a in cp_parser_type_specifier 
(parser=parser@entry=0x7ffff739be70, flags=flags@entry=1, 
decl_specs=decl_specs@entry=0x7fffffffccf0, 
is_declaration=is_declaration@entry=true,
    declares_class_or_enum=0x7fffffffcb80, 
is_cv_qualifier=is_cv_qualifier@entry=0x7fffffffcb7f) at 
/home/patrick/code/gcc/gcc/cp/parser.cc:20134
#260 0x0000000000bad75d in cp_parser_decl_specifier_seq 
(parser=parser@entry=0x7ffff739be70, flags=flags@entry=1, 
decl_specs=decl_specs@entry=0x7fffffffccf0,
    declares_class_or_enum=declares_class_or_enum@entry=0x7fffffffccb0) at 
/home/patrick/code/gcc/gcc/cp/parser.cc:16581
#261 0x0000000000bae915 in cp_parser_simple_declaration (parser=0x7ffff739be70, 
function_definition_allowed_p=false, maybe_range_for_decl=0x0) at 
/home/patrick/code/gcc/gcc/cp/parser.cc:15765
#262 0x0000000000bd3661 in cp_parser_declaration_statement (parser=<optimized 
out>) at /home/patrick/code/gcc/gcc/cp/parser.cc:14928
#263 0x0000000000bdb11f in cp_parser_statement 
(parser=parser@entry=0x7ffff739be70, 
in_statement_expr=in_statement_expr@entry=<tree 0x0>, 
in_compound=in_compound@entry=true, if_p=if_p@entry=0x0,
    chain=chain@entry=0x0, loc_after_labels=loc_after_labels@entry=0x0) at 
/home/patrick/code/gcc/gcc/cp/parser.cc:12884
#264 0x0000000000bb18c8 in cp_parser_statement_seq_opt 
(parser=parser@entry=0x7ffff739be70, 
in_statement_expr=in_statement_expr@entry=<tree 0x0>) at 
/home/patrick/code/gcc/gcc/cp/parser.cc:13410
#265 0x0000000000bb1af8 in cp_parser_compound_statement 
(parser=parser@entry=0x7ffff739be70, 
in_statement_expr=in_statement_expr@entry=<tree 0x0>, 
bcs_flags=bcs_flags@entry=0,
    function_body=function_body@entry=true) at 
/home/patrick/code/gcc/gcc/cp/parser.cc:13264
#266 0x0000000000bd37d5 in cp_parser_function_body 
(in_function_try_block=false, parser=0x7ffff739be70) at 
/home/patrick/code/gcc/gcc/cp/parser.cc:25971
#267 cp_parser_ctor_initializer_opt_and_function_body (parser=0x7ffff739be70, 
in_function_try_block=false) at /home/patrick/code/gcc/gcc/cp/parser.cc:26022
#268 0x0000000000bd8a4f in cp_parser_function_definition_after_declarator 
(parser=parser@entry=0x7ffff739be70, inline_p=inline_p@entry=false) at 
/home/patrick/code/gcc/gcc/cp/parser.cc:32697
#269 0x0000000000bd9bd8 in 
cp_parser_function_definition_from_specifiers_and_declarator 
(declarator=<optimized out>, attributes=<tree 0x0>, 
decl_specifiers=0x7fffffffcf80, parser=0x7ffff739be70)
    at /home/patrick/code/gcc/gcc/cp/parser.cc:32615
#270 cp_parser_init_declarator (parser=parser@entry=0x7ffff739be70, 
flags=<optimized out>, flags@entry=0, 
decl_specifiers=decl_specifiers@entry=0x7fffffffd260, checks=checks@entry=0x0,
    function_definition_allowed_p=function_definition_allowed_p@entry=true, 
member_p=member_p@entry=false, declares_class_or_enum=0, 
function_definition_p=0x7fffffffd300, maybe_range_for_decl=0x0,
    init_loc=0x7fffffffd224, auto_result=0x7fffffffd3a0) at 
/home/patrick/code/gcc/gcc/cp/parser.cc:23358
#271 0x0000000000baea69 in cp_parser_simple_declaration (parser=0x7ffff739be70, 
function_definition_allowed_p=true, maybe_range_for_decl=0x0) at 
/home/patrick/code/gcc/gcc/cp/parser.cc:15892
#272 0x0000000000be67c4 in cp_parser_declaration (parser=0x7ffff739be70, 
prefix_attrs=<tree 0x0>) at /home/patrick/code/gcc/gcc/cp/parser.cc:15565
#273 0x0000000000be71fb in cp_parser_toplevel_declaration 
(parser=0x7ffff739be70) at /home/patrick/code/gcc/gcc/cp/parser.cc:15586
#274 cp_parser_translation_unit (parser=0x7ffff739be70) at 
/home/patrick/code/gcc/gcc/cp/parser.cc:5278
#275 c_parse_file () at /home/patrick/code/gcc/gcc/cp/parser.cc:51176
#276 0x0000000000d32512 in c_common_parse_file () at 
/home/patrick/code/gcc/gcc/c-family/c-opts.cc:1306
#277 0x00000000012e81be in compile_file () at 
/home/patrick/code/gcc/gcc/toplev.cc:447
#278 0x0000000000a00bfc in do_compile () at 
/home/patrick/code/gcc/gcc/toplev.cc:2152
#279 toplev::main (this=this@entry=0x7fffffffd65e, argc=<optimized out>, 
argc@entry=35, argv=<optimized out>, argv@entry=0x7fffffffd788) at 
/home/patrick/code/gcc/gcc/toplev.cc:2308
#280 0x0000000000a023db in main (argc=35, argv=0x7fffffffd788) at 
/home/patrick/code/gcc/gcc/main.cc:39

Reply via email to