base: wrap __machine_rw_barrier() in function for Solaris
__machine_rw_barrier() assembly expansion cannot be treated as a function call (as it is later in the heim_base_atomic_store() macro definition)
This commit is contained in:
		@@ -85,8 +85,14 @@
 | 
				
			|||||||
#elif defined(__sun)
 | 
					#elif defined(__sun)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <sys/atomic.h>
 | 
					#include <sys/atomic.h>
 | 
				
			||||||
 | 
					#include <mbarrier.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define heim_base_atomic_barrier()	__machine_rw_barrier()
 | 
					static inline void __heim_base_atomic_barrier(void)
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    __machine_rw_barrier();
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#define heim_base_atomic_barrier()     __heim_base_atomic_barrier()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define heim_base_atomic_inc(x)		atomic_inc_uint_nv((volatile uint_t *)(x))
 | 
					#define heim_base_atomic_inc(x)		atomic_inc_uint_nv((volatile uint_t *)(x))
 | 
				
			||||||
#define heim_base_atomic_dec(x)		atomic_dec_uint_nv((volatile uint_t *)(x))
 | 
					#define heim_base_atomic_dec(x)		atomic_dec_uint_nv((volatile uint_t *)(x))
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user