http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45940
--- Comment #3 from Aldy Hernandez <aldyh at gcc dot gnu.org> 2010-11-23 13:44:45 UTC --- I have a patch to fix this problem, but I also see that the provided testcase has another error message which I think is correct: In file included from src/Building.cpp:77:0: src/Building.cpp:56:34: error: unsafe function call 'void std::list<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = Building*, _Alloc = std::allocator<Building*>, value_type = Building*]' within 'transaction_safe' function push_back() is not annotated as transaction_pure. Please verify that this is the case on your end, because my upcoming patch will only fix the error in the PR, not this additional error I see.