[Issue 9633] compiles trait wrongly returns true even when object method call actually does not compile

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9633



--- Comment #2 from github-bugzi...@puremagic.com 2013-03-06 23:55:17 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/85c896a7514c72e8ff9bd7b546e3aa1257cb70ff
[REG2.063a] fix Issue 9633 - compiles trait wrongly returns true even when
object method call actually does not compile

Improve isNeedThisScope

https://github.com/D-Programming-Language/dmd/commit/0679c4c31ba78853873933324c69cd90e7714d15
Merge pull request #1722 from 9rnsr/fix9633

[REG2.063a] Issue 9633 - compiles trait wrongly returns true even when object
method call actually does not compile

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


[Issue 9633] compiles trait wrongly returns true even when object method call actually does not compile

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9633


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||bugzi...@digitalmars.com
 Resolution||FIXED


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


[Issue 9476] Support native TLS on Mac OS X

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9476


Martin Nowak c...@dawg.eu changed:

   What|Removed |Added

 CC||c...@dawg.eu


--- Comment #1 from Martin Nowak c...@dawg.eu 2013-03-07 03:43:50 PST ---
Can you provide any links or information?
After searching around quite a lot I get the impression there is no native TLS
support in OSX. The only thing I could find are related to __emutls_get_address
calls created by certain clang/gcc version. At least the newest gcc (build
5658) doesn't support __thread out of the box.

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


[Issue 9660] New: [meta] Not able to debug on Windows starting from ~10 MiB executable size

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9660

   Summary: [meta] Not able to debug on Windows starting from ~10
MiB executable size
   Product: D
   Version: D2
  Platform: All
OS/Version: Windows
Status: NEW
  Severity: blocker
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: verylonglogin@gmail.com
Depends on: 6144


--- Comment #0 from Denis Shelomovskij verylonglogin@gmail.com 2013-03-07 
15:09:10 MSK ---
Starting from ~10 MiB executable (with debug info included) OPTLINK Issue 6144
is triggered so one have to develop further without debug info which is really
pity expecially as it starts when the project is already has medium size.

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


[Issue 6144] Unexpected OPTLINK Termination at EIP=00428DA3

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=6144



--- Comment #10 from Denis Shelomovskij verylonglogin@gmail.com 
2013-03-07 15:11:43 MSK ---
Filled meta issue 9660 about debugging problem caused by this issue.

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


[Issue 9660] [meta] Not able to debug on Windows starting from ~10 MiB executable size

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9660



--- Comment #1 from Denis Shelomovskij verylonglogin@gmail.com 2013-03-07 
15:10:12 MSK ---
Some magic like separating a part of the project into a library may or may not
help.

Eliminating use of templates often helps. E.g. one should always append
`.array()` after (finite) range based operations and then pass an array to a
regular (non-templated) function instead of passing Voldemort types to a
templated function.

Another workaround is temporary commenting out some functions which uses
templates (e.g. from `std.algorithm`) to debug other functions.

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


[Issue 7444] Require [] for array copies too

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7444



