[Issue 3190] enum doesn't work as the increment in a for loop

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3190


Don  changed:

   What|Removed |Added

 CC||clugd...@yahoo.com.au




--- Comment #1 from Don   2009-07-20 00:15:11 PDT ---
I suspect this is related to bug#2414 or bug#2998. There's definitely something
badly wrong with D2 enum (manifest constant) assignment.

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


[Issue 3192] Segfault(iasm.c) asm in a anonymous delegate

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3192


Don  changed:

   What|Removed |Added

 CC||clugd...@yahoo.com.au
Summary|asm in a anonymous delegate |Segfault(iasm.c) asm in a
   |crash the compiler  |anonymous delegate
   Severity|blocker |major




--- Comment #1 from Don   2009-07-20 00:26:41 PDT ---
Reduced test case:

void delegate () foo = (){ asm{ int 3; }};

This is segfaulting in iasm.c (line 4269 in DMD2).
if( sc->func->type->nextOf()->isScalar()) // segfaults here: nextOf() is null.

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


[Issue 3169] Segfault(cast.c) dividing ulong by int

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3169


Don  changed:

   What|Removed |Added

 CC||clugd...@yahoo.com.au
Summary|ICE dividing ulong by int   |Segfault(cast.c) dividing
   ||ulong by int




--- Comment #1 from Don   2009-07-20 00:35:25 PDT ---
This is crashing with a div-by-zero error when calling getIntRange().

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


[Issue 3172] compile-time floating point exception when compiling this 4-line code.

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3172


Don  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||clugd...@yahoo.com.au
 Resolution||DUPLICATE




--- Comment #1 from Don   2009-07-20 00:37:38 PDT ---
This is the same as 3169, it is crashing in the same place for the same reason.

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

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


[Issue 3169] Segfault(cast.c) dividing ulong by int

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3169


Don  changed:

   What|Removed |Added

 CC||ac...@free.fr




--- Comment #2 from Don   2009-07-20 00:37:38 PDT ---
*** Issue 3172 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 3192] Segfault(iasm.c) asm in a anonymous delegate

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3192


Don  changed:

   What|Removed |Added

   Keywords||patch




--- Comment #2 from Don   2009-07-20 00:50:55 PDT ---
This patch is enough to fix the segfault, and allow the code to compile. I'm
not sure if it's correct that nextOf() is null, though -- there may be a deeper
problem here.

iasm.c line 4269. (in Statement *AsmStatement::semantic(Scope *sc)):

asmstate.bReturnax = 1;
-if (sc->func->type->nextOf()->isscalar())
+if (sc->func->type->nextOf() && sc->func->type->nextOf()->isscalar())
asmstate.bReturnax = 0;

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


[Issue 3192] Segfault(iasm.c) asm in a anonymous delegate

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3192


Walter Bright  changed:

   What|Removed |Added

 CC||bugzi...@digitalmars.com




--- Comment #3 from Walter Bright   2009-07-20 
02:24:23 PDT ---
For inferring function return type, the nextOf() is null. That would be a
problem here, but we never use bReturnax anyway, so just #if out the code.

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


[Issue 3192] Segfault(iasm.c) asm in a anonymous delegate

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3192





--- Comment #4 from Don   2009-07-20 02:38:02 PDT ---
(In reply to comment #3)
> For inferring function return type, the nextOf() is null.

It'd be great if you could put that in a comment in the definition of nextOf().
I'd never been sure when it's supposed to be non-null, it's one of the least
obvious things in the code. Should it become non-null in a later semantic pass?

Also a comment about the cto, ito, sto members of type would be really useful.
When should they be non-null?
In a great many of the compiler bugs I've looked at, they're null, but I've not
been sure whether the bug is that they're null, or that other code is not
dealing with the case that they're null.

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


[Issue 3042] Segfault on incorrect override

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3042


Don  changed:

   What|Removed |Added

   Keywords||patch
 CC||clugd...@yahoo.com.au




--- Comment #1 from Don   2009-07-20 02:58:08 PDT ---

mtype.c, 3699 in DMD2.031. Crashing because t1->next is null.

Type *t1n = t1->next;
Type *t2n = t2->next;
+   if (!t1n || !t2n) goto Lnotcovariant;

if (t1n->equals(t2n))
goto Lcovariant;

---
It might be appealing to "return 3;" instead of "goto Lnotcovariant; (which
returns 2)", but that's incorrect. The code below should be accepted:

