mirror of
				https://github.com/ton-blockchain/ton
				synced 2025-03-09 15:40:10 +00:00 
			
		
		
		
	Suppress clang warning "ATOMIC_FLAG_INIT marked deprecated" (#1502)
In C++20, macro 'ATOMIC_FLAG_INIT' has been marked as deprecated. We need still to use it to be able to compile for C++17. For now, just suppress this warning.
This commit is contained in:
		
							parent
							
								
									c720204199
								
							
						
					
					
						commit
						b1c9466df4
					
				
					 4 changed files with 12 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -63,7 +63,10 @@ class SpinLock {
 | 
			
		|||
  }
 | 
			
		||||
 | 
			
		||||
 private:
 | 
			
		||||
#pragma clang diagnostic push
 | 
			
		||||
#pragma clang diagnostic ignored "-Wdeprecated-pragma"
 | 
			
		||||
  std::atomic_flag flag_ = ATOMIC_FLAG_INIT;
 | 
			
		||||
#pragma clang diagnostic pop
 | 
			
		||||
  void unlock() {
 | 
			
		||||
    flag_.clear(std::memory_order_release);
 | 
			
		||||
  }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -176,7 +176,10 @@ void TsCerr::enterCritical() {
 | 
			
		|||
void TsCerr::exitCritical() {
 | 
			
		||||
  lock_.clear(std::memory_order_release);
 | 
			
		||||
}
 | 
			
		||||
#pragma clang diagnostic push
 | 
			
		||||
#pragma clang diagnostic ignored "-Wdeprecated-pragma"
 | 
			
		||||
TsCerr::Lock TsCerr::lock_ = ATOMIC_FLAG_INIT;
 | 
			
		||||
#pragma clang diagnostic pop
 | 
			
		||||
 | 
			
		||||
class DefaultLog : public LogInterface {
 | 
			
		||||
 public:
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -343,7 +343,10 @@ class TsLog : public LogInterface {
 | 
			
		|||
 | 
			
		||||
 private:
 | 
			
		||||
  LogInterface *log_ = nullptr;
 | 
			
		||||
#pragma clang diagnostic push
 | 
			
		||||
#pragma clang diagnostic ignored "-Wdeprecated-pragma"
 | 
			
		||||
  std::atomic_flag lock_ = ATOMIC_FLAG_INIT;
 | 
			
		||||
#pragma clang diagnostic pop
 | 
			
		||||
  void enter_critical() {
 | 
			
		||||
    while (lock_.test_and_set(std::memory_order_acquire)) {
 | 
			
		||||
      // spin
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -149,7 +149,10 @@ class PollableFdInfo : private ListNode {
 | 
			
		|||
 | 
			
		||||
 private:
 | 
			
		||||
  NativeFd fd_{};
 | 
			
		||||
#pragma clang diagnostic push
 | 
			
		||||
#pragma clang diagnostic ignored "-Wdeprecated-pragma"
 | 
			
		||||
  std::atomic_flag lock_ = ATOMIC_FLAG_INIT;
 | 
			
		||||
#pragma clang diagnostic pop
 | 
			
		||||
  PollFlagsSet flags_;
 | 
			
		||||
#if TD_PORT_WINDOWS
 | 
			
		||||
  SpinLock observer_lock_;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue