Title
Fence functions should be extern "C"
Status
c++11
Section
[atomics.fences]
Submitter
INCITS

Created on 2010-08-25.00:00:00 last changed 161 months ago

Messages

Date: 2011-02-16.22:27:15

Proposed resolution:

  1. Change [atomics.syn], header <atomic> synopsis as indicated:
    namespace std {
      [..]
      // 29.8, fences
      extern "C" void atomic_thread_fence(memory_order);
      extern "C" void atomic_signal_fence(memory_order);  
    }
    
  2. Change [atomics.fences], p. 5 and p. 6 as indicated:

    extern "C" void atomic_thread_fence(memory_order);
    

    5 Effects: depending on the value of order, this operation: [..]

    extern "C" void atomic_signal_fence(memory_order);  
    

    6 Effects: equivalent to atomic_thread_fence(order), except that synchronizes with relationships are established only between a thread and a signal handler executed in the same thread.

Date: 2011-02-16.00:00:00

[ 2011-02-16 Reflector discussion ]

Moved to Tentatively Ready after 6 votes.

Date: 2010-10-28.22:49:56

Addresses US-179

The fence functions ([atomics.fences] p.5 + p.6) should be extern "C", for C compatibility.

History
Date User Action Args
2011-08-23 20:07:26adminsetstatus: wp -> c++11
2011-04-11 11:23:23adminsetstatus: voting -> wp
2011-03-05 15:24:28adminsetstatus: ready -> voting
2011-02-16 22:27:15adminsetmessages: + msg5499
2011-02-16 22:27:15adminsetstatus: open -> ready
2010-10-28 22:49:56adminsetmessages: + msg5181
2010-10-24 16:08:33adminsetmessages: + msg5020
2010-08-25 00:00:00admincreate