[Bug c++/58119] New: Invalid ambiguous default type conversion with only a single invalid conversion listed.

2013-08-10 Thread tilps at hotmail dot com
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: tilps at hotmail dot com 'Minimal' test case: template class Silly { public: Silly(type *value) { data_ = value; } operator type*() const {

[Bug c++/98632] New: Warn about unspecified expression ordering for atomics with non-relaxed memory ordering.

2021-01-12 Thread tilps at hotmail dot com via Gcc-bugs
Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: tilps at hotmail dot com Target Milestone: --- C++ defines that execution ordering for expressions is largely unspecified. In cases where there are multiple

[Bug c++/98632] Warn about unspecified expression ordering for atomics with non-relaxed memory ordering.

2021-01-13 Thread tilps at hotmail dot com via Gcc-bugs
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98632 --- Comment #2 from tilps at hotmail dot com --- *rough sketch* class TaskConsumer { void run() { if (taken_count_.load(std::memory_order_acquire) < task_count_.load(std::memory_order_acquire)) { taken_count_.fetch_add(1,