[Issue 4852] core.demangle cannot demangle functions with class/struct return types
http://d.puremagic.com/issues/show_bug.cgi?id=4852 --- Comment #1 from Rainer Schuetze r.sagita...@gmx.de 2010-09-25 00:03:59 PDT --- Created an attachment (id=774) corrected patch including some additions Please ignore the previous patch, it is flawed and breaks demangling other symbols. What is actually necessary is to call parseQualifiedName instead of parseLName to get the full qualified name, but this involves a call to a function declared later which does not work with local functions, so I placed the local functions into a struct. Included is also a bug fix decoding string literals in template arguments (line 1064). This allows to reenable the 2 failing unittest symbols. I'm proposing to add an argument to demangle() whether the full type is requested or just the qualified name. I've added a function decodeDmdString to decompress symbols that are emitted compressed by dmd on windows. I think it is very much related to demangling, so it should have its place in this module, but a better name would be much appreciated. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4852] core.demangle cannot demangle functions with class/struct return types
http://d.puremagic.com/issues/show_bug.cgi?id=4852 Rainer Schuetze r.sagita...@gmx.de changed: What|Removed |Added Attachment #774|application/octet-stream|text/plain mime type|| Attachment #774 is|0 |1 patch|| -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 941] std.regexp fails to match when grouping certain sub-expressions
http://d.puremagic.com/issues/show_bug.cgi?id=941 Andrei Alexandrescu and...@metalanguage.com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #1 from Andrei Alexandrescu and...@metalanguage.com 2010-09-25 01:40:18 PDT --- http://www.dsource.org/projects/phobos/changeset/2047 I disabled optimize() for now and inserted the code in this report as a unittest. I'll leave it to Walter to re-enable optimization. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4938] New: dmd segfault when compiling
http://d.puremagic.com/issues/show_bug.cgi?id=4938 Summary: dmd segfault when compiling Product: D Version: D2 Platform: Other OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: cru...@gmail.com --- Comment #0 from AdamB cru...@gmail.com 2010-09-25 08:42:15 PDT --- Created an attachment (id=775) extract this and run compile.sh to cause the segfault The dmd compiler segfaults when compiling the attached code. Extract the archive and run compile.sh. dmd v2.048 on Ubuntu 10.04 32bit. Please overlook my messy and error riddled D code as I'm actually in the process of converting a Vala program to D. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4939] New: Some compile-time length tests of array concats
http://d.puremagic.com/issues/show_bug.cgi?id=4939 Summary: Some compile-time length tests of array concats Product: D Version: D2 Platform: All OS/Version: All Status: NEW Keywords: accepts-invalid, diagnostic Severity: enhancement Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: bearophile_h...@eml.cc --- Comment #0 from bearophile_h...@eml.cc 2010-09-25 08:50:01 PDT --- This is a wrong D2 program, because the lengths of the arrays don't match: // Program #1 void main() { int[2] a1; int[3] a2; int[6] result; result[] = a1 ~ a2; } It compiles with no errors, because a1~a2 produces a dynamic array, despite its length is determined at compile-time. I'd like the compile to catch this bug at compile-time. The situation in Program #1 is not so common, but a little more refined implementation of the same kind of tests may catch at compile-time more common cases, like: // Program #2 void main() { int[] a1 = new int[2]; int[] a2 = new int[3]; int[6] result; result[] = a1 ~ a2; // Error a1 ~= 0; result[] = a1 ~ a2; } // Program #3 void main() { int[] a1 = new int[2]; int[] a2 = new int[3]; int[] result = new int[6]; result[] = a1 ~ a2; // Error } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4938] dmd segfault when compiling
http://d.puremagic.com/issues/show_bug.cgi?id=4938 bearophile_h...@eml.cc changed: What|Removed |Added CC||bearophile_h...@eml.cc --- Comment #1 from bearophile_h...@eml.cc 2010-09-25 10:33:24 PDT --- I suggest you to slowly reduce the code, until it's just few lines of code. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4329] Do not show error messages that refer to __error
http://d.puremagic.com/issues/show_bug.cgi?id=4329 --- Comment #13 from bearophile_h...@eml.cc 2010-09-25 12:36:46 PDT --- struct Vec(int N) { int[N] data; } void main() { Vec!(1)([1, 2]); } DMD 2.049 prints: test.d(5): Error: cannot implicitly convert expression ([1,2]) of type int[] to int test.d(5): Error: structliteral has no effect in expression (Vec((__error))) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1395] Regex does not support range [something to \*]
http://d.puremagic.com/issues/show_bug.cgi?id=1395 Andrei Alexandrescu and...@metalanguage.com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||INVALID --- Comment #2 from Andrei Alexandrescu and...@metalanguage.com 2010-09-25 13:57:16 PDT --- I didn't find \* listed as a valid escape inside a character class in EcmaScript regexes (http://bclary.com/2004/11/07/#a-15.10.1). -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1420] No builtin equivalents to C++ containers
http://d.puremagic.com/issues/show_bug.cgi?id=1420 Andrei Alexandrescu and...@metalanguage.com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||LATER --- Comment #1 from Andrei Alexandrescu and...@metalanguage.com 2010-09-25 14:00:25 PDT --- As std.container is being worked on, I'll preemptively mark this as resolved. It won't be forgotten... -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1487] toString(string) and toString(Object)
http://d.puremagic.com/issues/show_bug.cgi?id=1487 Andrei Alexandrescu and...@metalanguage.com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #1 from Andrei Alexandrescu and...@metalanguage.com 2010-09-25 15:41:40 PDT --- std.conv has settled this a while ago. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1598] New std.variant is missing functionality from Box
http://d.puremagic.com/issues/show_bug.cgi?id=1598 Andrei Alexandrescu and...@metalanguage.com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||WONTFIX --- Comment #2 from Andrei Alexandrescu and...@metalanguage.com 2010-09-25 15:42:44 PDT --- As described in my previous comment. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3467] Non-int integral template parameters not correctly propagated
http://d.puremagic.com/issues/show_bug.cgi?id=3467 bearophile_h...@eml.cc changed: What|Removed |Added CC||bearophile_h...@eml.cc --- Comment #1 from bearophile_h...@eml.cc 2010-09-25 16:29:51 PDT --- The bug is present in dmd 2.049 still: struct Vec(size_t N) { void opBinary(string op:~, size_t M)(Vec!M) {} } void main() { Vec!2 a1; Vec!3 a2; a1 ~ a2; // line 7, Error } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1635] DirEntry.isfile() and DirEntry.isdir() broken
http://d.puremagic.com/issues/show_bug.cgi?id=1635 Andrei Alexandrescu and...@metalanguage.com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||WORKSFORME --- Comment #5 from Andrei Alexandrescu and...@metalanguage.com 2010-09-25 17:39:04 PDT --- Can't reproduce. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1638] Restrictive functionality of listdir in file.d
http://d.puremagic.com/issues/show_bug.cgi?id=1638 Andrei Alexandrescu and...@metalanguage.com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED --- Comment #2 from Andrei Alexandrescu and...@metalanguage.com 2010-09-25 17:45:16 PDT --- dirEntries() takes care of that. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 309] std.boxer incorrectly handles interface instances (major problem in dmd reflection?)
http://d.puremagic.com/issues/show_bug.cgi?id=309 nfx...@gmail.com changed: What|Removed |Added Status|RESOLVED|REOPENED CC||nfx...@gmail.com Resolution|WONTFIX | --- Comment #2 from nfx...@gmail.com 2010-09-25 18:07:36 PDT --- std.boxer is not deprecated in D1. Please don't close valid D1 bugs as WONTFIX. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1635] DirEntry.isfile() and DirEntry.isdir() broken
http://d.puremagic.com/issues/show_bug.cgi?id=1635 Jonathan M Davis jmdavisp...@gmx.com changed: What|Removed |Added CC||jmdavisp...@gmx.com --- Comment #6 from Jonathan M Davis jmdavisp...@gmx.com 2010-09-25 18:09:50 PDT --- See also bug# 4929. Currently, on Linux/Posix, DirEntry use d_type from readdir to set its file type, and if you'll look at the man page for readdir, it specifically says that d_type is not supported by all file system types. DirEntry really should be using stat if d_type wasn't set properly. My patch in bug# 3848 makes it so that while it still uses d_type for the file type if it was set correctly, it uses stat instead of d_type if d_type is DT_UNKNOWN. The only place that I'm sure that I've run into this problem (and consistently) is with /usr/share/zoneinfo, but I think that it's very nature makes it so that it's only going to fail under certain types of situations or on certain types of systems. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 309] std.boxer incorrectly handles interface instances (major problem in dmd reflection?)
http://d.puremagic.com/issues/show_bug.cgi?id=309 --- Comment #3 from Andrei Alexandrescu and...@metalanguage.com 2010-09-25 18:16:52 PDT --- Apologies. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 3175] rejects templated ref return function
http://d.puremagic.com/issues/show_bug.cgi?id=3175 Shin Fujishiro rsi...@gmail.com changed: What|Removed |Added Keywords||patch Severity|trivial |major --- Comment #3 from Shin Fujishiro rsi...@gmail.com 2010-09-25 18:16:35 PDT --- Patch against dmd r687. deduceFunctionTemplateMatch() must reset storage class in parameter's scope as done in matchWithInstance(). --- a/src/template.c +++ b/src/template.c @@ -887,6 +887,7 @@ MATCH TemplateDeclaration::deduceFunctionTemplateMatch(Scope *sc, Loc loc, Objec ScopeDsymbol *paramsym = new ScopeDsymbol(); paramsym-parent = scope-parent; Scope *paramscope = scope-push(paramsym); +paramscope-stc = 0; TemplateTupleParameter *tp = isVariadic(); int tp_is_declared = 0; Increased the severity as the bug has been repeatedly reported: bug 4041, bug 4446, bug 4934 and comment 2 of bug 2460. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4934] Cannot compile an overloaded operator returning by ref
http://d.puremagic.com/issues/show_bug.cgi?id=4934 Shin Fujishiro rsi...@gmail.com changed: What|Removed |Added Status|NEW |RESOLVED CC||rsi...@gmail.com Resolution||DUPLICATE --- Comment #1 from Shin Fujishiro rsi...@gmail.com 2010-09-25 18:19:48 PDT --- *** This issue has been marked as a duplicate of issue 4041 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4041] Error with ref or auto ref return from opOpAssign
http://d.puremagic.com/issues/show_bug.cgi?id=4041 Shin Fujishiro rsi...@gmail.com changed: What|Removed |Added CC||samu...@voliacable.com --- Comment #1 from Shin Fujishiro rsi...@gmail.com 2010-09-25 18:19:48 PDT --- *** Issue 4934 has been marked as a duplicate of this issue. *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4940] New: ICE(symbol.c): Accessing tuple-typed field of struct literal with user-defined constructor
http://d.puremagic.com/issues/show_bug.cgi?id=4940 Summary: ICE(symbol.c): Accessing tuple-typed field of struct literal with user-defined constructor Product: D Version: D2 Platform: Other OS/Version: Windows Status: NEW Keywords: ice-on-valid-code Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: k.hanaz...@gmail.com --- Comment #0 from Kasumi Hanazuki k.hanaz...@gmail.com 2010-09-25 18:39:51 PDT --- DMD v2.049 on Windows crashes with the message: Internal error: ..\ztc\symbol.c 1043 This only occurs when accessing a tuple-typed field on a struct literal directly and using an user-defined constructor. void main() { auto w = S(0).x; } template Tuple(T...) { alias T Tuple; } struct S { Tuple!(int, int) x; this(int) { } } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 1858] std.string find signature is not string
http://d.puremagic.com/issues/show_bug.cgi?id=1858 Andrei Alexandrescu and...@metalanguage.com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||FIXED -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 4941] New: TypeTuple slice boundaries are not CTFE'd
http://d.puremagic.com/issues/show_bug.cgi?id=4941 Summary: TypeTuple slice boundaries are not CTFE'd Product: D Version: D1 D2 Platform: All OS/Version: All Status: NEW Keywords: patch, rejects-valid Severity: normal Priority: P2 Component: DMD AssignedTo: nob...@puremagic.com ReportedBy: rsi...@gmail.com --- Comment #0 from Shin Fujishiro rsi...@gmail.com 2010-09-25 21:25:29 PDT --- Type tuples can't be sliced with boundaries that involve CTFE-able function call(s). The following valid code doesn't compile (both D1 D2): template T(_...) { alias _ T; } size_t mid(size_t n) { return n/2; } alias T!(int, int, int)[0 .. mid($)] A; // Error: Integer constant expression expected instead of mid(3u) Patch against dmd r687, makes it sure that TypeSlice boundaries get CTFE'd. --- src/mtype.c +++ src/mtype.c @@ -7787,11 +7787,11 @@ Type *TypeSlice::semantic(Loc loc, Scope *sc) TypeTuple *tt = (TypeTuple *)tbn; lwr = semanticLength(sc, tbn, lwr); -lwr = lwr-optimize(WANTvalue); +lwr = lwr-optimize(WANTvalue | WANTinterpret); uinteger_t i1 = lwr-toUInteger(); upr = semanticLength(sc, tbn, upr); -upr = upr-optimize(WANTvalue); +upr = upr-optimize(WANTvalue | WANTinterpret); uinteger_t i2 = upr-toUInteger(); if (!(i1 = i2 i2 = tt-arguments-dim)) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 2107] Regexp multiline attribute is broken
http://d.puremagic.com/issues/show_bug.cgi?id=2107 Andrei Alexandrescu and...@metalanguage.com changed: What|Removed |Added Status|ASSIGNED|RESOLVED Resolution||INVALID --- Comment #1 from Andrei Alexandrescu and...@metalanguage.com 2010-09-25 22:21:18 PDT --- The m flag refers to the behavior of ^ and $, not that of the dot. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---