[Issue 14956] C++ Mangling incompatible with C++11
https://issues.dlang.org/show_bug.cgi?id=14956 --- Comment #3 from Iain Buclaw --- (In reply to Marco Leise from comment #2) > The mangling of the mangling changed? I thought that was a typo, but > obviously you are right. The C++-98 use of "Sb" and "Ss" is a special mangle string, and not actually representative of the actual name or namespace of basic_string. Perhaps a better way of putting it would have been: "The abbreviations for mangling basic_string have been removed and replaced with a new namespace". --
[Issue 14956] C++ Mangling incompatible with C++11
https://issues.dlang.org/show_bug.cgi?id=14956 --- Comment #4 from Iain Buclaw --- (In reply to Marco Leise from comment #2) > I assume the only way out of this is providing a -cxx11 flag for dmd? >.< As we already support C++ namespaces, we can funnel what needs to be changed in the testsuite case itself. --- extern (C++, std) { version (C++-98) { struct basic_string(T, C = char_traits!T, A = allocator!T) { } } else version (C++-11) { extern (C++, __cxx11) { struct basic_string(T, C = char_traits!T, A = allocator!T) { } } } } --- Which leaves us with the question, how do figure out whether to use version condition branch A or B? --
[Issue 14405] Private class std.typecons.Foo conflicts with local class
https://issues.dlang.org/show_bug.cgi?id=14405 r...@rcorre.net changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #3 from r...@rcorre.net --- This was patched up in https://github.com/D-Programming-Language/phobos/pull/3158. Closing. --
[Issue 14956] C++ Mangling incompatible with C++11
https://issues.dlang.org/show_bug.cgi?id=14956 Jacob Carlborg changed: What|Removed |Added CC||d...@me.com --- Comment #5 from Jacob Carlborg --- (In reply to Iain Buclaw from comment #4) > Which leaves us with the question, how do figure out whether to use version > condition branch A or B? The user specifies the appropriate version flag. Or the compiler need a new flag for this. --
[Issue 14956] C++ Mangling incompatible with C++11
https://issues.dlang.org/show_bug.cgi?id=14956 --- Comment #6 from Iain Buclaw --- (In reply to Jacob Carlborg from comment #5) > (In reply to Iain Buclaw from comment #4) > > > Which leaves us with the question, how do figure out whether to use version > > condition branch A or B? > > The user specifies the appropriate version flag. Or the compiler need a new > flag for this. Well, so far, apart from the testsuite, is there any other place this is necessary? Probably not. We don't maintain a core.stdcxx library, thank goodness. And those who wish to use bindings to C++ std, then they can make the change in their code and provide some user defined version to select one or the other. I've only found one bug that prevents this. I've raised a PR for that. https://github.com/D-Programming-Language/dmd/pull/5261 --
[Issue 7157] Optimiser is O(n^2) w.r.t. function length
https://issues.dlang.org/show_bug.cgi?id=7157 --- Comment #8 from Martin Nowak --- Another case of this. https://github.com/etcimon/botan/issues/8 It took dmd almost 13 minutes to compile botan w/ release optimizations on heroku (and about 4 minutes on my local machine). --
[Issue 15227] std.format undocumented grammar
https://issues.dlang.org/show_bug.cgi?id=15227 --- Comment #3 from Doug Nickerson --- In addition to the undocumented syntax I've further noticed: - grammar for 'Integer' technically allows leading 0's and disallows negative integers - 'Integer' is used in the grammar for both non-negative (Position) and negative (Width, Precision) purposes - the 'r' (raw) and 'u' (unsigned) format spec characters are not documented anywhere (neither in the grammar or the rest of the text) That last bullet is probably more important than any other. Caveat on the original issue: there is indeed a hyperlink very early on in the formattedWrite documentation, which goes to an external page that does explain the positional syntax/semantics: "%n$" and "*m$" but not the forms involving ':' Incidentally, that page (2004 edition) indicates a newer version is available: http://pubs.opengroup.org/onlinepubs/9699919799/ (2013 edition). However, it doesn't appear to have anything new regarding positional notation. Related question: is there a reason, or should std.format support the 'i', 'p', or 'n' format spec characters from the *printf family of functions? --
[Issue 15227] std.format undocumented grammar
https://issues.dlang.org/show_bug.cgi?id=15227 --- Comment #4 from Doug Nickerson --- Correction: the 2013 edition link should be: http://pubs.opengroup.org/onlinepubs/9699919799/functions/printf.html --