This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/54025] atomic<chrono::duration> won't compile: chrono::duration::duration() is not C++11 compliant
- From: "paolo.carlini at oracle dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 19 Jul 2012 11:57:04 +0000
- Subject: [Bug libstdc++/54025] atomic<chrono::duration> won't compile: chrono::duration::duration() is not C++11 compliant
- Auto-submitted: auto-generated
- References: <bug-54025-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54025
--- Comment #5 from Paolo Carlini <paolo.carlini at oracle dot com> 2012-07-19 11:57:04 UTC ---
If we just do the change and nothing else, 20_util/duration/cons/constexpr.cc
doesn't compile anymore with this error:
/scratch/Gcc/svn-dirs/trunk/libstdc++-v3/testsuite/20_util/duration/cons/constexpr.cc:27:42:
required from here
/scratch/Gcc/svn-dirs/trunk/libstdc++-v3/testsuite/util/testsuite_common_types.h:698:18:
error: uninitialized const '__obj' [-fpermissive]
{ constexpr _Tp __obj; }
^
In file included from
/scratch/Gcc/svn-dirs/trunk/libstdc++-v3/testsuite/20_util/duration/cons/constexpr.cc:21:0:
/home/paolo/Gcc/svn-dirs/trunk-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/chrono:220:14:
note: 'const struct std::chrono::duration<long int>' has no user-provided
default constructor
struct duration
^
/home/paolo/Gcc/svn-dirs/trunk-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/chrono:231:12:
note: constructor is not user-provided because it is explicitly defaulted in
the class body
constexpr duration() = default;
^
/home/paolo/Gcc/svn-dirs/trunk-build/x86_64-unknown-linux-gnu/libstdc++-v3/include/chrono:349:6:
note: and the implicitly-defined constructor does not initialize
'std::chrono::duration<long int>::rep std::chrono::duration<long int>::__r'
rep __r;
^