[Bug c++/105307] -fmax-errors truncated for concept diagnostics

marxin at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Tue Apr 19 14:20:33 GMT 2022


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

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Assignee|marxin at gcc dot gnu.org          |unassigned at gcc dot gnu.org
             Status|ASSIGNED                    |NEW

--- Comment #2 from Martin Liška <marxin at gcc dot gnu.org> ---
So the 2 errors are printed with the following backtraces:

#0  error (gmsgid=gmsgid@entry=0x22ca610 "template constraint failure for %qD")
at /home/marxin/Programming/gcc/gcc/diagnostic.cc:1837
#1  0x0000000000bf3177 in lookup_template_class_1 (complain=3,
entering_scope=<optimized out>, context=<optimized out>, in_decl=0x0,
arglist=0x7ffff7752ba0, d1=<optimized out>) at
/home/marxin/Programming/gcc/gcc/cp/pt.cc:10013
#2  lookup_template_class (d1=d1@entry=0x7ffff7fb3100,
arglist=arglist@entry=0x7ffff7752b80, in_decl=in_decl@entry=0x0,
context=context@entry=0x0, entering_scope=entering_scope@entry=0,
complain=complain@entry=35) at /home/marxin/Programming/gcc/gcc/cp/pt.cc:10350
#3  0x0000000000c1de16 in finish_template_type (name=name@entry=0x7ffff7fb3100,
args=args@entry=0x7ffff7752b80, entering_scope=0) at
/home/marxin/Programming/gcc/gcc/cp/semantics.cc:3710
#4  0x0000000000b81462 in cp_parser_template_id (parser=0x7ffff7639850,
template_keyword_p=<optimized out>, check_dependency_p=<optimized out>,
tag_type=<optimized out>, is_declaration=<optimized out>) at
/home/marxin/Programming/gcc/gcc/cp/parser.cc:18332
#5  0x0000000000b81716 in cp_parser_class_name (parser=0x7ffff7639850,
typename_keyword_p=<optimized out>, template_keyword_p=<optimized out>,
tag_type=none_type, check_dependency_p=<optimized out>, class_head_p=<optimized
out>, is_declaration=false, enum_ok=true) at
/home/marxin/Programming/gcc/gcc/cp/parser.cc:25711
#6  0x0000000000b77ee8 in cp_parser_qualifying_entity (is_declaration=false,
type_p=false, check_dependency_p=true, template_keyword_p=false,
typename_keyword_p=false, parser=0x7ffff7639850) at
/home/marxin/Programming/gcc/gcc/cp/parser.cc:7116
#7  cp_parser_nested_name_specifier_opt (parser=<optimized out>,
typename_keyword_p=<optimized out>, check_dependency_p=<optimized out>,
type_p=<optimized out>, is_declaration=<optimized out>,
template_keyword_p=false) at /home/marxin/Programming/gcc/gcc/cp/parser.cc:6798
#8  0x0000000000b9dc0f in cp_parser_template_introduction
(parser=0x7ffff7639850, member_p=<optimized out>) at
/home/marxin/Programming/gcc/gcc/cp/parser.cc:31443
#9  0x0000000000ba0637 in cp_parser_declaration (parser=0x7ffff7639850,
prefix_attrs=<optimized out>) at
/home/marxin/Programming/gcc/gcc/cp/parser.cc:14960
#10 0x0000000000ba116c in cp_parser_toplevel_declaration
(parser=0x7ffff7639850) at /home/marxin/Programming/gcc/gcc/cp/parser.cc:14987
#11 cp_parser_translation_unit (parser=0x7ffff7639850) at
/home/marxin/Programming/gcc/gcc/cp/parser.cc:5010
#12 c_parse_file () at /home/marxin/Programming/gcc/gcc/cp/parser.cc:48067
#13 0x0000000000ce579a in c_common_parse_file () at
/home/marxin/Programming/gcc/gcc/c-family/c-opts.cc:1240
#14 0x0000000001260424 in compile_file () at
/home/marxin/Programming/gcc/gcc/toplev.cc:452
#15 0x00000000009cfdf1 in do_compile (no_backend=false) at
/home/marxin/Programming/gcc/gcc/toplev.cc:2168
#16 toplev::main (this=this@entry=0x7fffffffd88e, argc=<optimized out>,
argc@entry=16, argv=<optimized out>, argv@entry=0x7fffffffd9b8) at
/home/marxin/Programming/gcc/gcc/toplev.cc:2320
#17 0x00000000009d1d65 in main (argc=16, argv=0x7fffffffd9b8) at
/home/marxin/Programming/gcc/gcc/main.cc:39

