I have a question about state of the art of the STM ( Software Transactional Memory ) in C++. I read on cppreference site (transactional_memory) that this is an experimental feature, but it also say that the page is under costruction, so my question is:
Is this feature now supported by the standard? (example c++17 or c++20)
If not yet, the cppreference page says:
This technical specification is supported by GCC as of version 6.1 (requires -fgnu-tm to enable). An older variant of this specification was supported in GCC as of 4.7.
Is this feature supported also by newer GCC versions?
The phrases "STM", "software" and "transactional" do not occur in the standard (working draft, N4849, 2020-01-14). So I think it's safe to say that it's not supported by the standard.
As for GCC,
man g++
for version 10.2.0 says:The second paragraph really ends mid-sentence. Maybe they meant to link to the GCC wiki page on TransactionalMemory.
In any case, it seems like support in GCC has been present in some form or other since version 4.7.