[Issue 11863] std.conv.to!string(int/uint, radix) returns incorrect string

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11863



--- Comment #6 from github-bugzi...@puremagic.com 2014-01-07 00:09:55 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/4c846a263a7e94c0966ef66a0e0fc4adda58c737
fix Issue 11863 - std.conv.to!string(int/uint, radix) returns incorrect string

https://github.com/D-Programming-Language/dmd/commit/6090f4599b4da0a642796c1d2655a26f0ce99b17
Merge pull request #3069 from 9rnsr/fix11863

[REG2.064] Issue 11863 - std.conv.to!string(int/uint, radix) returns incorrect
string

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11863] std.conv.to!string(int/uint, radix) returns incorrect string

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11863


monarchdo...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


--- Comment #7 from monarchdo...@gmail.com 2014-01-07 00:48:34 PST ---
Resolved. Thanks a lot Kenji!

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 7903] [TDPL] public member variables are supposed to be illegal in synchronized classes

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=7903



--- Comment #5 from Andrej Mitrovic andrej.mitrov...@gmail.com 2014-01-07 
00:54:54 PST ---
(In reply to comment #4)
 The spec is the spec, not TDPL, so these should be accompanied by a pull
 request on the spec.

As soon as we have a passing and merged pull I'll make an accompanying pull.
Otherwise there's not much point in making two pulls when one of the pulls
might take months to merge (forcing the dev to rebase two pulls instead of just
one).

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3672] [tdpl] read-modify-write (rmw) operators must be disabled for shared

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=3672


Andrej Mitrovic andrej.mitrov...@gmail.com changed:

   What|Removed |Added

   Keywords||pull
 AssignedTo|nob...@puremagic.com|andrej.mitrov...@gmail.com


--- Comment #6 from Andrej Mitrovic andrej.mitrov...@gmail.com 2014-01-07 
00:57:13 PST ---
https://github.com/D-Programming-Language/dmd/pull/3070

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11844] ICE(template.c:6643) Assertion failed: (td-semanticRun != PASSinit)

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11844


Kenji Hara k.hara...@gmail.com changed:

   What|Removed |Added

   Severity|normal  |regression


--- Comment #3 from Kenji Hara k.hara...@gmail.com 2014-01-07 02:23:00 PST ---
This was a regression issue from 2.064.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 1001] print stack trace (in debug mode) when program die

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=1001



--- Comment #69 from Martin Nowak c...@dawg.eu 2014-01-07 02:20:21 PST ---
(In reply to comment #67) 
 Putting a null pointer dereference into try/catch does not catch it, so I 
 guess
 the root cause is that D exceptions are not integrated with Windows exceptions
 (through SEH or whatever mechanism is used on Win64).

Which is rather good, turning asynchronous SEH into normal Exceptions ws a bad
idea.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 1001] print stack trace (in debug mode) when program die

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=1001



--- Comment #70 from Vladimir Panteleev thecybersha...@gmail.com 2014-01-07 
12:24:10 EET ---
(In reply to comment #69)
 Which is rather good, turning asynchronous SEH into normal Exceptions ws a bad
 idea.

Could you elaborate why? I thought SEH was designed so that it would integrate
neatly with C++ exceptions.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11849] Recursive enum causes segfault

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11849


Kenji Hara k.hara...@gmail.com changed:

   What|Removed |Added

   Severity|normal  |regression


--- Comment #8 from Kenji Hara k.hara...@gmail.com 2014-01-07 02:26:24 PST ---
(In reply to comment #0)
 alias DWORD = uint;
 
 enum : DWORD
 {
 REG_DWORD = 4
 }
 
 enum RegValueType : DWORD
 {
 Unknown = DWORD.max,
 DWORD = REG_DWORD
 }

This code meaning was changed from 2.064, but infinite loop did not occur with
2.063.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11849] Recursive enum causes segfault

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11849



--- Comment #9 from github-bugzi...@puremagic.com 2014-01-07 02:33:00 PST ---
Commit pushed to 2.065 at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/0895bed3880b2f925e30cc53727d6cfd533a4c8c
Merge pull request #3057 from 9rnsr/fix11849

