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,
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
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 {
>Number: 10053
>Category: bootstrap
>Synopsis: weak declaration must precede definition errors on OSF 4.0d in
>libsupc++
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible:unassigned
>State: open
>Class: sw-bug
>Submitter-Id