http://gcc.gnu.org/bugzilla/show_bug.cgi?id=60258

Daniel Krügler <daniel.kruegler at googlemail dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |daniel.kruegler@googlemail.
                   |                            |com

--- Comment #4 from Daniel Krügler <daniel.kruegler at googlemail dot com> ---
Reduced example:

//------------------
#include <atomic>

template <class>
struct base
{
  std::atomic_bool magic{false};
};

int main() 
{
  base<void> b;
}
//------------------

Diagnostics (gcc HEAD 4.9.0 20140215 (experimental)):

<quote>
prog.cc: In constructor 'constexpr base<void>::base()': 
prog.cc:4:8: error: use of deleted function
'std::atomic_bool::atomic_bool(const std::atomic_bool&)' 
  struct base 
         ^ 
In file included from prog.cc:1:0: 
/usr/local/gcc-head/include/c++/4.9.0/atomic:62:5: note: declared here
  atomic_bool(const atomic_bool&) = delete; 
  ^ 
prog.cc: In function 'int main()': 
prog.cc:11:14: note: synthesized method 'constexpr base<void>::base()' first
required here 
  base<void> b; 
  ^
</quote>

The error doesn't occur, if the class template is replaced by a non-template
class.

Reply via email to