Issue 11849 - Recursive enum causes segfault

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11553] dmd segfault with recursive template

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11553


Kenji Hara k.hara...@gmail.com changed:

   What|Removed |Added

   Severity|major   |regression


--- Comment #7 from Kenji Hara k.hara...@gmail.com 2014-01-07 02:31:10 PST ---
(In reply to comment #0)
 An example that is clearly wrong code, but segfaults the compiler on
 Scope::push
 
 template A(alias T)
 {
 template A()
 {
 alias A = T!();
 }
 }
 alias B() = A!(.B);
 
 static if(A!B){}

With 2.063, following equivalent code did not cause segfault.

template A(alias T)
{
template A()
{
alias A = T!();
}
}
template B() { alias B = A!(.B); }
static if (A!B) {}  // Line 9

Output:
test.d(9): Error: expression template A() of type void does not have a boolean
value

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11844] ICE(template.c:6643) Assertion failed: (td-semanticRun != PASSinit)

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11844



--- Comment #4 from github-bugzi...@puremagic.com 2014-01-07 02:32:56 PST ---
Commit pushed to 2.065 at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/d554ec7532bd8fc1f35efdc05df22096501dea6a
Merge pull request #3056 from 9rnsr/fix11844

Issue 11844 - ICE(template.c:6643) Assertion failed: (td-semanticRun !=
PASSinit)

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11591] std.typecons.Tuple -s with classes fails at runtime as associative array keys

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11591



--- Comment #8 from github-bugzi...@puremagic.com 2014-01-07 02:32:43 PST ---
Commit pushed to 2.065 at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/ac329ecd01fb9a24d1ec9d60f2d26fe2a14f8e62
Merge pull request #3054 from WalterBright/fix11591

Regression fix Issue 11591 - std.typecons.Tuple -s with classes fails at
runtime as associative array keys

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11553] dmd segfault with recursive template

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11553



--- Comment #8 from github-bugzi...@puremagic.com 2014-01-07 02:33:10 PST ---
Commit pushed to 2.065 at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/e1866902b88e36537197da16b098afd2df304425
Merge pull request #2826 from 9rnsr/fix11553

Issue 11553 - dmd segfault with recursive template

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 1001] print stack trace (in debug mode) when program die

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=1001



--- Comment #71 from Martin Nowak c...@dawg.eu 2014-01-07 02:55:12 PST ---
http://en.wikipedia.org/wiki/Exception_handling#Exception_synchronicity
It's simply that the compiler cannot handle cleanup when every instruction
could throw. In case an asynchronous exception happens in the middle of some
statement your program is immediately in an invalid state. Continuing could
deadlock or corrupt data, much worse than a crash.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11877] New: static opSlice is not possible

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11877

   Summary: static opSlice is not possible
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: pub...@dicebot.lv


--- Comment #0 from Dicebot pub...@dicebot.lv 2014-01-07 05:01:05 PST ---
struct X
{
static int opSlice(size_t a, size_t b)
{
return 42;
}
}

static assert ( X[1..2] == 42 );

// Error: cannot slice type 'X'

---

There is not reason why slicing should be prohibited in this case. It conforms
usual operator syntax rewrite rules and has no grammar ambiguity with array
types if slicing bounds are used.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 8203] Use of std.regex.match() generates not enough preallocated memory error

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=8203



--- Comment #13 from Dmitry Olshansky dmitry.o...@gmail.com 2014-01-07 
06:57:28 PST ---
https://github.com/D-Programming-Language/phobos/pull/1841

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11321] Can't link _D6object15__T7reserveTyaZ7reserveFNaNbNeKAyamZm

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11321


Dmitry Olshansky dmitry.o...@gmail.com changed:

   What|Removed |Added

 CC||dmitry.o...@gmail.com


--- Comment #9 from Dmitry Olshansky dmitry.o...@gmail.com 2014-01-07 
07:13:28 PST ---
Works for me after fixing Location -- Location() in semantic.d.
Also I used dmd as the driver for linking to avoid messing with makefile paths.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11350] libphobos2 regex match segfaults when a rare HTTP header is received

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11350


