fork download
  1. typedef std::vector< stm::shared<int> > NumberList;
  2.  
  3. void clear_list(stm::shared<NumberList> & numbers)
  4. {
  5. stm::atomic([&](stm::transaction & tx)
  6. {
  7. // Error! Can't call stm::shared<int>::operator=()
  8. NumberList & n = numbers.open_rw(tx);
  9. n.clear();
  10. });
  11. }
  12.  
  13.  
  14. #if 0
  15. 03:00:41: Running build steps for project QtTetris...
  16. 03:00:41: Starting: "/usr/bin/make" VERBOSE=1 -j4
  17. /usr/bin/cmake -H/home/francis/svn/jalf-stm/QtTetris -B/home/francis/svn/jalf-stm/Build --check-build-system CMakeFiles/Makefile.cmake 0
  18. /usr/bin/cmake -E cmake_progress_start /home/francis/svn/jalf-stm/Build/CMakeFiles /home/francis/svn/jalf-stm/Build/CMakeFiles/progress.marks
  19. /usr/bin/make -f CMakeFiles/Makefile2 all
  20. make[1]: Entering directory `/home/francis/svn/jalf-stm/Build'
  21. /usr/bin/make -f Release/Linux/x86_64/lib/Futile/CMakeFiles/Futile.dir/build.make Release/Linux/x86_64/lib/Futile/CMakeFiles/Futile.dir/depend
  22. /usr/bin/make -f Release/Linux/x86_64/lib/Tetris/CMakeFiles/Tetris.dir/build.make Release/Linux/x86_64/lib/Tetris/CMakeFiles/Tetris.dir/depend
  23. make[2]: Entering directory `/home/francis/svn/jalf-stm/Build'
  24. cd /home/francis/svn/jalf-stm/Build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/francis/svn/jalf-stm/QtTetris /home/francis/svn/jalf-stm/Futile /home/francis/svn/jalf-stm/Build /home/francis/svn/jalf-stm/Build/Release/Linux/x86_64/lib/Futile /home/francis/svn/jalf-stm/Build/Release/Linux/x86_64/lib/Futile/CMakeFiles/Futile.dir/DependInfo.cmake --color=
  25. make[2]: Leaving directory `/home/francis/svn/jalf-stm/Build'
  26. /usr/bin/make -f Release/Linux/x86_64/lib/Futile/CMakeFiles/Futile.dir/build.make Release/Linux/x86_64/lib/Futile/CMakeFiles/Futile.dir/build
  27. make[2]: Entering directory `/home/francis/svn/jalf-stm/Build'
  28. make[2]: Nothing to be done for `Release/Linux/x86_64/lib/Futile/CMakeFiles/Futile.dir/build'.
  29. make[2]: Leaving directory `/home/francis/svn/jalf-stm/Build'
  30. /usr/bin/cmake -E cmake_progress_report /home/francis/svn/jalf-stm/Build/CMakeFiles 1 2 3 4 5 6 7 8 9
  31. make[2]: Entering directory `/home/francis/svn/jalf-stm/Build'
  32. cd /home/francis/svn/jalf-stm/Build && /usr/bin/cmake -E cmake_depends "Unix Makefiles" /home/francis/svn/jalf-stm/QtTetris /home/francis/svn/jalf-stm/Tetris /home/francis/svn/jalf-stm/Build /home/francis/svn/jalf-stm/Build/Release/Linux/x86_64/lib/Tetris /home/francis/svn/jalf-stm/Build/Release/Linux/x86_64/lib/Tetris/CMakeFiles/Tetris.dir/DependInfo.cmake --color=
  33. [ 20%] Built target Futile
  34. make[2]: Leaving directory `/home/francis/svn/jalf-stm/Build'
  35. /usr/bin/make -f Release/Linux/x86_64/lib/Tetris/CMakeFiles/Tetris.dir/build.make Release/Linux/x86_64/lib/Tetris/CMakeFiles/Tetris.dir/build
  36. make[2]: Entering directory `/home/francis/svn/jalf-stm/Build'
  37. /usr/bin/cmake -E cmake_progress_report /home/francis/svn/jalf-stm/Build/CMakeFiles 40
  38. /usr/bin/cmake -E cmake_progress_report /home/francis/svn/jalf-stm/Build/CMakeFiles 41
  39. /usr/bin/cmake -E cmake_progress_report /home/francis/svn/jalf-stm/Build/CMakeFiles 42
  40. /usr/bin/cmake -E cmake_progress_report /home/francis/svn/jalf-stm/Build/CMakeFiles 43
  41. [ 25%] [ 25%] [ 27%] [ 30%] Building CXX object Release/Linux/x86_64/lib/Tetris/CMakeFiles/Tetris.dir/src/NodeCalculatorImpl.cpp.o
  42. cd /home/francis/svn/jalf-stm/Build/Release/Linux/x86_64/lib/Tetris && /home/francis/bin/c++ -O3 -DNDEBUG -I/home/francis/svn/jalf-stm/QtTetris/../Futile/include -I/home/francis/svn/jalf-stm/QtTetris/../Tetris/include -isystem /home/francis/svn/jalf-stm/QtTetris/../3rdParty/Boost -isystem /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM -isystem /home/francis/svn/jalf-stm/QtTetris/../3rdParty/Poco/Foundation/include -DTETRIS_QT=1 -std=c++0x -Wall -Wextra -Werror -O3 -DNDEBUG -o CMakeFiles/Tetris.dir/src/NodeCalculatorImpl.cpp.o -c /home/francis/svn/jalf-stm/Tetris/src/NodeCalculatorImpl.cpp
  43. Building CXX object Release/Linux/x86_64/lib/Tetris/CMakeFiles/Tetris.dir/src/Player.cpp.o
  44. Building CXX object Release/Linux/x86_64/lib/Tetris/CMakeFiles/Tetris.dir/src/Unicode.cpp.o
  45. Building CXX object Release/Linux/x86_64/lib/Tetris/CMakeFiles/Tetris.dir/src/SingleThreadedNodeCalculator.cpp.o
  46. cd /home/francis/svn/jalf-stm/Build/Release/Linux/x86_64/lib/Tetris && /home/francis/bin/c++ -O3 -DNDEBUG -I/home/francis/svn/jalf-stm/QtTetris/../Futile/include -I/home/francis/svn/jalf-stm/QtTetris/../Tetris/include -isystem /home/francis/svn/jalf-stm/QtTetris/../3rdParty/Boost -isystem /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM -isystem /home/francis/svn/jalf-stm/QtTetris/../3rdParty/Poco/Foundation/include -DTETRIS_QT=1 -std=c++0x -Wall -Wextra -Werror -O3 -DNDEBUG -o CMakeFiles/Tetris.dir/src/Player.cpp.o -c /home/francis/svn/jalf-stm/Tetris/src/Player.cpp
  47. cd /home/francis/svn/jalf-stm/Build/Release/Linux/x86_64/lib/Tetris && /home/francis/bin/c++ -O3 -DNDEBUG -I/home/francis/svn/jalf-stm/QtTetris/../Futile/include -I/home/francis/svn/jalf-stm/QtTetris/../Tetris/include -isystem /home/francis/svn/jalf-stm/QtTetris/../3rdParty/Boost -isystem /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM -isystem /home/francis/svn/jalf-stm/QtTetris/../3rdParty/Poco/Foundation/include -DTETRIS_QT=1 -std=c++0x -Wall -Wextra -Werror -O3 -DNDEBUG -o CMakeFiles/Tetris.dir/src/SingleThreadedNodeCalculator.cpp.o -c /home/francis/svn/jalf-stm/Tetris/src/SingleThreadedNodeCalculator.cpp
  48. cd /home/francis/svn/jalf-stm/Build/Release/Linux/x86_64/lib/Tetris && /home/francis/bin/c++ -O3 -DNDEBUG -I/home/francis/svn/jalf-stm/QtTetris/../Futile/include -I/home/francis/svn/jalf-stm/QtTetris/../Tetris/include -isystem /home/francis/svn/jalf-stm/QtTetris/../3rdParty/Boost -isystem /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM -isystem /home/francis/svn/jalf-stm/QtTetris/../3rdParty/Poco/Foundation/include -DTETRIS_QT=1 -std=c++0x -Wall -Wextra -Werror -O3 -DNDEBUG -o CMakeFiles/Tetris.dir/src/Unicode.cpp.o -c /home/francis/svn/jalf-stm/Tetris/src/Unicode.cpp
  49. In file included from /usr/include/c++/4.6/bits/char_traits.h:41:0,
  50. from /usr/include/c++/4.6/string:42,
  51. from /usr/include/c++/4.6/stdexcept:40,
  52. from /home/francis/svn/jalf-stm/QtTetris/../Tetris/include/Tetris/BlockType.h:5,
  53. from /home/francis/svn/jalf-stm/QtTetris/../Tetris/include/Tetris/BlockTypes.h:5,
  54. from /home/francis/svn/jalf-stm/QtTetris/../Tetris/include/Tetris/NodeCalculatorImpl.h:5,
  55. from /home/francis/svn/jalf-stm/Tetris/src/NodeCalculatorImpl.cpp:1:
  56. /usr/include/c++/4.6/bits/stl_algobase.h: In static member function ‘static _OI std::__copy_move<false, false, std::random_access_iterator_tag>::__copy_m(_II, _II, _OI) [with _II = const stm::shared<int>*, _OI = stm::shared<int>*]’:
  57. /usr/include/c++/4.6/bits/stl_algobase.h:384:70: instantiated from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false, _II = const stm::shared<int>*, _OI = stm::shared<int>*]’
  58. /usr/include/c++/4.6/bits/stl_algobase.h:422:39: instantiated from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false, _II = __gnu_cxx::__normal_iterator<const stm::shared<int>*, std::vector<stm::shared<int> > >, _OI = __gnu_cxx::__normal_iterator<stm::shared<int>*, std::vector<stm::shared<int> > >]’
  59. /usr/include/c++/4.6/bits/stl_algobase.h:454:18: instantiated from ‘_OI std::copy(_II, _II, _OI) [with _II = __gnu_cxx::__normal_iterator<const stm::shared<int>*, std::vector<stm::shared<int> > >, _OI = __gnu_cxx::__normal_iterator<stm::shared<int>*, std::vector<stm::shared<int> > >]’
  60. /usr/include/c++/4.6/bits/vector.tcc:178:8: instantiated from ‘std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = stm::shared<int>, _Alloc = std::allocator<stm::shared<int> >]’
  61. /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM/stm/buffer_functions.hpp:43:5: instantiated from ‘void stm::frontend::nested_assign(const stm::backend::metadata*, void*) [with Ty = std::vector<stm::shared<int> >]’
  62. /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM/stm/shared_internal_common.hpp:58:78: instantiated from ‘stm::frontend::shared_internal_common<backend_type, T>::non_const_val& stm::frontend::shared_internal_common<backend_type, T>::open_rw(tx_type&) [with tx_type = stm::transaction, derived = stm::frontend::shared_internal<std::vector<stm::shared<int> > >, T = std::vector<stm::shared<int> >, stm::frontend::shared_internal_common<backend_type, T>::non_const_val = std::vector<stm::shared<int> >]’
  63. /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM/stm/shared.hpp:45:54: instantiated from ‘stm::shared<T>::non_const_val& stm::shared<T>::open_rw(stm::transaction&) [with T = std::vector<stm::shared<int> >, stm::shared<T>::non_const_val = std::vector<stm::shared<int> >]’
  64. /home/francis/svn/jalf-stm/Tetris/src/NodeCalculatorImpl.cpp:32:44: instantiated from here
  65. /usr/include/c++/4.6/bits/stl_algobase.h:329:8: error: use of deleted function ‘stm::shared<int>& stm::shared<int>::operator=(const stm::shared<int>&)’
  66. In file included from /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM/stm.hpp:10:0,
  67. from /home/francis/svn/jalf-stm/QtTetris/../Tetris/include/Tetris/NodeCalculatorImpl.h:15,
  68. from /home/francis/svn/jalf-stm/Tetris/src/NodeCalculatorImpl.cpp:1:
  69. /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM/stm/shared.hpp:23:9: error: ‘stm::shared<int>& stm::shared<int>::operator=(const stm::shared<int>&)’ is implicitly deleted because the default definition would be ill-formed:
  70. /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM/stm/shared.hpp:23:9: error: use of deleted function ‘stm::frontend::shared_internal<int>& stm::frontend::shared_internal<int>::operator=(const stm::frontend::shared_internal<int>&)’
  71. In file included from /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM/stm/shared.hpp:4:0,
  72. from /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM/stm.hpp:10,
  73. from /home/francis/svn/jalf-stm/QtTetris/../Tetris/include/Tetris/NodeCalculatorImpl.h:15,
  74. from /home/francis/svn/jalf-stm/Tetris/src/NodeCalculatorImpl.cpp:1:
  75. /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM/stm/shared_internal.hpp:12:10: error: ‘stm::frontend::shared_internal<int>& stm::frontend::shared_internal<int>::operator=(const stm::frontend::shared_internal<int>&)’ is implicitly deleted because the default definition would be ill-formed:
  76. /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM/stm/shared_internal.hpp:12:10: error: use of deleted function ‘stm::frontend::shared_internal_common<stm::frontend::shared_internal<int>, int>& stm::frontend::shared_internal_common<stm::frontend::shared_internal<int>, int>::operator=(const stm::frontend::shared_internal_common<stm::frontend::shared_internal<int>, int>&)’
  77. In file included from /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM/stm/shared_internal.hpp:4:0,
  78. from /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM/stm/shared.hpp:4,
  79. from /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM/stm.hpp:10,
  80. from /home/francis/svn/jalf-stm/QtTetris/../Tetris/include/Tetris/NodeCalculatorImpl.h:15,
  81. from /home/francis/svn/jalf-stm/Tetris/src/NodeCalculatorImpl.cpp:1:
  82. /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM/stm/shared_internal_common.hpp:21:10: error: ‘stm::frontend::shared_internal_common<stm::frontend::shared_internal<int>, int>& stm::frontend::shared_internal_common<stm::frontend::shared_internal<int>, int>::operator=(const stm::frontend::shared_internal_common<stm::frontend::shared_internal<int>, int>&)’ is implicitly deleted because the default definition would be ill-formed:
  83. /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM/stm/shared_base.hpp:20:17: error: ‘stm::backend::shared_base& stm::backend::shared_base::operator=(const stm::backend::shared_base&)’ is private
  84. /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM/stm/shared_internal_common.hpp:21:10: error: within this context
  85. In file included from /usr/include/c++/4.6/bits/char_traits.h:41:0,
  86. from /usr/include/c++/4.6/string:42,
  87. from /usr/include/c++/4.6/stdexcept:40,
  88. from /home/francis/svn/jalf-stm/QtTetris/../Tetris/include/Tetris/BlockType.h:5,
  89. from /home/francis/svn/jalf-stm/QtTetris/../Tetris/include/Tetris/BlockTypes.h:5,
  90. from /home/francis/svn/jalf-stm/QtTetris/../Tetris/include/Tetris/NodeCalculatorImpl.h:5,
  91. from /home/francis/svn/jalf-stm/Tetris/src/NodeCalculatorImpl.cpp:1:
  92. /usr/include/c++/4.6/bits/stl_algobase.h: In static member function ‘static _OI std::__copy_move<false, false, std::random_access_iterator_tag>::__copy_m(_II, _II, _OI) [with _II = stm::shared<int>*, _OI = stm::shared<int>*]’:
  93. /usr/include/c++/4.6/bits/stl_algobase.h:384:70: instantiated from ‘_OI std::__copy_move_a(_II, _II, _OI) [with bool _IsMove = false, _II = stm::shared<int>*, _OI = stm::shared<int>*]’
  94. /usr/include/c++/4.6/bits/stl_algobase.h:422:39: instantiated from ‘_OI std::__copy_move_a2(_II, _II, _OI) [with bool _IsMove = false, _II = stm::shared<int>*, _OI = stm::shared<int>*]’
  95. /usr/include/c++/4.6/bits/stl_algobase.h:454:18: instantiated from ‘_OI std::copy(_II, _II, _OI) [with _II = stm::shared<int>*, _OI = stm::shared<int>*]’
  96. /usr/include/c++/4.6/bits/vector.tcc:183:8: instantiated from ‘std::vector<_Tp, _Alloc>& std::vector<_Tp, _Alloc>::operator=(const std::vector<_Tp, _Alloc>&) [with _Tp = stm::shared<int>, _Alloc = std::allocator<stm::shared<int> >]’
  97. /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM/stm/buffer_functions.hpp:43:5: instantiated from ‘void stm::frontend::nested_assign(const stm::backend::metadata*, void*) [with Ty = std::vector<stm::shared<int> >]’
  98. /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM/stm/shared_internal_common.hpp:58:78: instantiated from ‘stm::frontend::shared_internal_common<backend_type, T>::non_const_val& stm::frontend::shared_internal_common<backend_type, T>::open_rw(tx_type&) [with tx_type = stm::transaction, derived = stm::frontend::shared_internal<std::vector<stm::shared<int> > >, T = std::vector<stm::shared<int> >, stm::frontend::shared_internal_common<backend_type, T>::non_const_val = std::vector<stm::shared<int> >]’
  99. /home/francis/svn/jalf-stm/QtTetris/../3rdParty/STM/stm/shared.hpp:45:54: instantiated from ‘stm::shared<T>::non_const_val& stm::shared<T>::open_rw(stm::transaction&) [with T = std::vector<stm::shared<int> >, stm::shared<T>::non_const_val = std::vector<stm::shared<int> >]’
  100. /home/francis/svn/jalf-stm/Tetris/src/NodeCalculatorImpl.cpp:32:44: instantiated from here
  101. /usr/include/c++/4.6/bits/stl_algobase.h:329:8: error: use of deleted function ‘stm::shared<int>& stm::shared<int>::operator=(const stm::shared<int>&)’
  102. make[2]: Leaving directory `/home/francis/svn/jalf-stm/Build'
  103. make[1]: Leaving directory `/home/francis/svn/jalf-stm/Build'
  104. make[2]: *** [Release/Linux/x86_64/lib/Tetris/CMakeFiles/Tetris.dir/src/NodeCalculatorImpl.cpp.o] Error 1
  105. make[1]: *** [Release/Linux/x86_64/lib/Tetris/CMakeFiles/Tetris.dir/all] Error 2
  106. make: *** [all] Error 2
  107. 03:00:43: The process "/usr/bin/make" exited with code 2.
  108. Error while building project QtTetris (target: Desktop)
  109. When executing build step 'Clone of Make'
  110.  
  111. #endif
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
prog.cpp:20:62: warning: missing terminating ' character
prog.cpp:23:62: warning: missing terminating ' character
prog.cpp:25:61: warning: missing terminating ' character
prog.cpp:27:62: warning: missing terminating ' character
prog.cpp:28:93: warning: missing terminating ' character
prog.cpp:29:61: warning: missing terminating ' character
prog.cpp:31:62: warning: missing terminating ' character
prog.cpp:34:61: warning: missing terminating ' character
prog.cpp:36:62: warning: missing terminating ' character
prog.cpp:102:61: warning: missing terminating ' character
prog.cpp:103:61: warning: missing terminating ' character
prog.cpp:1:9: error: 'vector' in namespace 'std' does not name a type
prog.cpp:3:17: error: variable or field 'clear_list' declared void
prog.cpp:3:17: error: 'stm' has not been declared
prog.cpp:3:29: error: 'NumberList' was not declared in this scope
prog.cpp:3:43: error: 'numbers' was not declared in this scope
stdout
Standard output is empty