[Bug c++/59131] Compiler segfaults while generating code to save local variables in transactional section
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59131 --- Comment #2 from Holger Machens machens at tuhh dot de --- Created attachment 31224 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=31224action=edit Test case to reproduce the bug
[Bug c++/59130] New: Inline(d) or static functions not registered in transactional clone table
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59130 Bug ID: 59130 Summary: Inline(d) or static functions not registered in transactional clone table Product: gcc Version: 4.7.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: machens at tuhh dot de Created attachment 31218 -- http://gcc.gnu.org/bugzilla/attachment.cgi?id=31218action=edit Test case to reproduce the bug When a function pointer is used in a transactional section to call a function the STM library (such as libitm) has to lookup the corresponding transactional function 'clone' of that function. The compiler therefore generates mapping tables which associate function pointers of non-transactional functions with their corresponding transactional function clones. With the STAMP benchmark suite I have experienced that the compiler does not generate entries in the lookup table for functions which are declared as static or inline. I have written a small test case to reproduce the bug (see attachment). Compile with: /usr/bin/g++-4.7 -fgnu-tm -Wall -g -O3 -o gnutm-test main.cpp -lpthread -litm
[Bug c++/59131] New: Compiler segfaults while generating code to save local variables in transactional section
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59131 Bug ID: 59131 Summary: Compiler segfaults while generating code to save local variables in transactional section Product: gcc Version: 4.7.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: machens at tuhh dot de I've analyzed code generated to save and restore local variables in transactional sections and wrote some tests with very much local variables (exceeding the capacity of the CPU registers). At some point the compiler segfaulted. I've attached the code to allow you to further investigate it. /usr/bin/g++-4.7 -fgnu-tm -Wall -g -O3 -o gnutm-test compiler-segfaults.c -litm