[Bug libstdc++/38265] STL treats explicit constructors as converting constructors

2015-05-20 Thread redi at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38265 Jonathan Wakely changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution|---

[Bug libstdc++/38265] STL treats explicit constructors as converting constructors

2015-05-19 Thread gromer at google dot com
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=38265 Geoff Romer changed: What|Removed |Added CC||gromer at google dot com --- Comment #14 f

[Bug libstdc++/38265] STL treats explicit constructors as converting constructors

2014-05-07 Thread redi at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38265 --- Comment #13 from Jonathan Wakely --- The C++11 standard clarifies that this is intended to work. The range constructors require the type to be EmplaceConstructible into the container from the iterator's value_type, which means calling allocato

[Bug libstdc++/38265] STL treats explicit constructors as converting constructors

2008-11-29 Thread paolo dot carlini at oracle dot com
--- Comment #12 from paolo dot carlini at oracle dot com 2008-11-29 17:05 --- Subject: Re: STL treats explicit constructors as converting constructors > The Standard does not require that std::uninitialized_copy be > invoked when > constructing an std::vector or... Sure, but certa

[Bug libstdc++/38265] STL treats explicit constructors as converting constructors

2008-11-29 Thread konto dot dydaktyczne at gmail dot com
--- Comment #11 from konto dot dydaktyczne at gmail dot com 2008-11-29 16:40 --- (In reply to comment #10) > an explicit constructor constructs objects only where the > direct-initialization syntax or where casts are explicitly used. None of these > cases occurs in the code above. I m

[Bug libstdc++/38265] STL treats explicit constructors as converting constructors

2008-11-29 Thread konto dot dydaktyczne at gmail dot com
--- Comment #10 from konto dot dydaktyczne at gmail dot com 2008-11-29 16:36 --- (In reply to comment #9) The Standard does not require that std::uninitialized_copy be invoked when constructing an std::vector or std::deque. Moreover, an explicit constructor constructs objects only whe

[Bug libstdc++/38265] STL treats explicit constructors as converting constructors

2008-11-28 Thread paolo dot carlini at oracle dot com
--- Comment #9 from paolo dot carlini at oracle dot com 2008-11-28 11:40 --- ... and I'm coming to the conclusion that this is not a bug in our library. Consider the std::vector case: I cannot see anything wrong with using std::uninitialized_copy in the implementation of the constructor

[Bug libstdc++/38265] STL treats explicit constructors as converting constructors

2008-11-28 Thread paolo dot carlini at oracle dot com
--- Comment #8 from paolo dot carlini at oracle dot com 2008-11-28 11:30 --- The issue is different because if I remove all uses of _Construct and implement the various uninitialized_* per the letter of the Standard, nothing changes... -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id

[Bug libstdc++/38265] STL treats explicit constructors as converting constructors

2008-11-28 Thread konto dot dydaktyczne at gmail dot com
--- Comment #7 from konto dot dydaktyczne at gmail dot com 2008-11-28 11:23 --- (In reply to comment #1) > GCC 4.4.0 also accepts this code as does Comeau 4.3.10.1. Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.21022.08 for 80x86 does not accept this code. -- http:/

[Bug libstdc++/38265] STL treats explicit constructors as converting constructors

2008-11-28 Thread paolo dot carlini at oracle dot com
--- Comment #6 from paolo dot carlini at oracle dot com 2008-11-28 11:17 --- Hummm, the issue seems different than I remembered it. Will see.. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38265

[Bug libstdc++/38265] STL treats explicit constructors as converting constructors

2008-11-28 Thread paolo dot carlini at oracle dot com
--- Comment #5 from paolo dot carlini at oracle dot com 2008-11-28 11:03 --- But I see now that al long time ago list & co also used _Construct, this is indeed an inconsistency... Let's see what we can do here... -- paolo dot carlini at oracle dot com changed: What|R

[Bug libstdc++/38265] STL treats explicit constructors as converting constructors

2008-11-28 Thread paolo dot carlini at oracle dot com
--- Comment #4 from paolo dot carlini at oracle dot com 2008-11-28 10:50 --- Yes, this is obvious, just grep for _Construct. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38265

[Bug libstdc++/38265] STL treats explicit constructors as converting constructors

2008-11-28 Thread konto dot dydaktyczne at gmail dot com
--- Comment #3 from konto dot dydaktyczne at gmail dot com 2008-11-28 10:07 --- Let me add an std::list and an std::set to my code; see below. Both additions produce errors. So, [sequence containers] std::vector -> no error signaled, "explicit" ignored std::list

[Bug libstdc++/38265] STL treats explicit constructors as converting constructors

2008-11-25 Thread paolo dot carlini at oracle dot com
--- Comment #2 from paolo dot carlini at oracle dot com 2008-11-25 19:48 --- Unless I'm badly mistaken, this behaviour, dating back to the original HP/SGI STL and as such very difficult to change now, is a small extension due to the use in the containers of _Construct instead of calling