[Bug c++/64000] New: internal compiler error on lambda
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64000 Bug ID: 64000 Summary: internal compiler error on lambda Product: gcc Version: 4.9.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: tobias.polzer+gcc at gmail dot com Created attachment 34053 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34053&action=edit preprocessed source g++ -std=c++11 -Wall -Wextra -g -O0regex.cpp -o regex regex.cpp: In lambda function: regex.cpp:72:25: warning: ‘’ is used uninitialized in this function [-Wuninitialized] if(dist[a][b] > d) { ^ regex.cpp:72:25: internal compiler error: in expand_expr_real_1, at expr.c:9454 if(dist[a][b] > d) { ^ Please submit a full bug report, with preprocessed source if appropriate. See for instructions. Preprocessed source stored into /tmp/ccW3t071.out file, please attach this to your bugreport.
[Bug c++/64000] internal compiler error on lambda that captures 2-dimensional variable size array by reference
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64000 tobias.polzer+gcc at gmail dot com changed: What|Removed |Added Attachment #34053|0 |1 is obsolete|| --- Comment #2 from tobias.polzer+gcc at gmail dot com --- Created attachment 34247 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34247&action=edit Reduced testcase
[Bug libstdc++/62045] New: __gnu_pbds::priority_queue, binary_heap_tag> is too slow
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=62045 Bug ID: 62045 Summary: __gnu_pbds::priority_queue, binary_heap_tag> is too slow Product: gcc Version: 4.9.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: libstdc++ Assignee: unassigned at gcc dot gnu.org Reporter: tobias.polzer+gcc at gmail dot com The documentation calls binary heaps the '"best-in-kind" for primitive types' however __gnu_pbds::priority_queue, binary_heap_tag> seems to perform abysmally slow. This is shown in the test suite, e.g. here: https://gcc.gnu.org/onlinedocs/libstdc++/manual/policy_based_data_structures_test.html#performance.priority_queue.int_push where all other heaps vanish in comparison. I had a short look at it in gdb and found that in a push, it executes 277 if (!is_heap()) 276 make_heap(); in ext/pb_ds/detail/binary_heap_/binary_heap_.hpp, where is_heap and make_heap both come from the std namespace and need linear time in the size of the container. Even more peculiar, is_heap returns false, while I think is_heap should be an invariant of the data structure?