class Base {
int str();
}
class Derived : Base {
auto str() {
return 3;
}
}

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


Re: [Issue 3192] Segfault(iasm.c) asm in a anonymous delegate

2009-07-20 Thread Walter Bright

I'll put some comments in.


[Issue 3193] New: Wrong processing by DMD.exe of Russian Windows-1251 character set: "invalid UTF-8 sequence"

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3193

   Summary: Wrong processing by DMD.exe of Russian Windows-1251
character set: "invalid UTF-8 sequence"
   Product: D
   Version: unspecified
  Platform: x86
   URL: http://picasaweb.google.ru/ohalzov/DBugs#
OS/Version: Windows
Status: NEW
  Keywords: diagnostic, wrong-code
  Severity: critical
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: o...@mail.ru


If you compile hello.d example with Russian Win1251 charecters in this line:
 printf("Привет, D!\n");
dmd.exe reports an error:
D:\Apps\Prog_D\dmd\samples\d>dmd hello.d
hello.d(5): invalid UTF-8 sequence
hello.d(5): invalid UTF-8 sequence
hello.d(5): invalid UTF-8 sequence
hello.d(5): invalid UTF-8 sequence
hello.d(5): invalid UTF-8 sequence
hello.d(5): invalid UTF-8 sequence
If you save hello.d in UTF-8, then anyway dmd.exe compiles it wrong (see http
link).

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


[Issue 3193] Wrong processing by DMD.exe of Russian Windows-1251 character set: "invalid UTF-8 sequence"

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3193


Jarrett Billingsley  changed:

   What|Removed |Added

 CC||jarrett.billings...@gmail.c
   ||om




--- Comment #1 from Jarrett Billingsley   
2009-07-20 06:09:18 PDT ---
The compiler does not understand Windows-1251, so this is according to spec.

However, you say the compiler compiles it wrong if it's in UTF-8; where's the
link?

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


[Issue 3193] Wrong processing by DMD.exe of Russian Windows-1251 character set: "invalid UTF-8 sequence"

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3193





--- Comment #2 from Oleg Halzov   2009-07-20 06:13:25 PDT ---
Created an attachment (id=428)
 --> (http://d.puremagic.com/issues/attachment.cgi?id=428)
This screenshot is from Chris Miller

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


[Issue 3193] Wrong processing by DMD.exe of Russian Windows-1251 character set: "invalid UTF-8 sequence"

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3193





--- Comment #3 from Jarrett Billingsley   
2009-07-20 07:52:38 PDT ---
Sorry, this is invalid.  To solve this, you have to do the following:

1) Set cmd.exe's font to Lucida Console.
2) Execute 'chcp 65001'.

Then run your program.

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


[Issue 3193] Wrong processing by DMD.exe of Russian Windows-1251 character set: "invalid UTF-8 sequence"

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3193





