[Issue 15056] [REG2.068.1] Unstored RAII struct return yields bogus error: "cannot mix core.std.stdlib.alloca() and exception handling"

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15056

--- Comment #10 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/6c7069c06b8a5b3f003955ce2d908b6c928823a2
add test for Issue 15056

https://github.com/D-Programming-Language/dmd/commit/ef854c328bf8798f3154dc923d1b7115acd97c70
Merge pull request #5110 from MartinNowak/workaround15056

--


[Issue 14708] destructor for temporary not called during stack unwinding

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14708

github-bugzi...@puremagic.com changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution|--- |FIXED

--


[Issue 14708] destructor for temporary not called during stack unwinding

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=14708

--- Comment #7 from github-bugzi...@puremagic.com ---
Commit pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/1a807d16b5d8ba87dbfd4344942a6708ef516896
Revert "fix Issue 14708 - destructor for temporary not called during stack
unwinding"

--


[Issue 15044] [REG2.068.0] destroy might leak memory

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15044

--- Comment #6 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/8e4676303a688ce3a034b38508b5e5b8c7bfa7e0
fix Issue 15044 - destroy might leak memory

https://github.com/D-Programming-Language/dmd/commit/af4d3a4158f95d1720b42e8027ae2aead90c7a4f
Merge pull request #5075 from 9rnsr/fix15044

--


[Issue 15079] Assertion `fd->semanticRun == PASSsemantic3done' failed.

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15079

--- Comment #3 from Marc Schütz  ---
After running dustmite for two days, the power failed and everything was gone
:-(

Anyway, I managed to find a particular file that triggered the ICE when
compiled separately, and could reduce it much faster with this knowledge, see
attachment.

> tar xf botan3.reduced.tar.gz && cd botan3.reduced
> dmd -c -O -inline -release ./botan/algo_base/scan_token.d
dmd: glue.c:809: void FuncDeclaration_toObjFile(FuncDeclaration*, bool):
Assertion `fd->semanticRun == PASSsemantic3done' failed.

I tried merging all the source files into one, but then the ICE disappeared.

--


