[Bug c++/87828] New: g++ crashes in sizeof within lambda (ice-on-valid)
janniksilvanus at gmail dot com
gcc-bugzilla@gcc.gnu.org
Wed Oct 31 11:21:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87828
Bug ID: 87828
Summary: g++ crashes in sizeof within lambda (ice-on-valid)
Product: gcc
Version: 7.3.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: janniksilvanus at gmail dot com
Target Milestone: ---
: g++-7 --version
g++-7 (SUSE Linux) 7.3.1 20180817 [gcc-7-branch revision 263612]
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
: cat test.ii
struct Test {
Test();
Test(Test &);
int getint();
};
template <typename Applier>
void call_applier(Applier && f) {
f(int());
}
Test run() {
Test test;
call_applier([=](auto) {
sizeof(test.getint());
});
return test;
}
: g++-7 -std=c++1z -Wmissing-format-attribute -c test.ii
test.ii: In instantiation of ‘run()::<lambda(auto:1)> [with auto:1 = int]’:
test.ii:9:5: required from ‘void call_applier(Applier&&) [with Applier =
run()::<lambda(auto:1)>]’
test.ii:16:5: required from here
test.ii:15:25: internal compiler error: Segmentation fault
sizeof(test.getint());
~~~~~~~~~~~~^~~
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugs.opensuse.org/> for instructions.
Note the weird -Wmissing-format-attribute flag which is required to trigger the
crash, although it seems to be completely unrelated.
More information about the Gcc-bugs
mailing list