Dmitry Olshansky dmitry.o...@gmail.com changed:

   What|Removed |Added

   Keywords||pull


--- Comment #3 from Dmitry Olshansky dmitry.o...@gmail.com 2014-01-07 
07:26:45 PST ---
@sha0coder
Could you try with this fix:
https://github.com/D-Programming-Language/phobos/pull/1842

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 8203] Use of std.regex.match() generates not enough preallocated memory error

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=8203



--- Comment #14 from github-bugzi...@puremagic.com 2014-01-07 08:40:19 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/8eb57d628bbe07d37f5b110d1c7e921fac1ab6c8
fix issue 8203, similar issue with lookaround

When using a temporary engine as closure its generation counter
should be tracked separately for each lookaround.

For now just use built-in AA, later we could find better places
to store this counter in.

https://github.com/D-Programming-Language/phobos/commit/39b88e3a625d69c68a4928457216f2138ba9dd2a
Merge pull request #1841 from blackwhale/issue-8203

fix issue 8203, similar issue with lookaround

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 8203] Use of std.regex.match() generates not enough preallocated memory error

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=8203


Andrej Mitrovic andrej.mitrov...@gmail.com changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 CC||andrej.mitrov...@gmail.com
 Resolution||FIXED


-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11839] std.regex capture group names should allow numbers to be in them

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11839



--- Comment #2 from github-bugzi...@puremagic.com 2014-01-07 10:43:44 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/a673d01ee90f56adb6d73aae05ab0ab74d08baf7
fix issue 11839

https://github.com/D-Programming-Language/phobos/commit/2648a68e9adbdbb9bf21b13dfe655bacbc61cb1e
Merge pull request #1838 from blackwhale/issue-11839

Fix issue 11839

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11839] std.regex capture group names should allow numbers to be in them

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11839


Dmitry Olshansky dmitry.o...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11808] std.uni.CodepointSet('А', 'Я'+1, 'а', 'я'+1) asserts

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11808



--- Comment #6 from github-bugzi...@puremagic.com 2014-01-07 11:43:40 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/4e5b777432a328160f6f2e29f26564bda52a6d13
fix issue 11808

https://github.com/D-Programming-Language/phobos/commit/b364a2f5f5065a1e843c01516068a27d5c6586b2
Merge pull request #1837 from blackwhale/issue-11808

Fix issue 11808 std.uni.CodepointSet('А', 'Я'+1, 'а', 'я'+1) asserts

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11808] std.uni.CodepointSet('А', 'Я'+1, 'а', 'я'+1) asserts

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11808


Dmitry Olshansky dmitry.o...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3749] cannot evaluate yl2x (log) and exp functions at compile time

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=3749


Iain Buclaw ibuc...@ubuntu.com changed:

   What|Removed |Added

 CC||ibuc...@ubuntu.com


--- Comment #11 from Iain Buclaw ibuc...@ubuntu.com 2014-01-07 14:56:54 PST 
---
(In reply to comment #10)
 What's the state of this?
 Having log/exp functions at compile time would be very useful, e.g. to
 pregenerate scientific tables.

std.math now has pure generic implementations.

One of the main problems holding CTFE support back is that there is no
straightforward way to do math operations such as isNaN, isInfinity, signbit,
frexp which require access (and for some, manipulation) of the bits in float
types.

GDC has the ability to convert float - array already in place, but its not in
use because CTFE doesn't allow it.

Saying that, DMD has a problem that GDC doesn't - it uses the IASM
implementations of std.math functions that can't be evaluated at compile time.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 8298] dirEntries special linux file in Home dir

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=8298


Timothee Cour timothee.co...@gmail.com changed:

   What|Removed |Added

 CC||timothee.co...@gmail.com


--- Comment #4 from Timothee Cour timothee.co...@gmail.com 2014-01-07 
15:41:11 PST ---
Is anything blocking the pull ?

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11878] New: UFCS for base-2 literals too

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11878

   Summary: UFCS for base-2 literals too
   Product: D
   Version: D2
  Platform: x86
OS/Version: Windows
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: bearophile_h...@eml.cc