#0  error_at (loc=260416, gmsgid=0x22aa635 "%qD is not a member of %qT") at
/home/marxin/Programming/gcc/gcc/diagnostic.cc:1864
#1  0x0000000000bc632d in tsubst_qualified_id (qualified_id=0x7ffff776e000,
args=<optimized out>, complain=<optimized out>, in_decl=<optimized out>,
done=<optimized out>, address_p=<optimized out>) at
/home/marxin/Programming/gcc/gcc/tree.h:3958
#2  0x0000000000bc7a89 in tsubst_copy_and_build (t=0x7ffff776e000,
args=0x7ffff7752d00, complain=3, in_decl=0x0, function_p=<optimized out>,
integral_constant_expression_p=false) at
/home/marxin/Programming/gcc/gcc/cp/pt.cc:20352
#3  0x0000000000bda73f in tsubst_expr (integral_constant_expression_p=false,
in_decl=0x0, complain=3, args=0x7ffff7752d00, t=0x7ffff776e000) at
/home/marxin/Programming/gcc/gcc/cp/pt.cc:19482
#4  tsubst_expr (t=t@entry=0x7ffff776e000, args=args@entry=0x7ffff7752d00,
complain=complain@entry=3, in_decl=in_decl@entry=0x0,
integral_constant_expression_p=integral_constant_expression_p@entry=false) at
/home/marxin/Programming/gcc/gcc/cp/pt.cc:18441
#5  0x0000000000a3695c in tsubst_valid_expression_requirement
(t=0x7ffff776e000, args=args@entry=0x7ffff7752d00, info=..., info=...) at
/home/marxin/Programming/gcc/gcc/cp/constraint.cc:1935
#6  0x0000000000a39a37 in tsubst_simple_requirement (info=..., info=...,
args=0x7ffff7752d00, t=0x7ffff77529c0) at
/home/marxin/Programming/gcc/gcc/cp/constraint.cc:1958
#7  tsubst_requirement (info=..., args=0x7ffff7752d00, t=0x7ffff77529c0) at
/home/marxin/Programming/gcc/gcc/cp/constraint.cc:2155
#8  tsubst_requires_expr (t=<optimized out>, args=<optimized out>, info=...) at
/home/marxin/Programming/gcc/gcc/cp/constraint.cc:2282
#9  0x0000000000a3a327 in diagnose_atomic_constraint (t=0x7ffff7752cc0,
args=0x7ffff7752d00, result=0x7ffff762c2a0, info=...) at
/home/marxin/Programming/gcc/gcc/cp/constraint.cc:3738
#10 0x0000000000a3b774 in satisfy_atom (info=..., args=0x7ffff7752d00,
t=0x7ffff7752cc0) at /home/marxin/Programming/gcc/gcc/cp/constraint.cc:2994
#11 satisfy_constraint_r (t=<optimized out>, args=<optimized out>, info=...) at
/home/marxin/Programming/gcc/gcc/cp/constraint.cc:3023
#12 0x0000000000a3b983 in satisfy_normalized_constraints
(t=t@entry=0x7ffff7752ca0, args=args@entry=0x7ffff7752ba0, info=...) at
/home/marxin/Programming/gcc/gcc/cp/constraint.cc:3048
#13 0x0000000000a388cb in satisfy_declaration_constraints (info=...,
args=0x7ffff7752ba0, t=0x7ffff7fb3100) at
/home/marxin/Programming/gcc/gcc/cp/constraint.cc:3259
#14 constraint_satisfaction_value (t=0x7ffff7fb3100, args=0x7ffff7752ba0,
info=...) at /home/marxin/Programming/gcc/gcc/cp/constraint.cc:3280
#15 0x0000000000a3bb30 in diagnose_constraints (loc=<optimized out>,
t=t@entry=0x7ffff7fb3100, args=args@entry=0x7ffff7752ba0) at
/home/marxin/Programming/gcc/gcc/cp/constraint.cc:3803
#16 0x0000000000bf318d in lookup_template_class_1 (complain=3,
entering_scope=<optimized out>, context=<optimized out>, in_decl=0x0,
arglist=0x7ffff7752ba0, d1=<optimized out>) at
/home/marxin/Programming/gcc/gcc/cp/pt.cc:10014
#17 lookup_template_class (d1=d1@entry=0x7ffff7fb3100,
arglist=arglist@entry=0x7ffff7752b80, in_decl=in_decl@entry=0x0,
context=context@entry=0x0, entering_scope=entering_scope@entry=0,
complain=complain@entry=35) at /home/marxin/Programming/gcc/gcc/cp/pt.cc:10350
#18 0x0000000000c1de16 in finish_template_type (name=name@entry=0x7ffff7fb3100,
args=args@entry=0x7ffff7752b80, entering_scope=0) at
/home/marxin/Programming/gcc/gcc/cp/semantics.cc:3710
#19 0x0000000000b81462 in cp_parser_template_id (parser=0x7ffff7639850,
template_keyword_p=<optimized out>, check_dependency_p=<optimized out>,
tag_type=<optimized out>, is_declaration=<optimized out>) at
/home/marxin/Programming/gcc/gcc/cp/parser.cc:18332
#20 0x0000000000b81716 in cp_parser_class_name (parser=0x7ffff7639850,
typename_keyword_p=<optimized out>, template_keyword_p=<optimized out>,
tag_type=none_type, check_dependency_p=<optimized out>, class_head_p=<optimized
out>, is_declaration=false, enum_ok=true) at
/home/marxin/Programming/gcc/gcc/cp/parser.cc:25711
#21 0x0000000000b77ee8 in cp_parser_qualifying_entity (is_declaration=false,
type_p=false, check_dependency_p=true, template_keyword_p=false,
typename_keyword_p=false, parser=0x7ffff7639850) at
/home/marxin/Programming/gcc/gcc/cp/parser.cc:7116
#22 cp_parser_nested_name_specifier_opt (parser=<optimized out>,
typename_keyword_p=<optimized out>, check_dependency_p=<optimized out>,
type_p=<optimized out>, is_declaration=<optimized out>,
template_keyword_p=false) at /home/marxin/Programming/gcc/gcc/cp/parser.cc:6798
#23 0x0000000000b9dc0f in cp_parser_template_introduction
(parser=0x7ffff7639850, member_p=<optimized out>) at
/home/marxin/Programming/gcc/gcc/cp/parser.cc:31443
#24 0x0000000000ba0637 in cp_parser_declaration (parser=0x7ffff7639850,
prefix_attrs=<optimized out>) at
/home/marxin/Programming/gcc/gcc/cp/parser.cc:14960
#25 0x0000000000ba116c in cp_parser_toplevel_declaration
(parser=0x7ffff7639850) at /home/marxin/Programming/gcc/gcc/cp/parser.cc:14987
#26 cp_parser_translation_unit (parser=0x7ffff7639850) at
/home/marxin/Programming/gcc/gcc/cp/parser.cc:5010
#27 c_parse_file () at /home/marxin/Programming/gcc/gcc/cp/parser.cc:48067
#28 0x0000000000ce579a in c_common_parse_file () at
/home/marxin/Programming/gcc/gcc/c-family/c-opts.cc:1240
#29 0x0000000001260424 in compile_file () at
/home/marxin/Programming/gcc/gcc/toplev.cc:452
#30 0x00000000009cfdf1 in do_compile (no_backend=false) at
/home/marxin/Programming/gcc/gcc/toplev.cc:2168
#31 toplev::main (this=this@entry=0x7fffffffd88e, argc=<optimized out>,
argc@entry=16, argv=<optimized out>, argv@entry=0x7fffffffd9b8) at
/home/marxin/Programming/gcc/gcc/toplev.cc:2320
#32 0x00000000009d1d65 in main (argc=16, argv=0x7fffffffd9b8) at
/home/marxin/Programming/gcc/gcc/main.cc:39

So each of them emitted quite far from each other, I don't have an easy fix.


More information about the Gcc-bugs mailing list