[Issue 9785] dmd -inline should inline lambda delegates
https://issues.dlang.org/show_bug.cgi?id=9785 Walter Bright changed: What|Removed |Added CC||bugzi...@digitalmars.com --- Comment #3 from Walter Bright --- The reason the call to loop() gets inlined and the call to dg(i) does not is because dg is a function pointer. It is not until the optimizer is run that dg's value is discovered to be constant, and thus can be inlined. Unfortunately, fixing this would require moving data flow analysis into the front end, or inlining into the optimizer, neither of which is simple. --
[Issue 7648] std.stdio expects file names to be encoded in CP_ACP on Windows instead of UTF-8
https://issues.dlang.org/show_bug.cgi?id=7648 --- Comment #13 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/3a025da7c69f66b28c0eed53aa9ea1ccced01623 Cleanup for Issue 7648. Add Non-ASCII characters in filename for unittests. https://github.com/D-Programming-Language/phobos/commit/6df5d551fd8a21feef061483c226e7d9b26d6cd4 Merge pull request #3296 from aka-demik/Issue-7648 Cleanup for Issue 7648: std.stdio expects file names to be encoded in CP_ACP on Windows instead of UTF-8 --
[Issue 14944] cannot initialize static array by static this()
https://issues.dlang.org/show_bug.cgi?id=14944 Jonathan M Davis changed: What|Removed |Added CC||issues.dl...@jmdavisprog.co ||m --- Comment #2 from Jonathan M Davis --- The same thing happens if it's a module-level static constructor. So, the class doesn't matter. And doing the same assignment to the array with a ref in foreach works in a normal function. It's specifically when that assignment is done in a static constructor that this happens. My guess is that it stems from the fact that if a variable is initialized is a static constructor, then it's not supposed to be initialized before that (otherwise, you couldn't initialize const or immutable variables that way), but I don't know. --
[Issue 14943] dmd should inline more aggressively
https://issues.dlang.org/show_bug.cgi?id=14943 Ivan Kazmenko changed: What|Removed |Added CC||ga...@mail.ru --
[Issue 14946] druntime coverage tests fail intermittently
https://issues.dlang.org/show_bug.cgi?id=14946 --- Comment #1 from Steven Schveighoffer --- https://github.com/D-Programming-Language/druntime/pull/1353 --
[Issue 3806] TypeInfo_Const has member base in object_.d and member next in object.di
https://issues.dlang.org/show_bug.cgi?id=3806 Steven Schveighoffer changed: What|Removed |Added Status|NEW |RESOLVED CC||schvei...@yahoo.com Resolution|--- |FIXED --- Comment #3 from Steven Schveighoffer --- (In reply to Mike from comment #2) > Since object.di has been removed > (https://github.com/D-Programming-Language/druntime/pull/1260), is this > issue still relevant? No, closing. --
[Issue 14946] New: druntime coverage tests fail intermittently
https://issues.dlang.org/show_bug.cgi?id=14946 Issue ID: 14946 Summary: druntime coverage tests fail intermittently Product: D Version: D2 Hardware: x86 OS: Mac OS X Status: NEW Severity: major Priority: P1 Component: druntime Assignee: nob...@puremagic.com Reporter: schvei...@yahoo.com Because we run druntime tests concurrently (both debug and release), it's possible to be running the coverage tests concurrently in both debug and release. However, the coverage tests output the same list file, so there is a potential race which results in failures during test. This causes both the master and pull requests to fail randomly. --
[Issue 3806] TypeInfo_Const has member base in object_.d and member next in object.di
https://issues.dlang.org/show_bug.cgi?id=3806 Mike changed: What|Removed |Added CC||slavo5...@yahoo.com --- Comment #2 from Mike --- Since object.di has been removed (https://github.com/D-Programming-Language/druntime/pull/1260), is this issue still relevant? --
[Issue 14758] TypeInfo causes excessive binary bloat
https://issues.dlang.org/show_bug.cgi?id=14758 --- Comment #13 from Mike --- (In reply to Martin Nowak from comment #10) > I don't think you can properly use D on a small SoC with TypeInfo or > ModuleInfo. Yes, it is seldom needed, but the current toolchain implementation is too tightly coupled to it, so it's not so easily removed. See http://forum.dlang.org/post/nfqgmfvixhgjsvtvm...@forum.dlang.org for a relevant discussion. > Please try the -betterC switch, it's supposed to avoid all runtime > dependencies. If you look at the example posted in the initial comment of this issue, you will see that the -betterC switch was used, yet the dead code remains. --
[Issue 14758] TypeInfo causes excessive binary bloat
https://issues.dlang.org/show_bug.cgi?id=14758 --- Comment #12 from Sobirari Muhomori --- Downcasts can be done the COM way: void* TypeId(T)=&TypeId; final T toType(T)() { cast(T)toType(TypeId!T); //reinterpret_cast } override void* toType(void* typeId) { if(typeId==TypeId!Me)return this; } --
[Issue 14758] TypeInfo causes excessive binary bloat
https://issues.dlang.org/show_bug.cgi?id=14758 Johannes Pfau changed: What|Removed |Added CC||johannesp...@gmail.com --- Comment #11 from Johannes Pfau --- > There are very few places where dynamic type info is actually necessary, it's > > just that they were used by the old C style compiler runtime interface. Yes, we should probably revisit these cases at some point. I wanted to cleanup my noRTTI (fno-rtti option for gdc) branch for DMD but I thought we won't merge big non-DDMD changes for 2.069 so I postponed that. I think the most important thing really requiring TypeInfo might be class down casts. I don't see how you can do that without some kind of RTTI. But we could just use some minimal RTTI for that (As long as we can put a unique pointer for every class in the vtable any kind of RTTI should work). There's also some postblit related stuff where I think the compiler could statically generate the necessary code. It was probably easier to implement it in druntime using RTTI. --
[Issue 10378] Local imports hide local symbols
https://issues.dlang.org/show_bug.cgi?id=10378 Kenji Hara changed: What|Removed |Added Keywords||pull --- Comment #15 from Kenji Hara --- https://github.com/D-Programming-Language/dmd/pull/4915 --
[Issue 14758] TypeInfo causes excessive binary bloat
https://issues.dlang.org/show_bug.cgi?id=14758 Martin Nowak changed: What|Removed |Added CC||c...@dawg.eu --- Comment #10 from Martin Nowak --- > There have been proposals to add a -nortti flag to the compiler to remove > TypeInfo completely, but that would force a compromise on slicing, postblit > and other features. Such compromises are most undesirable. There are very few places where dynamic type info is actually necessary, it's just that they were used by the old C style compiler runtime interface. The remaining places are mostly GC, rt.lifetime, and currently the AA. I don't think you can properly use D on a small SoC with TypeInfo or ModuleInfo. Please try the -betterC switch, it's supposed to avoid all runtime dependencies. --
[Issue 14945] unions are missing from the ABI page
https://issues.dlang.org/show_bug.cgi?id=14945 Don changed: What|Removed |Added Keywords||spec --
[Issue 14945] New: unions are missing from the ABI page
https://issues.dlang.org/show_bug.cgi?id=14945 Issue ID: 14945 Summary: unions are missing from the ABI page Product: D Version: D2 Hardware: All OS: All Status: NEW Severity: trivial Priority: P1 Component: dlang.org Assignee: nob...@puremagic.com Reporter: clugd...@yahoo.com.au Three trivial problems with the ABI page: Presumably the "Structs" section should be changed to "Structs and Unions", since they also conform to the C ABI. AFAIK unions are name-mangled as if they were structs. This should be stated explicitly. Unions are also missing from the description of the extern(D) calling convention on Windows x86. --
[Issue 10378] Local imports hide local symbols
https://issues.dlang.org/show_bug.cgi?id=10378 Kenji Hara changed: What|Removed |Added Assignee|nob...@puremagic.com|k.hara...@gmail.com --- Comment #14 from Kenji Hara --- We can resolve the issue by applying some rewriting rule. void test() { import a, b; import c; stmt1; improt d; stmt2; } To: void test() { struct __ImportScope1 { // internal namespace import a, b; import c; } with (__ImportScope1) { stmt1; struct __ImportScope2 { // internal namespace improt d; } with (__ImportScope2) { stmt2; } } } After that, we can reuse the symbol shadowing check mechanism on WithStatement. --
[Issue 14944] cannot initialize static array by static this()
https://issues.dlang.org/show_bug.cgi?id=14944 bb.t...@gmx.com changed: What|Removed |Added CC||bb.t...@gmx.com --- Comment #1 from bb.t...@gmx.com --- The problem is more subtle than suggested by the summary. Actually the problem is the **ref** in foreach(). Initialization of the array succeeds if you use another form of for loop, e.g --- import std.stdio; class Foo { static int[10] tbl; static this() { foreach(i; 0 .. tbl.length) { tbl[i] = 1; } } } void main() { writeln(Foo.tbl[0]); // 1 } --- --
[Issue 14760] Clear content-length for libcurl option to eliminate segmentation fault.
https://issues.dlang.org/show_bug.cgi?id=14760 --- Comment #2 from github-bugzi...@puremagic.com --- Commits pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/404c3cd9df4ab83cc35e670b6d1077bbb84878e2 fix Issue 14760 - Clear content-length for libcurl - content-length must be set to allow follow-up post/put/trace requests with empty body - reset content-length to 0 after _basicHTTP https://github.com/D-Programming-Language/phobos/commit/fadfe88564fa7eff6ebc7fad2ad02ae5d62ebc9c Merge pull request #3567 from MartinNowak/fix14760 fix Issue 14760 - Clear content-length for libcurl --
[Issue 14944] cannot initialize static array by static this()
https://issues.dlang.org/show_bug.cgi?id=14944 yosik...@altalk.com changed: What|Removed |Added CC||yosik...@altalk.com --
[Issue 14944] New: cannot initialize static array by static this()
https://issues.dlang.org/show_bug.cgi?id=14944 Issue ID: 14944 Summary: cannot initialize static array by static this() Product: D Version: D2 Hardware: x86_64 OS: Windows Status: NEW Severity: normal Priority: P1 Component: dmd Assignee: nob...@puremagic.com Reporter: yosik...@altalk.com Following code prints "0" using DMD32 D Compiler v2.068.0 import std.stdio; class Foo { static int[10] tbl; static this() { foreach(ref v; tbl) { v = 1; } } } void main() { writeln(Foo.tbl[0]); } --