From 39d9ead7fb50de3049b68021ff70bc558636ab53 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Fri, 11 Oct 2013 21:02:43 +0000 Subject: [PATCH] gold/ * gold-threads.h (Once): Conditionalize member was_run_lock_ on [ENABLE_THREADS && __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4], matching its only use. * gold-threads.cc (Once::Once): Likewise conditionalize initializer. --- gold/ChangeLog | 5 +++++ gold/gold-threads.cc | 7 +++++-- gold/gold-threads.h | 4 +++- 3 files changed, 13 insertions(+), 3 deletions(-) diff --git a/gold/ChangeLog b/gold/ChangeLog index 9949b9847c0..ecb2bd56e61 100644 --- a/gold/ChangeLog +++ b/gold/ChangeLog @@ -1,5 +1,10 @@ 2013-10-11 Roland McGrath + * gold-threads.h (Once): Conditionalize member was_run_lock_ on + [ENABLE_THREADS && __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4], matching + its only use. + * gold-threads.cc (Once::Once): Likewise conditionalize initializer. + * archive.h: Use struct rather than class for forward declaration of Read_symbols_data. diff --git a/gold/gold-threads.cc b/gold/gold-threads.cc index 38a1e1600da..2cb293e372b 100644 --- a/gold/gold-threads.cc +++ b/gold/gold-threads.cc @@ -1,6 +1,6 @@ // gold-threads.cc -- thread support for gold -// Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +// Copyright 2006, 2007, 2008, 2009, 2010, 2013 Free Software Foundation, Inc. // Written by Ian Lance Taylor . // This file is part of gold. @@ -335,7 +335,10 @@ c_run_once(void) // Class Once. Once::Once() - : was_run_(false), was_run_lock_(0) + : was_run_(false) +#if defined(ENABLE_THREADS) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) + , was_run_lock_(0) +#endif { #ifndef ENABLE_THREADS this->once_ = NULL; diff --git a/gold/gold-threads.h b/gold/gold-threads.h index 622bf329d16..5751f62b825 100644 --- a/gold/gold-threads.h +++ b/gold/gold-threads.h @@ -1,6 +1,6 @@ // gold-threads.h -- thread support for gold -*- C++ -*- -// Copyright 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. +// Copyright 2006, 2007, 2008, 2009, 2010, 2013 Free Software Foundation, Inc. // Written by Ian Lance Taylor . // This file is part of gold. @@ -223,8 +223,10 @@ class Once private: // True if we have already run the function. bool was_run_; +#if defined(ENABLE_THREADS) && defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) // Internal compare-and-swap lock on was_run_; uint32_t was_run_lock_; +#endif // The lock to run the function only once. Once_initialize* once_; }; -- 2.30.2