--- Comment #4 from Jarrett Billingsley   
2009-07-20 07:53:22 PDT ---
Created an attachment (id=429)
 --> (http://d.puremagic.com/issues/attachment.cgi?id=429)
Correct Russian output

Here's an image that shows it working properly.

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


[Issue 814] lazy argument + variadic arguments = segfault

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=814


Don  changed:

   What|Removed |Added

   Keywords||patch




--- Comment #4 from Don   2009-07-20 08:03:56 PDT ---
PATCH: func.c, line 1211. Need to account for a lazy last parameter.


-offset = p->type->size();
+if (p->storage_class & STClazy) {
+// If the last parameter is lazy, it's the size of a delegate
+offset = sizeof(int(*)(int)) + sizeof(void *);
+} else {
+offset = p->type->size();
+}

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


[Issue 3193] Wrong processing by DMD.exe of Russian Windows-1251 character set: "invalid UTF-8 sequence"

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3193


Matti Niemenmaa  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||INVALID




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


[Issue 3194] New: invariant should be checked at the beginning and end of protected functions

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3194

   Summary: invariant should be checked at the beginning and end
of protected functions
   Product: D
   Version: unspecified
  Platform: Other
OS/Version: Linux
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: and...@metalanguage.com


Consider:

class A
{
invariant() { ... }
public void f() { ... }
protected void g() { ... }
}

Currently invariant is called at the beginning and end of each public function,
the end of the constructor, and the beginning of the destructor. Scott Meyers
pointed out to a quite known fact - protected is much closer to public than to
private in terms of offering access control. This is because anyone can just
inherit from a class and call protected methods, or even wrap them in public
methods.

Consequently, it looks like the invariant of a class must also hold upon entry
and exit of all protected methods.

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


[Issue 3195] New: `std.conv` pureness

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3195

   Summary: `std.conv` pureness
   Product: D
   Version: future
  Platform: All
OS/Version: All
Status: NEW
  Severity: enhancement
  Priority: P2
 Component: Phobos
AssignedTo: nob...@puremagic.com
ReportedBy: jul...@onandon.be


Hello,

 shouldn't most `std.conv` methods be declared pure ?

Cordially,
Julian.

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


[Issue 3195] `std.conv` pureness

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3195


Andrei Alexandrescu  changed:

   What|Removed |Added

 Status|NEW |ASSIGNED
 CC||and...@metalanguage.com
 AssignedTo|nob...@puremagic.com|and...@metalanguage.com




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


[Issue 3196] New: Bad struct declaration before a anonymous delegate within the parameter list show a segment fault

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3196

   Summary: Bad struct declaration before a anonymous delegate
within the parameter list show a segment fault
   Product: D
   Version: 2.031
  Platform: x86
OS/Version: All
Status: NEW
  Severity: normal
  Priority: P2
 Component: DMD
AssignedTo: nob...@puremagic.com
ReportedBy: li...@yahoo.com.cn


Try this on both linux and windows with dmd 2.031 give me a segment fault
because of a null pointer reference.

struct Foo {
}

void foo (Foo b, void delegate ()) {
}

void main () {
foo(Foo(1), (){});
}

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


[Issue 3178] std.date.localTZA never initialised

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3178


MIURA Masahiro  changed:

   What|Removed |Added

 CC||echocham...@gmail.com




--- Comment #1 from MIURA Masahiro   2009-07-20 18:20:45 
PDT ---
Already reported in 2965, only on Linux though.

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


[Issue 2965] std.date: timezone not initialized

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=2965


Brad Roberts  changed:

   What|Removed |Added

 CC||johnch_a...@hotmail.com




--- Comment #1 from Brad Roberts   2009-07-20 19:22:47 
PDT ---
*** Issue 3178 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 3178] std.date.localTZA never initialised

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3178


Brad Roberts  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 CC||bra...@puremagic.com
 Resolution||DUPLICATE




--- Comment #2 from Brad Roberts   2009-07-20 19:22:47 
PDT ---


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

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


[Issue 3193] Wrong processing by DMD.exe of Russian Windows-1251 character set: "invalid UTF-8 sequence"

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3193


Oleg Halzov  changed:

   What|Removed |Added

 Status|RESOLVED|REOPENED
 Resolution|INVALID |




--- Comment #5 from Oleg Halzov   2009-07-20 22:28:13 PDT ---
But Jarrett, almost everybody who codes in Russian needs Windows-1251 codepage
by default. If we need to compile small program and we don't have robist IDE we
use notapad.exe (or something like this) that saves  Russian text in
Windows-1251.
And nobody will be changing his dafault font in "Command Prompt" to Lucida
Console only for my small program - I swear you!
Any other compilers (Pascal, C, C++) understand that the Russian text in
Windows is in Windows-1251! Currently I dont have any good editor for D whare I
can normally edit Russian texts in UTF-8. Entice Designer has a bug confirmed
by Chris Miller - you cannot enter Russian text, only copy and paste.
Therefore if you build a D compiler for Win32 platform, you have make it work
with widely used regional codepages.  Because the entire world is not English
only and fully not UTF-8!

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


[Issue 3193] Support Windows-1251 as a source encoding

2009-07-20 Thread d-bugmail
http://d.puremagic.com/issues/show_bug.cgi?id=3193


Jarrett Billingsley  changed:

   What|Removed |Added

   Keywords|diagnostic, wrong-code  |
Summary|Wrong processing by DMD.exe |Support Windows-1251 as a
   |of Russian Windows-1251 |source encoding
   |character set: "invalid |
   |UTF-8 sequence" |
   Severity|critical|enhancement




--- Comment #6 from Jarrett Billingsley   
2009-07-20 23:11:34 PDT ---
What you're basically asking for is an enhancement.  I'm sorry, but that's the
way it works.

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