[Bug c++/68827] [concepts] ICE in fold where requires parameter shadows function argument
egallager at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Wed Aug 23 15:50:00 GMT 2017
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=68827
Eric Gallager <egallager at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |error-recovery
Status|UNCONFIRMED |NEW
Last reconfirmed| |2017-08-23
CC| |egallager at gcc dot gnu.org
Blocks| |67491
Ever confirmed|0 |1
--- Comment #1 from Eric Gallager <egallager at gcc dot gnu.org> ---
Confirmed that it ICEs, but it's in a different place for me:
$ /usr/local/bin/g++ -c -std=c++1z -fconcepts -Wall -Wextra -pedantic -Wshadow
68827.cc
68827.cc: In function ‘bool requires_types_args(V&&, Var<Types ...>&, Args&&
...)’:
68827.cc:14:18: warning: declaration of ‘V&& v’ shadows a parameter [-Wshadow]
requires (V&& v, Types... type, Args... args) {
^
68827.cc:11:30: note: shadowed declaration is here
bool requires_types_args(V&& v, Var<Types...>&, Args&&... args)
^
68827.cc:14:44: warning: declaration of ‘Args ... args’ shadows a parameter
[-Wshadow]
requires (V&& v, Types... type, Args... args) {
^~~~
68827.cc:11:59: note: shadowed declaration is here
bool requires_types_args(V&& v, Var<Types...>&, Args&&... args)
^~~~
68827.cc: In instantiation of ‘bool requires_types_args(V&&, Var<Types ...>&,
Args&& ...) [with V = A; Types = {int, char}; Args = {int, char}]’:
68827.cc:23:36: required from here
68827.cc:15:7: error: use ‘...’ to expand argument pack
foo(v, type, args...);
~~~^~~~~~~~~~~~~~~~~~
68827.cc:15:7: error: use ‘...’ to expand argument pack
68827.cc:15:7: error: use ‘...’ to expand argument pack
68827.cc:15:7: error: use ‘...’ to expand argument pack
68827.cc:15:7: error: use ‘...’ to expand argument pack
68827.cc:15:7: error: use ‘...’ to expand argument pack
68827.cc:15:7: error: use ‘...’ to expand argument pack
68827.cc:15:7: error: use ‘...’ to expand argument pack
68827.cc:15:7: error: use ‘...’ to expand argument pack
68827.cc:15:7: error: use ‘...’ to expand argument pack
68827.cc:17:4: internal compiler error: tree check: expected tree that contains
‘typed’ structure, have ‘simple_req’ in warning_candidate_p, at
c-family/c-common.c:1732
);
^
libbacktrace could not find executable to open
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.
$
Backtrace for the ICE I get is:
Breakpoint 2, 0x00e2a5b4 in internal_error ()
(gdb) bt
#0 0x00e2a5b4 in internal_error ()
#1 0x0141fb94 in tree_contains_struct_check_failed ()
#2 0x011e67fb in __cold_sect_of___ZL19warning_candidate_pP9tree_node ()
#3 0x001f4628 in verify_tree ()
#4 0x001f494b in verify_tree ()
#5 0x001f5302 in verify_tree ()
#6 0x001f4e5b in verify_tree ()
#7 0x001f4df0 in verify_tree ()
#8 0x001f4df0 in verify_tree ()
#9 0x001f4df0 in verify_tree ()
#10 0x001f5302 in verify_tree ()
#11 0x001f61f7 in verify_sequence_points ()
#12 0x001963f9 in finish_return_stmt ()
#13 0x00153afa in tsubst_expr ()
#14 0x00155ea3 in tsubst_expr ()
#15 0x0017fdb8 in instantiate_decl ()
#16 0x001844c0 in instantiate_pending_templates ()
#17 0x000a974e in c_parse_final_cleanups ()
#18 0x00b16425 in compile_file ()
#19 0x01a9e35e in toplev::main ()
#20 0x01a9fa34 in main ()
I'll have to rebuild my gcc with debugging info to get a better backtrace.
Referenced Bugs:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67491
[Bug 67491] [meta-bug] concepts issues
More information about the Gcc-bugs
mailing list