--- Comment #13 from bearophile_h...@eml.cc 2013-03-07 04:22:27 PST ---
(In reply to comment #12)
 Commits pushed to master at https://github.com/D-Programming-Language/dmd
 
 https://github.com/D-Programming-Language/dmd/commit/57b770ed49379c5af726d23356e0f75818a3f859
 Issue 7444 - Require [] for array copies too
 
 https://github.com/D-Programming-Language/dmd/commit/ba1009c5561b51b8f18d9c869fde9bd45cb7ebc7
 Merge pull request #702 from 9rnsr/fix7444
 
 Issue 7444 - Require [] for array copies too

I have tried this change, and now the first test case of this ER:


int[100] foo() {
int[100] a;
return a;
}
void main() {
int[10_000] a, b;
auto c = new int[10_000];
a = 1;
a = b;
a = c;
auto d = foo();
}



gives a ICE:

temp.d(8): Warning: explicit element-wise assignment (a)[] = 1 is better than a
= 1
temp.d(10): Warning: explicit element-wise assignment (a)[] = (c)[] is better
than a = c
Assertion failure: '0' on line 1193 in file 'glue.c'

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


[Issue 9476] Support native TLS on Mac OS X

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9476



--- Comment #2 from Jacob Carlborg d...@me.com 2013-03-07 04:34:32 PST ---
Right, I forgot about this. This is some information for a couple of post I
wrote in the newgroups:

Original code: http://pastebin.com/UKb6etWD

Disassembly with TLS: http://pastebin.com/nkdnE9w6
Disassembly without TLS: http://pastebin.com/vuvEBWWH

Object dump with TLS: http://pastebin.com/PqpPw56a
Object dump without TLS: http://pastebin.com/ki6atzEm

The source code for the dynamic linker on Mac OS X 10.7+ with the TLS handling:

http://opensource.apple.com/source/dyld/dyld-210.2.3/src/threadLocalHelpers.s 
http://opensource.apple.com/source/dyld/dyld-210.2.3/src/threadLocalVariables.c 

A description of what's basically happening in the source code above:

I've done some investigation. Currently DMD inserts a call to the
__tls_get_addr function when accessing a TLS variable. This is implemented in
druntime.

In Mac OS X 10.7 it works similar but instead of inserting a call to
__tls_get_addr there's a struct looking like this (written in D) :

struct TLVDescriptor
{
void* function (TLVDescriptor*) thunk;
size_t key;
size_t offset;
}

The dynamic linker will iterate all loaded images and extract the section
containing the TLS data. I guess this section consists of a list of
TLVDescriptor*. The dynamic linker will set the thunk to a function
tlv_get_addrs, implemented in assembly in the dynamic linker. It will set the
key to a key created by pthread_key_create. It will also map the image with
this key. This key is same for all TLVDescriptor of a given image.

Instead of calling __tls_get_addr I think that the compiler will need to call
the thunk passing in the TLVDescriptor itself to the thunk.

The tlv_get_addrs function will then extract the key and from that key it can
get the image the address belongs to.

Does that make any sens? Is that something the DMD could do, that is call the
thunk instead of __tls_get_addr.?

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


[Issue 7444] Require [] for array copies too

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7444



--- Comment #14 from bearophile_h...@eml.cc 2013-03-07 04:58:19 PST ---
(In reply to comment #13)

 gives a ICE:

Smaller test case:


void main() {
int[1] a;
a = 1;
}

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


[Issue 7444] Require [] for array copies too

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7444



--- Comment #15 from Kenji Hara k.hara...@gmail.com 2013-03-07 05:14:27 PST 
---
(In reply to comment #14)
 (In reply to comment #13)
 
  gives a ICE:
 
 Smaller test case:
 
 
 void main() {
 int[1] a;
 a = 1;
 }

What version and compiler switch do you use? I cannot reproduce the ICE.

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


[Issue 5662] Optlink 8.00.11 hangs

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5662



--- Comment #2 from yebblies yebbl...@gmail.com 2013-03-08 00:59:27 EST ---
Might be more likely if the reporter was added to the bug report

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


[Issue 5906] Just pre-conditions at compile-time when arguments are static

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5906


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 CC||yebbl...@gmail.com


--- Comment #7 from yebblies yebbl...@gmail.com 2013-03-08 01:25:47 EST ---
I agree with Walter, nothing should be ctfe'd unless the code explicitly asks
for it.

However...

If the contracts are fairly simple, like in this function:

int func(int a, int b)
in
{
assert(a + b != 12);
}
out(result)
{
assert(result = 20);
}
body
{
return 15;
}

It would be possible for the compiler to use constant-folding (not ctfe) to
verify the assertions can pass, in the pre- and post-conditions.

eg.
func(3, 9); Error: function call func(3, 9) cannot pass precondition

or
Error: 'return 15' cannot pass postcondition

This can be done by converting precondition bodies to expressions then
const-folding them.  Non-trivial, but possible.

This only makes sense if we define violating a function's precondition as
invalid code.

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


[Issue 9009] allow foreach without identifier

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9009



--- Comment #4 from Andrej Mitrovic andrej.mitrov...@gmail.com 2013-03-07 
07:08:24 PST ---
(In reply to comment #3)
 I think this is a simple nice idea. There is no point in requiring to name a
 variable that will not used. It's like in function signatures:
 
 void foo(int, int y) { }

He meant:

void foo(int, int) { }

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


[Issue 9476] Support native TLS on Mac OS X

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9476



--- Comment #3 from Martin Nowak c...@dawg.eu 2013-03-07 07:05:20 PST ---
(In reply to comment #2)
 Right, I forgot about this. This is some information for a couple of post I
 wrote in the newgroups:
 
 Original code: http://pastebin.com/UKb6etWD
 
 Disassembly with TLS: http://pastebin.com/nkdnE9w6
 Disassembly without TLS: http://pastebin.com/vuvEBWWH
 

How did you compile the code? Did you have to use a certain compiler and
version?

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


[Issue 5140] Add __FUNCTION__, __PRETTY_FUNCTION__, and __MODULE__

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5140


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

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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


[Issue 9476] Support native TLS on Mac OS X

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9476



--- Comment #4 from Jacob Carlborg d...@me.com 2013-03-07 08:23:27 PST ---
(In reply to comment #3)

 How did you compile the code? Did you have to use a certain compiler and
 version?

$ clang --version
Apple clang version 4.1 (tags/Apple/clang-421.11.66) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix

Mac OS X 10.8.2
Xcode Version 4.6 (4H127)

The exact version used by Xcode would is:

$
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang
--version
Apple LLVM version 4.2 (clang-425.0.24) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix

But they give the same code. This is compiled for 32bit, if you haven't already
figured that out.

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


[Issue 9476] Support native TLS on Mac OS X

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9476



--- Comment #5 from Jacob Carlborg d...@me.com 2013-03-07 08:26:39 PST ---
GCC shipped with the same version of Xcode cannot build the code:

$ gcc --version
i686-apple-darwin11-llvm-gcc-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658)
(LLVM build 2336.11.00)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I guess Apple doesn't really care about GCC anymore.

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


[Issue 9476] Support native TLS on Mac OS X

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9476



--- Comment #6 from Jacob Carlborg d...@me.com 2013-03-07 08:33:49 PST ---
This thread might be of interest as well. It's from the Clang mailing list:

http://lists.cs.uiuc.edu/pipermail/cfe-dev/2012-November/025571.html

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


[Issue 9661] New: LockingTextWriter should increment file handle reference count

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9661

   Summary: LockingTextWriter should increment file handle
reference count
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: minor
  Priority: P2
 Component: Phobos
AssignedTo: nob...@puremagic.com
ReportedBy: lomerei...@gmail.com


--- Comment #0 from Artem Tarasov lomerei...@gmail.com 2013-03-07 08:44:25 
PST ---
Its behaviour is inconsistent with byLine() and byChunk() - which keep File
struct internally instead of FILE* pointer.

Compare:

auto lines = File(/tmp/file.txt).byLine();
writeln(lines); // works

auto writer = File(/tmp/file.txt, w+).lockingTextWriter;
writer.put(123); // fails - the file is already closed!

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


[Issue 4814] rdmd: Doesn't rebuild when using -of and turning an -L linker option on or off

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4814



--- Comment #3 from Andrei Alexandrescu and...@erdani.com 2013-03-07 09:30:07 
PST ---
https://github.com/D-Programming-Language/tools/pull/49

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


[Issue 4847] std.algorithm.topN documentation

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4847



--- Comment #4 from github-bugzi...@puremagic.com 2013-03-07 10:39:52 PST ---
Commit pushed to master at https://github.com/D-Programming-Language/phobos

https://github.com/D-Programming-Language/phobos/commit/29e043d4616a7d21fbdbd8102b95d01494750759
Fix Issue 4847 - std.algorithm.topN documentation

Converted unittest into an example.

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


[Issue 4847] std.algorithm.topN documentation

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4847


Andrei Alexandrescu and...@erdani.com changed:

   What|Removed |Added

 Status|REOPENED|RESOLVED
 Resolution||FIXED


--- Comment #5 from Andrei Alexandrescu and...@erdani.com 2013-03-07 10:41:05 
PST ---
Thanks for following through. Refixed, please reopen if needed.

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


[Issue 7444] Require [] for array copies too

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7444



--- Comment #16 from bearophile_h...@eml.cc 2013-03-07 12:10:52 PST ---
(In reply to comment #15)

 What version and compiler switch do you use? I cannot reproduce the ICE.

I am using the GIT head compiler, I have downloaded and compiled dmd few hours
ago, after this patch was merged.

I am on Windows 32 bit, and I have compiled the code with:

dmd -wi test.d

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


[Issue 5906] Just pre-conditions at compile-time when arguments are static

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5906



--- Comment #8 from bearophile_h...@eml.cc 2013-03-07 12:15:52 PST ---
(In reply to comment #7)

 This can be done by converting precondition bodies to expressions then
 const-folding them.  Non-trivial, but possible.

Thank you for the note, that seems better than having nothing.


 This only makes sense if we define violating a function's precondition as
 invalid code.

This seems OK. What are possible downsides of this?

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


[Issue 9662] New: rdmd should have a test suite

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9662

   Summary: rdmd should have a test suite
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: and...@erdani.com


--- Comment #0 from Andrei Alexandrescu and...@erdani.com 2013-03-07 13:12:35 
PST ---
Currently there's no test suite for rdmd, and it has happened that changes to
rdmd broke existing behaviors.

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


[Issue 9662] rdmd should have a test suite

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9662


David Nadlinger c...@klickverbot.at changed:

   What|Removed |Added

 CC||c...@klickverbot.at


--- Comment #1 from David Nadlinger c...@klickverbot.at 2013-03-07 13:19:42 
PST ---
A test suite for rdmd would indirectly also be helpful for LDC development:
Currently, ldmd2 does not quite handle output file placement in the same way as
DMD (thus failing its purpose as a drop-in replacement), but it is unclear what
needs to be changed. Having a set of test cases for the various options would
make that much easier, and I imagine an rdmd test suite might quite naturally
contain a number of them.

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


[Issue 9574] Diagnostic for old use of 'alias this = that' should be informative

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9574



--- Comment #2 from github-bugzi...@puremagic.com 2013-03-07 13:51:48 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/9b3ecfb6a0286b2a2c856d3b2fdec01a9491d74f
Fixes Issue 9574 - Better diagnostic on old 'alias this = that' syntax.

https://github.com/D-Programming-Language/dmd/commit/1e9511b94cc0cfacc7058fe5cad02a597e8dae2e
Merge pull request #1685 from AndrejMitrovic/Fix9574

Issue 9574 - Better diagnostic on old 'alias this = that' syntax.

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


[Issue 4814] rdmd: Doesn't rebuild when using -of and turning an -L linker option on or off

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4814



--- Comment #4 from github-bugzi...@puremagic.com 2013-03-07 14:19:45 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/tools

https://github.com/D-Programming-Language/tools/commit/a76dc63b2a662d5ba21ed8a55f6b56cce158900d
Fix issue 4814

https://github.com/D-Programming-Language/tools/commit/e14e0378375d1bb586871f8e66cc501dac64a7e1
Merge pull request #49 from andralex/4814

Fix Issue 4814 - rdmd: Doesn't rebuild when using -of and turning an -L linker
option on or off

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


[Issue 4814] rdmd: Doesn't rebuild when using -of and turning an -L linker option on or off

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=4814


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

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 CC||andrej.mitrov...@gmail.com
  Component|Phobos  |DMD
 Resolution||FIXED
 AssignedTo|and...@erdani.com   |nob...@puremagic.com
 OS/Version|Linux   |All


--- Comment #5 from Andrej Mitrovic andrej.mitrov...@gmail.com 2013-03-07 
14:20:55 PST ---
Can we get an RDMD component added to bugzilla?

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


[Issue 9574] Diagnostic for old use of 'alias this = that' should be informative

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9574


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||bugzi...@digitalmars.com
 Resolution||FIXED


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


[Issue 7444] Require [] for array copies too

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7444



--- Comment #17 from Kenji Hara k.hara...@gmail.com 2013-03-07 15:41:56 PST 
---
(In reply to comment #16)
 (In reply to comment #15)
 
  What version and compiler switch do you use? I cannot reproduce the ICE.
 
 I am using the GIT head compiler, I have downloaded and compiled dmd few hours
 ago, after this patch was merged.
 
 I am on Windows 32 bit, and I have compiled the code with:
 
 dmd -wi test.d

Thanks. -w option does not reproduce it, but -wi does.

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


[Issue 9663] New: [REG2.063a] ICE caused by issue 7444 change.

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9663

   Summary: [REG2.063a] ICE caused by issue 7444 change.
   Product: D
   Version: D2
  Platform: All
OS/Version: All
Status: NEW
  Keywords: ice
  Severity: regression
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: k.hara...@gmail.com


--- Comment #0 from Kenji Hara k.hara...@gmail.com 2013-03-07 16:55:45 PST ---
From: http://d.puremagic.com/issues/show_bug.cgi?id=7444#c13

I have tried this change, and now the first test case of this ER:

int[100] foo() {
int[100] a;
return a;
}
void main() {
int[10_000] a, b;
auto c = new int[10_000];
a = 1;
a = b;
a = c;
auto d = foo();
}

gives a ICE:

temp.d(8): Warning: explicit element-wise assignment (a)[] = 1 is better than a
= 1
temp.d(10): Warning: explicit element-wise assignment (a)[] = (c)[] is better
than a = c
Assertion failure: '0' on line 1193 in file 'glue.c'


From: http://d.puremagic.com/issues/show_bug.cgi?id=7444#c14

Smaller test case:

void main() {
int[1] a;
a = 1;
}


From: http://d.puremagic.com/issues/show_bug.cgi?id=7444#c16

 What version and compiler switch do you use? I cannot reproduce the ICE.

I am using the GIT head compiler, I have downloaded and compiled dmd few hours
ago, after this patch was merged.

I am on Windows 32 bit, and I have compiled the code with:

dmd -wi test.d

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


[Issue 9663] [REG2.063a] ICE caused by issue 7444 change.

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9663


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

   What|Removed |Added

   Keywords||pull


--- Comment #1 from Kenji Hara k.hara...@gmail.com 2013-03-07 16:59:12 PST ---
https://github.com/D-Programming-Language/dmd/pull/1727

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


[Issue 7444] Require [] for array copies too

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=7444


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

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


--- Comment #18 from Kenji Hara k.hara...@gmail.com 2013-03-07 17:00:31 PST 
---
(In reply to comment #17)
 (In reply to comment #16)
  (In reply to comment #15)
  
   What version and compiler switch do you use? I cannot reproduce the ICE.
  
  I am using the GIT head compiler, I have downloaded and compiled dmd few 
  hours
  ago, after this patch was merged.
  
  I am on Windows 32 bit, and I have compiled the code with:
  
  dmd -wi test.d
 
 Thanks. -w option does not reproduce it, but -wi does.

OK, I opened a new report bug 9663 for the regression.

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


[Issue 9660] [meta] Not able to debug on Windows starting from ~10 MiB executable size

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9660


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

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||andrej.mitrov...@gmail.com
 Resolution||INVALID


--- Comment #2 from Andrej Mitrovic andrej.mitrov...@gmail.com 2013-03-07 
18:33:01 PST ---
Why did you open this if it's about Issue 6144? Keep issues about actual bugs
and not discussions about other issues.

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


[Issue 5906] Just pre-conditions at compile-time when arguments are static

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5906



--- Comment #9 from yebblies yebbl...@gmail.com 2013-03-08 13:33:42 EST ---
(In reply to comment #8)
 (In reply to comment #7)
 
  This can be done by converting precondition bodies to expressions then
  const-folding them.  Non-trivial, but possible.
 
 Thank you for the note, that seems better than having nothing.
 
 
  This only makes sense if we define violating a function's precondition as
  invalid code.
 
 This seems OK. What are possible downsides of this?

struct S(int a)
{
void fun(int b) in { assert(a != b); } body {}
}

void main()
{
foreach(i; TypeTuple!(1, 2, 3, 4))
{
auto s = S!i();
if (i != 4)
s.fun(4);
}
}

This code would error 'cannot call S.fun with b == 4' etc even though S.fun
never actually gets called with 4.

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


[Issue 2486] taking address of slice rvalue should not be allowed

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2486


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

   What|Removed |Added

 CC||ga...@mail.ru


--- Comment #10 from Andrej Mitrovic andrej.mitrov...@gmail.com 2013-03-07 
18:50:48 PST ---
*** Issue 9651 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 9651] Returning a newly-created slice by reference

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9651


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

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||andrej.mitrov...@gmail.com
 Resolution||DUPLICATE


--- Comment #2 from Andrej Mitrovic andrej.mitrov...@gmail.com 2013-03-07 
18:50:47 PST ---
Issue 2486 fixed this.

*** This issue has been marked as a duplicate of issue 2486 ***

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


[Issue 9588] format prints context pointer for struct

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9588



--- Comment #6 from Andrej Mitrovic andrej.mitrov...@gmail.com 2013-03-07 
19:18:48 PST ---
(In reply to comment #4)
 Hmm. Using __traits(allMembers, S) seems to indicate that the field name is
 'this'. Since 'this' is a reserved keyword, that may be safer to check for 
 than
 assuming that the compiler will always put it last.

This won't work out that easy. The code in format uses .tupleof to get to the
values, but .tupleof and allMembers return different results, for example:

void main()
{
struct S { int x; this(int) { } }
}

allMembers:
tuple(x, __ctor, this)

.tupleof:
tuple(0, S(0).this)

So the indexes won't match. Since my new isNested trait was pulled, and
assuming the context pointer is last, I could do:

immutable tupleLen = val.tupleof.length;
foreach (i, e; val.tupleof)
{
// skip printing context pointer
static if (__traits(isNested, T)  i+i == tupleLen) { }
}

It's hard to tell whether this will be safe. 

Another idea is to change how .tupleof works internally (to remove exposing the
context pointer), but this might be a bad idea, serialization might probably
require it as well as other code.

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


[Issue 5906] Just pre-conditions at compile-time when arguments are static

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5906



--- Comment #11 from bearophile_h...@eml.cc 2013-03-07 19:29:40 PST ---
(In reply to comment #10)

 If the pre-condition analysis (constant folding) is done after a normal step 
 of
 dead branch removal, then maybe that error will not be shown.

Currently it doesn't happen, and this generates an error (you need a static
if to make the error go away):


import std.typetuple;
void main() {
int[4] a;
foreach (i; TypeTuple!(1, 2, 3, 4)) {
if (i != 4)
a[i]++;
}
}

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


[Issue 5906] Just pre-conditions at compile-time when arguments are static

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5906



--- Comment #10 from bearophile_h...@eml.cc 2013-03-07 19:25:12 PST ---
(In reply to comment #9)

 struct S(int a)
 {
 void fun(int b) in { assert(a != b); } body {}
 }
 
 void main()
 {
 foreach(i; TypeTuple!(1, 2, 3, 4))
 {
 auto s = S!i();
 if (i != 4)
 s.fun(4);
 }
 }
 
 This code would error 'cannot call S.fun with b == 4' etc even though S.fun
 never actually gets called with 4.

I see, thank you for the answer.
If the pre-condition analysis (constant folding) is done after a normal step of
dead branch removal, then maybe that error will not be shown.

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


[Issue 5906] Just pre-conditions at compile-time when arguments are static

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5906



--- Comment #12 from yebblies yebbl...@gmail.com 2013-03-08 14:33:58 EST ---
(In reply to comment #10)
 
 I see, thank you for the answer.
 If the pre-condition analysis (constant folding) is done after a normal step 
 of
 dead branch removal, then maybe that error will not be shown.

 Currently it doesn't happen, and this generates an error (you need a static 
 if to make the error go away):

That is an interesting point.

I seriously doubt that would be enough anyway, I think you would need full flow
analysis to work out which paths can actually be taken.

Another good example is this:

int div(int a, int b)
in
{
assert(b != 0, Division by zero!);
}
body
{
return a / b;
}

void main(string[] args)
{
auto i = 3 / 0; // Fails at compile time
auto j = div(3, 0); // Would fail at compile time if this was implemented
}

So maybe it is acceptable.

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


[Issue 9663] [REG2.063a] ICE caused by issue 7444 change.

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9663



--- Comment #2 from github-bugzi...@puremagic.com 2013-03-07 21:05:55 PST ---
Commits pushed to master at https://github.com/D-Programming-Language/dmd

https://github.com/D-Programming-Language/dmd/commit/978aeaec777c7445634476877eb088db3b9d46bc
fix Issue 9663 - [REG2.063a] ICE caused by issue 7444 change.

https://github.com/D-Programming-Language/dmd/commit/40424680afd81ada506334550ef63c5fd76265b8
Merge pull request #1727 from 9rnsr/fix9663

Issue 9663 - [REG2.063a] ICE caused by issue 7444 change.

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


[Issue 9663] [REG2.063a] ICE caused by issue 7444 change.

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9663


yebblies yebbl...@gmail.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||yebbl...@gmail.com
 Resolution||FIXED


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


[Issue 9660] [meta] Not able to debug on Windows starting from ~10 MiB executable size

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=9660



--- Comment #3 from Denis Shelomovskij verylonglogin@gmail.com 2013-03-08 
08:49:14 MSK ---
(In reply to comment #2)
 Why did you open this if it's about Issue 6144? Keep issues about actual bugs
 and not discussions about other issues.

IMHO it's a separate and valuable issue which will be fixed if Issue 6144 will
but may be (probably) fixed also in a different way.

Yes, fill free to mark it INVALID if you sure I'm obviously incorrect.

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


[Issue 5450] no match for implicit super() call in constructor

2013-03-07 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=5450


Walter Bright bugzi...@digitalmars.com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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