This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/36871] __has_nothrow_copy(T) false for T with a template ctor



------- Comment #1 from sebor at roguewave dot com  2008-07-19 00:44 -------
This also fails. Seems that the combination of a copy ctor and template ctor
(even non-throwing) trips the compiler up.

$ cat u.cpp && g++ u.cpp -std=c++0x && ./a.out 
#include <cassert>
#include <type_traits>

struct F {
    F (const F&) throw () { }
    template <class T> F (T) throw () { }
};


int main ()
{
    assert (std::has_nothrow_copy_constructor<F>::value);
    assert (__has_nothrow_copy (F));

}

a.out: u.cpp:12: int main(): Assertion
`std::has_nothrow_copy_constructor<F>::value' failed.
Aborted


-- 


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]