--- Comment #0 from bearophile_h...@eml.cc 2014-01-07 15:56:50 PST ---
void foo(int x) {}
void main() {
33.foo; // OK
0b11.foo; // Error
0x21.foo; // Error
}


DMD 2.065alpha gives a colorful group of error messages:


test.d(4): Error: found 'b11' when expecting ';' following statement
test.d(5): Error: exponent required for hex float
test.d(5): Error: found 'oo' when expecting ';' following statement
test.d(5): Warning: use '{ }' for an empty statement, not a ';'


I think the 0b11.foo; case could be accepted.


Note that currently the situation with float literals is OK:

import std.stdio;
void f(float x) {
writeln(x);
}
void main() {
33.f; // calls f.
float x = 33.0f; // float literal.
}


So perhaps this is also a bug report for hex float literals.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11879] New: missing default User-Agent in std.net.curl

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11879

   Summary: missing default User-Agent in std.net.curl
   Product: D
   Version: unspecified
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: Phobos
AssignedTo: nob...@puremagic.com
ReportedBy: c...@dawg.eu


--- Comment #0 from Martin Nowak c...@dawg.eu 2014-01-07 16:14:44 PST ---
The W3C standard says User agents SHOULD include this field with requests.
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.43

Some APIs will reject requests without a User-Agent.
Most notably https://api.github.com will return a 403 and the following
message.

Request forbidden by administrative rules. Please make sure your request has a
User-Agent header (http://developer.github.com/v3/#user-agent-required). Check
https://developer.github.com for other possible causes.

I think we should chose a default value for this field like most other
libraries.
http://www.useragentstring.com/pages/Librarielist/

How about Phobos-std.net.curl/2.064 (libcurl/7.32.0)?

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11879] missing default User-Agent in std.net.curl

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11879



--- Comment #1 from Martin Nowak c...@dawg.eu 2014-01-07 16:15:34 PST ---
I forgot to mention, the problem is very hard to debug, especially over an
encrypted connection.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 8298] dirEntries special linux file in Home dir

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=8298



--- Comment #5 from github-bugzi...@puremagic.com 2014-01-07 16:23:53 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/eb4d5a0572da733c492ef3b75ff12e74a8f0a522
Fix Issue #8298, Don't throw exceptions on broken symlinks.

Using dirEntries to loop trough all the files/directories in a directory
will curently throw an Exception when encountering an broken symlink.

Whit this change DirEntry will no longer throw an Exception for broken
symlinks, but in that case isDir and isFile will return flase while
isSymlink returns true.

https://github.com/D-Programming-Language/phobos/commit/1d7912c6791bd0a84f67370f4462b922b996701c
Merge pull request #1142 from MikeWey/Issue8298

Fix Issue #8298, Don't throw exceptions on broken symlinks.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 8298] dirEntries special linux file in Home dir

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=8298



--- Comment #6 from Timothee Cour timothee.co...@gmail.com 2014-01-07 
16:39:58 PST ---
so shall we mark this as FIXED?

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11350] libphobos2 regex match segfaults when a rare HTTP header is received

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11350



--- Comment #4 from github-bugzi...@puremagic.com 2014-01-07 17:02:24 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/3b6cc0cb73be19986ef1b8a30036227c98b37bb9
fix issue 11350

Do not throw on bad UTF inside of a C callback

https://github.com/D-Programming-Language/phobos/commit/84dbc9934d4e0e72dc9ce138a0a0771666b51f26
Merge pull request #1842 from blackwhale/issue-11350

Fix issue 11350 ibphobos2 regex match segfaults when a rare HTTP header is
received

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 4125] std.numeric.gcd can use a binary GCD

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=4125



--- Comment #6 from bearophile_h...@eml.cc 2014-01-07 18:04:17 PST ---
Created an attachment (id=1313)
Faster GCD

Code for a binary GCD that on LDC2 is about twice faster on uint values, and
it's rather faster with dmd too.

Timings (gcd is the Phobos one):

DMD 2.061alpha (32 bit):
  gcd, time = 1924
gcd_recursive, time = 1937
gcd_iterative_sub, time = 2931
gcd_iterative_mod, time = 1948
   gcd_binary, time = 3357
   gcd_binary_mod, time = 2136
 gcd_binary_2, time = 1406
 gcd_binary_2, time = 1391