[Issue 15079] Assertion `fd->semanticRun == PASSsemantic3done' failed.

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15079

--- Comment #4 from Marc Schütz  ---
Created attachment 1552
  --> https://issues.dlang.org/attachment.cgi?id=1552&action=edit
reduced testcase

--


[Issue 15105] New: paths never work

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15105

  Issue ID: 15105
   Summary: paths never work
   Product: D
   Version: D2
  Hardware: x86_64
OS: Windows
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: visuald
  Assignee: nob...@puremagic.com
  Reporter: turkey...@gmail.com

I've run into yet more cases where default configuration seems to fail.

I'm trying to 'Compile and Disassemble', and my compiler is set to LDC (x64
build).
It just says:
  'ldc2' is not recognized as an internal or external command,
  operable program or batch file.

In the options -> 'LDC install path', I have the LDC install path (not /bin)
I have also tried to set that to the /bin subdirectory, it doesn't work either
way. When I press F7 to build, it does build. It's like it can find LDC when
building, but not when disassembling...?

Getting paths right is an endless nightmare. I've been using VisualD for 6
years, and I still can't seem to get the paths right.

I'm gonna suggest a new strategy; rather than requiring user configuration,
when VisualD can't find a path or tool, or for any other pathing related
problem, I think it should present a dialog box prompting the user to find the
path to the thing it wants. It should give a message saying what it wants (ie,
"where is ldc2.exe?"), and then when the user selects a path, it should write
that to the settings.
This way, if the user fails to configure paths correctly (seems to be close to
100% of the time, especially on initial installation), rather than getting
annoying errors, they will get a prompt to fix it, and it should just work from
there on.

Sound reasonable?

--


[Issue 15106] New: Optlink executed with LDC as compiler?

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15106

  Issue ID: 15106
   Summary: Optlink executed with LDC as compiler?
   Product: D
   Version: D2
  Hardware: x86_64
OS: Windows
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: visuald
  Assignee: nob...@puremagic.com
  Reporter: turkey...@gmail.com

I select LDC as compiler, it builds and then invokes OPTLINK to link. It's even
a 64bit project...

I'm using the MSVC LDC build, it should use Microsoft's linker like DMD no?

Building .\dsignal.exe...
OPTLINK (R) for Win32  Release 8.00.17
Copyright (C) Digital Mars 1989-2013  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
OPTLINK : Warning 9: Unknown Option : NXCOMPAT
OPTLINK : Warning 9: Unknown Option : DYNAMICBASE
OPTLINK : Error 8: Illegal Filename 
/NOLOGO /NXCOMPAT /DYNAMICBASE /LARGEADDRESSAWARE /OPT:REF /OPT:ICF
"/OUT:.\dsignal.exe" analyse.obj fft.obj stft.obj util.obj wave.obj window.obj
plot.obj image.obj sound.obj normint.obj conv.obj hsx.obj package.obj rgb.obj
xyz.obj test.obj "/LIBPATH:C:\dev\ldc2-0.16.0-alpha4-win64-msvc\bin/../lib"
legacy_stdio_definitions.lib /LARGEADDRESSAWARE:NO
"/MAP:obj\x64\Release\dsignal.map" /SUBSYSTEM:CONSOLE phobos2-ldc.lib
druntime-ldc.lib kernel32.lib user32.lib gdi32.lib winspool.lib shell32.lib
ole32.lib oleaut32.lib uuid.lib comdlg32.lib advapi32.lib 

 ^
Error: C:\dev\D\dmd2\windows\bin\link.exe failed with status: 1
Building .\dsignal.exe failed!

You can see from the lib path that it's definitely invoking LDC to build.

--


[Issue 15107] New: Win32-COFF library paths are blank

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15107

  Issue ID: 15107
   Summary: Win32-COFF library paths are blank
   Product: D
   Version: D2
  Hardware: x86_64
OS: Windows
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: visuald
  Assignee: nob...@puremagic.com
  Reporter: turkey...@gmail.com

Default installation, go into settings -> DMD directories -> 'Win32' and 'x64'
both have 'library paths' configured, but 'Win32-COFF' is empty.

What's strange though, is that the 'Win32' library paths (this is for the OMF
build right?) are pointing to system lib dirs:

Win32:
 $(DevEnvDir)..\..\VC\lib\amd64\
 C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\x64
 C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x64

x64:
 $(VCInstallDir)\lib\amd64
 $(WindowsSdkDir)Lib\win8\um\x64
 C:\Program Files (x86)\Microsoft DirectX SDK (June 2010)\Lib\x64

Win32-COFF:
 

Does that look right?

--


[Issue 15108] New: DMD should support ARM

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15108

  Issue ID: 15108
   Summary: DMD should support ARM
   Product: D
   Version: D2
  Hardware: Other
OS: All
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: j...@jackstouffer.com

I'm surprised there is no open issue for this. 

ARM has become extremely popular with the rise of powerful mobile devices and
small consumer computers like the raspberry pi. Getting DMD on ARM devices
could pave the way for D on iPhones and Androids, as well as D ruling the
hobbyist projects, as resources constraints become too hindering with scripting
languages like Python.

--


[Issue 15109] New: Always gets install dir wrong when uninstalling previous version

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15109

  Issue ID: 15109
   Summary: Always gets install dir wrong when uninstalling
previous version
   Product: D
   Version: D2
  Hardware: x86_64
OS: Windows
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: installer
  Assignee: nob...@puremagic.com
  Reporter: turkey...@gmail.com

When installing a new version, it first uninstalls the prior version. It always
gets the install path wrong.
The default install dir is C:\D, but I never install there (who wants to spam
the root directory?), I install to C:\dev\D. It first offers to uninstall, but
there is a greyed out (not-editable) text box showing C:\D (NOT where DMD is
installed on my machine), and I can't do anything but click continue. It them
complains that it can't find DMD at that path (no shit!), and fails to
uninstall. It then proceeds to install the new version, but having failed to
uninstall the prior version, it all gets a little messy.

DMD installer should remember where it's installed.

--


[Issue 15104] Switching fibers in finally blocks breaks EH

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15104

David Nadlinger  changed:

   What|Removed |Added

   Keywords||patch

--- Comment #1 from David Nadlinger  ---
https://github.com/D-Programming-Language/druntime/pull/1397

--


[Issue 15110] New: pragma(inline) rarely works how I want it to

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15110

  Issue ID: 15110
   Summary: pragma(inline) rarely works how I want it to
   Product: D
   Version: D2
  Hardware: x86_64
OS: Windows
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: turkey...@gmail.com

pragma(inline, true)
R normalisedSubtract(T, U, R = ResultType!(T, U))(T a, U b)
{
R x = cast(R)a;//convertNormInt!R(a);
R y = cast(R)b;//convertNormInt!R(b);
static if(isUnsigned!R)
{
if(x <= y)
return 0;
return cast(R)(x - y);
}
else
{
auto r = x - y;
if(r < R.min)
r = R.min;
else static if(isSigned!R)
{
if(r > R.max)
r = R.max;
}
return cast(R)r;
}
}


src\std\experimental\color\internal\normint.d(90): Error: function
std.experimental.color.internal.normint.normalisedSubtract!(ubyte, ubyte,
ubyte).normalisedSubtract cannot inline function


This function is literally nothing more than a single integer subtract.
I have no idea why this won't inline. I experience this general problem quite a
bit.
Strangely, the addition compliment to this function doesn't complain.

--


[Issue 15110] pragma(inline) rarely works how I want it to

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15110

David Nadlinger  changed:

   What|Removed |Added

 CC||c...@klickverbot.at

--- Comment #1 from David Nadlinger  ---
Didn't Walter just fix an issue like this in master? The problem is probably
that DMD can't/couldn't inline "if (a) return b; return c;"-type constructs.

--


[Issue 15111] New: hashOf fails for structs that are also ranges

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15111

  Issue ID: 15111
   Summary: hashOf fails for structs that are also ranges
   Product: D
   Version: D2
  Hardware: x86_64
OS: Linux
Status: NEW
  Severity: normal
  Priority: P1
 Component: phobos
  Assignee: nob...@puremagic.com
  Reporter: generic...@gmail.com

$ dmd --version
DMD64 D Compiler v2.068
Copyright (c) 1999-2015 by Digital Mars written by Walter Bright
$ cat app.d 
import core.internal.hash;

struct Foo {
int[] arr;
alias arr this;
}

void main() {
Foo().hashOf();
}
$ dmd app.d 
app.d(9): Error: core.internal.hash.hashOf called with argument types (Foo)
matches both:
/usr/include/dlang/dmd/core/internal/hash.d(40):
core.internal.hash.hashOf!(Foo).hashOf(Foo val, ulong seed)
and:
/usr/include/dlang/dmd/core/internal/hash.d(112):
core.internal.hash.hashOf!(Foo).hashOf(Foo val, ulong seed)
/usr/include/dlang/dmd/object.d(2999): Error: core.internal.hash.hashOf called
with argument types (Foo, ulong) matches both:
/usr/include/dlang/dmd/core/internal/hash.d(40):
core.internal.hash.hashOf!(Foo).hashOf(ref Foo val, ulong seed)
and:
/usr/include/dlang/dmd/core/internal/hash.d(112):
core.internal.hash.hashOf!(Foo).hashOf(ref Foo val, ulong seed)
app.d(9): Error: template instance object.hashOf!(Foo) error instantiating

--


[Issue 15106] Optlink executed with LDC as compiler?

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15106

--- Comment #1 from Sobirari Muhomori  ---
http://forum.dlang.org/post/dktognsdovyxxukjb...@forum.dlang.org
This is a common problem with compiler installers: you get PATH polluted with
everything you ever installed, then something from that mess gets run when you
try to invoke something else.

--


[Issue 15111] hashOf fails for structs that have an alias this to a dynamic array

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15111

David Nadlinger  changed:

   What|Removed |Added

 CC||c...@klickverbot.at
Summary|hashOf fails for structs|hashOf fails for structs
   |that are also ranges|that have an alias this to
   ||a dynamic array

--


[Issue 15112] New: !is not highlighted

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15112

  Issue ID: 15112
   Summary: !is not highlighted
   Product: D
   Version: D2
  Hardware: All
OS: Windows
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: visuald
  Assignee: nob...@puremagic.com
  Reporter: alil...@gmail.com

Version: VisualD 0.3.42

In VisualD, "!is" isn't highlighted like "is" is.

--


[Issue 15113] New: we should automate checking of broken links on dlang.org. and fix std.typetuple page - link to std.meta is broken

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15113

  Issue ID: 15113
   Summary: we should automate checking of broken links on
dlang.org.  and fix std.typetuple page - link to
std.meta is broken
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: minor
  Priority: P1
 Component: dlang.org
  Assignee: nob...@puremagic.com
  Reporter: lae...@laeeth.com

We should produce a report on broken links and dump it into the bug tracker
regularly.

Eg see here (but that was a one-off whereas we should have a process):
https://issues.dlang.org/show_bug.cgi?id=14085

And we should fix the following (don't have time to do a pull request, sorry).

http://dlang.org/phobos/std_typetuple.html

Jump to: TypeTuple

This module was renamed to disambiguate the term tuple, use std.meta instead.

Link above to std.meta should be:
http://dlang.org/phobos/std_meta.html

But actually goes to:
http://dlang.org/std_meta.html

--


[Issue 15110] pragma(inline) rarely works how I want it to

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15110

--- Comment #2 from Manu  ---
Okay. I've encountered this sort of problem a lot, it might all be the same
problem though, this isn't exactly an uncommon pattern.

--


[Issue 15106] Optlink executed with LDC as compiler?

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15106

--- Comment #2 from Manu  ---
Is it really ideal to leave sourcing of the path to blind luck?
Surely LDC can invoke microsoft's linker specifically?

It's true, this is a very general problem. Pathing in general just doesn't work
reliably. We need better solutions across the ecosystem.

Perhaps software can attempt to identify if the first tool it finds is the
correct tool, and then keep looking if it's not...?

--


[Issue 15106] Optlink executed with LDC as compiler?

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15106

David Nadlinger  changed:

   What|Removed |Added

 CC||c...@klickverbot.at

--- Comment #3 from David Nadlinger  ---
The Visual Studio ecosystem works much the same way, though. This is why there
is an extra command prompt to launch stuff with the MSVC tools on the PATH
(plus of course some other env vars).

--


[Issue 15106] Optlink executed with LDC as compiler?

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15106

--- Comment #4 from Manu  ---
But I've _never_ had a single problem with visual studio of this sort in 16
years. I often have 3 or 4 versions of VS installed in parallel, they all just
work together.
Those command prompts do exist, but they're transparent to the end-user, it
runs them when it needs them.

I think those command prompts demonstrate that MS understand the pathing
struggle, and they fixed it in a way that other stuff on the users systems
tends not to interfere with.

My point is, the D ecosystem across the board (not just picking on LDC here),
needs to be more creative about solving this problem. It's tiring, and it
basically hasn't changed for 6 years that I've been here. I had 3 distinct
instances of pathing problem yesterday alone.

Perhaps LDC (or VisualD?) should leverage those command prompts when building
against the MSVC ecosystem (ie, LDC, DMD), rather than just hoping the path is
configured correctly? Windows users don't do path management, it's always a
complete mess.

--


[Issue 15104] Switching fibers in finally blocks breaks EH

2015-09-24 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=15104

--- Comment #2 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/D-Programming-Language/druntime

https://github.com/D-Programming-Language/druntime/commit/f6633abb43ea1f2464d3a772b8f8fe78216ffd8e
Fix Issue 15104 - Fiber context switch in finally blocks breaks EH

https://github.com/D-Programming-Language/druntime/commit/f0f8edaeb56294460aedbae3d91c7d3b304516b6
Merge pull request #1397 from klickverbot/fix-15104

Fix Issue 15104 - Fiber context switch in finally blocks breaks EH

--