[Issue 922] export keyword causes undefined references on linux

2016-11-14 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=922

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

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--


[Issue 922] export keyword causes undefined references on linux

2016-11-14 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=922

--- Comment #4 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/fdde441cfd341ad573b3dc9b11e994ed55adfe68
Fix issue 922 - Don't mangle exported symbol names on linux.

https://github.com/dlang/dmd/commit/0152061d082bc6ea86fd27df734a3d1d81e825d9
Merge pull request #6250 from LemonBoy/manglelin

Fix issue 922 - Don't mangle exported symbol names on linux.

--


[Issue 16488] [spec][optimization] broadcast scalar to simd vector

2016-11-14 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16488

--- Comment #3 from github-bugzi...@puremagic.com ---
Commits pushed to master at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/b75ef84208f1cb25878c7977588ceed1fa4e8682
fix Issue 16488 - [spec][optimization] broadcast scalar to simd vector

https://github.com/dlang/dmd/commit/59d32f408605f29c30968fc605a9a1737b20dc8f
Merge pull request #6248 from WalterBright/fix16488

fix Issue 16488 - [spec][optimization] broadcast scalar to simd vector

--


[Issue 16688] New: DMD needs to work with the MSC build tools distribution

2016-11-14 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16688

  Issue ID: 16688
   Summary: DMD needs to work with the MSC build tools
distribution
   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

MS have a new distribution of their toolchain which is independent of VS.

http://landinghub.visualstudio.com/visual-cpp-build-tools

The DMD installer needs to detect and auto-configure for these paths.

This allows us to promote a windows build solution that doesn't require
installation of (huge) visual studio.

--


[Issue 16687] New: Win COFF: Duplicate COMDAT on overloaded templated function

2016-11-14 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16687

  Issue ID: 16687
   Summary: Win COFF: Duplicate COMDAT on overloaded templated
function
   Product: D
   Version: D2
  Hardware: All
OS: Windows
Status: NEW
  Severity: normal
  Priority: P1
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: jesse.k.phillip...@gmail.com

This code results in the following MS linker message:

test.obj : fatal error LNK1179: invalid or corrupt file: duplicate COMDAT
'_D4test8__T1STwZ1S1fMFNaNbNiNfwZv'
Error: linker exited with status 43694744


--
void main() {
S!dchar a4;
}
struct S(T)
{
void f(T value)
{
}

void f(dchar c)
{
}
}
-

Obviously when the template is generated f(T)() is f(dchar), optlink doesn't
complain but I don't know what is correct.

Possibly similar:
https://issues.dlang.org/show_bug.cgi?id=11081
https://issues.dlang.org/show_bug.cgi?id=14541

--


[Issue 16686] New: Can not spawn subprocess and read from File at same time

2016-11-14 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16686

  Issue ID: 16686
   Summary: Can not spawn subprocess and read from File at same
time
   Product: D
   Version: D2
  Hardware: x86
OS: Mac OS X
Status: NEW
  Severity: enhancement
  Priority: P1
 Component: phobos
  Assignee: nob...@puremagic.com
  Reporter: andrep...@gmail.com

Created attachment 1622
  --> https://issues.dlang.org/attachment.cgi?id=1622=edit
Script that reproduces the problem

In OSX, the implementation of the C function read() as well as the C function
fileno() will invoke flockfile on the given argument. The function
`spawnProcessImpl` from the `std.process` module tries to extract the fileno
from the three File that are passed (stdin, stdout and stderr), if one of this
files is busy doing read() in another thread, then the subprocess will not be
launched until the read() is fulfilled and the file is unlocked.

Attached is a simple code that demonstrates the issue. A read in stdin is done
in the main thread, while a secondary thread tries to execute a ls. Due to the
bug, the ls result will be available only after the user inputs a line in the
stdin.

--


[Issue 922] export keyword causes undefined references on linux

2016-11-14 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=922

Walter Bright  changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com

--- Comment #3 from Walter Bright  ---
https://github.com/dlang/dmd/pull/6250

--


[Issue 16685] template instantiation rejected when passing member of enum struct in value parameter

2016-11-14 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16685

ag0ae...@gmail.com changed:

   What|Removed |Added

   Keywords||rejects-valid
URL|http://dlang.org/   |
 CC||ag0ae...@gmail.com
Summary|[The D Bug Tracker] |template instantiation
   ||rejected when passing
   ||member of enum struct in
   ||value parameter
   Severity|enhancement |normal

--


[Issue 16685] New: [The D Bug Tracker]

2016-11-14 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16685

  Issue ID: 16685
   Summary: [The D Bug Tracker]
   Product: D
   Version: D2
  Hardware: All
   URL: http://dlang.org/
OS: All
Status: NEW
  Severity: enhancement
  Priority: P3
 Component: dmd
  Assignee: nob...@puremagic.com
  Reporter: eyal.lo...@gmail.com

Failing to instantiate a template from a correctly-typed compile-time value:


struct Id { ushort value; }
enum Id x = Id(5);

struct S(ushort A) {}

// This works, as expected:
enum ushort someShortVal = 5;
alias CanCreateFromShort = S!(someShortVal);

// This works, as expected:
alias CanCreateFromTypedValue = S!(ushort(x.value));

static assert(is(typeof(x.value) == ushort));

// This surprisingly fails
alias CannotCreateFromValue = S!(x.value);

--


[Issue 16684] New: std.getopt, problem with the automatic handling of "h"

2016-11-14 Thread via Digitalmars-d-bugs
https://issues.dlang.org/show_bug.cgi?id=16684

  Issue ID: 16684
   Summary: std.getopt, problem with the automatic handling of "h"
   Product: D
   Version: D2
  Hardware: All
OS: All
Status: NEW
  Severity: normal
  Priority: P1
 Component: phobos
  Assignee: nob...@puremagic.com
  Reporter: b2.t...@gmx.com

Compile this program:

===
void handleH(){assert(false);}
void handleG(){}

void main(string[] args)
{
import std.getopt;
getopt(args, config.passThrough, "g", );
getopt(args, config.passThrough, "h", );
}
===

invoke with the -h option.
An assert error should happen.

There's a problem with the help system. If you replace "h" by "H" and call the
program with -H, then the assertion fails as expected.

--