Results sum: 1284258816


LDC2 (32 bit):
  gcd, time = 1930
gcd_recursive, time = 1924
gcd_iterative_sub, time = 3148
gcd_iterative_mod, time = 1926
   gcd_binary, time = 2635
   gcd_binary_mod, time = 2036
 gcd_binary_2, time = 1461
 gcd_binary_3, time = 1026
Results sum: 1284258816

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 10369] Deprecate unordered floating point comparisons (!=, etc) and later remove them

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=10369



--- Comment #11 from bearophile_h...@eml.cc 2014-01-07 18:22:31 PST ---
Eventually the operators should be also removed from this page:
http://dlang.org/lex.html

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5660] yield syntax sugar

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=5660



--- Comment #10 from bearophile_h...@eml.cc 2014-01-07 18:32:09 PST ---
I think a yield with an usage syntax like this (semantically similar to the
Python yield) that's syntax sugar for a ForwardRange is a good and handy
addition to the language:


yield(int) foo() {
yield 1;
yield 2;
}
void main() {
import std.stdio, std.algorithm;
foo.map!(x = x).writeln;
}


See also for an improvement:
http://www.python.org/dev/peps/pep-0380/

That explains the desire for also a yield foreach (this is not a replacement
for yield, it's an addition):


yield(int) bar() {
yield foreach foo();
}

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 5660] yield syntax sugar

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=5660



--- Comment #11 from bearophile_h...@eml.cc 2014-01-07 18:39:04 PST ---
See also Issue 11880 for reserving the keyword yield.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11880] New: Reserve the keyword yield

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11880

   Summary: Reserve the keyword yield
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: bearophile_h...@eml.cc


--- Comment #0 from bearophile_h...@eml.cc 2014-01-07 18:38:02 PST ---
I suggest to reserve the keyword yield for future usage (just like the
keyword macro, cent, ucent). This will avoid backward compatibility
problems with D code that uses variable names yield today.

See Issue 5660 for info on yield.


Today code that uses yield should give an explicit error message like this:

test.d(2): Error: yield not implemented


And this should compile:

void main() {
static assert(!__traits(compiles, { yield(int) foo() { yield 1; }}));
}

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 10740] std.concurrency send() fails with structs over 32 bytes

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=10740



--- Comment #3 from Martin Krejcirik m...@krej.cz 2014-01-08 03:45:32 CET ---
Comment #2 is bug 9122. Comment #0 still open (the limit is 24 bytes for me).

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11881] New: -betterC switch suffers from bit rot

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11881

   Summary: -betterC switch suffers from bit rot
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: bugzi...@digitalmars.com


--- Comment #0 from Walter Bright bugzi...@digitalmars.com 2014-01-07 
18:57:47 PST ---
Adam D. Ruppe writes:

I find the -betterC switch to be totally useless. If you are just toying,
there's no module info anyway:

extern(C) {
void _d_run_main() {} // why is this required now
void* _d_dso_registry;

void _start() {

}
}

dmd -c *.d -defaultlib= -debuglib=
gcc -m32 *.o -nostdlib

success. Add struct Test{} and:

Error: ModuleInfo not found. object.d may be incorrectly installed or corrupt.

OK, add -betterC:

Error: TypeInfo not found. object.d may be incorrectly installed or corrupt,
compile with -v switch


If you do use an object.d with it defined to get past the compiler, it doesn't
help much as the linker complains anyway:

test.o:(.data._D20TypeInfo_S4test4Test6__initZ+0x0): undefined reference to
`_D15TypeInfo_Struct6__vtblZ'


So my verdict is -betterC is pretty useless. If it got past the TypeInfo stuff
the same way it gets past ModuleInfo though, then we'd be cooking with gas.
That potentially gives a language that is legitimately a better C. But without
structs, bah.

This is a filthy hack, but it is easy to change this in the compiler. (Isn't
-betterC a filthy hack in the first place anyway :) )

In

Expression *Type::getTypeInfo(Scope *sc)

Add
if(global.params.betterC)
return NULL;

right to the top.

And same for struct decl

void TypeInfoStructDeclaration::toDt(dt_t **pdt)
{
if(global.params.betterC)
return;


Then it compiles with the struct! ~5 KB executable, two line object.d.


but adding some methods to the struct complain about missing ModuleInfo
again. Looks like it wants to do assert(this !is null); and the assert thing
takes a module info reference.

Ugh that said, adding:

void _d_assert_msg() {}
void _d_assertm() {}
void* _D4test12__ModuleInfoZ;

to my extern(C) boilerplate did manage to work - structs with postblits and
dtors yay! - and trimmed the exe down to 1.3K.

Maybe -betterC can stop outputting those references too and then we'd really be
cooking.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11881] -betterC switch suffers from bit rot

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11881


Adam D. Ruppe destructiona...@gmail.com changed:

   What|Removed |Added

 CC||destructiona...@gmail.com


--- Comment #1 from Adam D. Ruppe destructiona...@gmail.com 2014-01-07 
19:27:21 PST ---
Other stuff I think this should do:

* suppress the generation of the call _d_dso_registry function
(backend/elfobj.c).

* The assert isn't put out with -release, but that kills all asserts. So I
think -betterC might be good to suppress any *hidden* asserts, while keeping
explicit ones in (which are removed with -release if you want to kill them
too). The struct method calling _d_assertm, which requires ModuleInfo, is a
hidden assert on the struct method.

actually that just might do the trick for a better c. Toying with these, I made
a test.d with an extern(C) main and it worked fairly well. My hacky changes to
the compiler caused it to crash if I tried to use a class, but C doesn't have
classes either so oh well.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 3749] cannot evaluate yl2x (log) and exp functions at compile time

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=3749



--- Comment #12 from Martin Nowak c...@dawg.eu 2014-01-07 19:47:17 PST ---
(In reply to comment #11)
 (In reply to comment #10)
  What's the state of this?
  Having log/exp functions at compile time would be very useful, e.g. to
  pregenerate scientific tables.
 
 std.math now has pure generic implementations.
 
 One of the main problems holding CTFE support back is that there is no
 straightforward way to do math operations such as isNaN, isInfinity, signbit,
 frexp which require access (and for some, manipulation) of the bits in float
 types.

We had the same issue with hashOf in druntime and now there is a huge machinery
to compute exponent and mantissa.
Could we allow to read specific floating point values through intrinsics at
compile time?
Something like exponent(float), signbit(float), mantissa(float)?

 Saying that, DMD has a problem that GDC doesn't - it uses the IASM
 implementations of std.math functions that can't be evaluated at compile time.

How do you treat std.math.log at runtime as intrinsic or does it run the same
code? Is there a performance penalty?

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11880] Reserve the keyword yield

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11880


Jacob Carlborg d...@me.com changed:

   What|Removed |Added

 CC||d...@me.com


--- Comment #1 from Jacob Carlborg d...@me.com 2014-01-07 23:35:19 PST ---
yield is already used for function names in core.Thread and core.Fiber.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11880] Reserve the keyword yield

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11880


Vladimir Panteleev thecybersha...@gmail.com changed:

   What|Removed |Added

 CC||thecybersha...@gmail.com


--- Comment #2 from Vladimir Panteleev thecybersha...@gmail.com 2014-01-08 
09:42:11 EET ---
As I understand, yield doesn't need to be a keyword - it can be implemented
as a language construct. The only limitation is that coroutines need to be
started explicitly (which I think this is a plus as it improves readability).

I suggest closing this as WONTFIX.

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11880] Reserve the keyword yield

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11880



--- Comment #3 from Vladimir Panteleev thecybersha...@gmail.com 2014-01-08 
09:42:54 EET ---
s/language construct/library construct/

-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---


[Issue 11880] Reserve the keyword yield

2014-01-07 Thread d-bugmail
https://d.puremagic.com/issues/show_bug.cgi?id=11880


Maxim Fomin ma...@maxim-fomin.ru changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||ma...@maxim-fomin.ru
 Resolution||WONTFIX


-- 
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
--- You are receiving this mail because: ---