Jump to page: 1 24  
Page
Thread overview
DMD 1.004 release
Jan 27, 2007
Walter Bright
Jan 27, 2007
Chris Miller
Jan 27, 2007
Bill Baxter
Jan 27, 2007
Chris Miller
Jan 27, 2007
Walter Bright
Jan 27, 2007
Bill Baxter
Jan 27, 2007
Walter Bright
Jan 27, 2007
Vladimir
Jan 27, 2007
Frits van Bommel
Jan 28, 2007
Bob W
Jan 28, 2007
Walter Bright
Jan 28, 2007
Thomas Kuehne
Jan 28, 2007
Walter Bright
Jan 28, 2007
Brad Roberts
Jan 28, 2007
Walter Bright
Jan 29, 2007
Leandro Lucarella
Jan 28, 2007
Thomas Kuehne
Jan 28, 2007
Daniel Kos
Jan 29, 2007
Leandro Lucarella
Jan 28, 2007
Kevin Bealer
Feb 01, 2007
Luís Marques
Jan 27, 2007
Bob W
Jan 27, 2007
Jordan Miner
Jan 27, 2007
Walter Bright
Jan 28, 2007
Jeff Nowakowski
Jan 28, 2007
Sean Kelly
Jan 28, 2007
Jordan Miner
Jan 28, 2007
Lionello Lunesu
Jan 28, 2007
renoX
Jan 28, 2007
Lionello Lunesu
Jan 28, 2007
Brad Roberts
Jan 28, 2007
Derek Parnell
Jan 28, 2007
Andrey Khropov
January 27, 2007
Fixes mixin gc bug.

http://www.digitalmars.com/d/changelog.html

http://ftp.digitalmars.com/dmd.1.004.zip
January 27, 2007
Changelog need update?
January 27, 2007
Walter Bright wrote:
> Fixes mixin gc bug.
> 
> http://www.digitalmars.com/d/changelog.html
> 
> http://ftp.digitalmars.com/dmd.1.004.zip

Amazing turnaround time!
But no dice.  The bug may be fixed but I can't tell because I get:

> Assertion failure: 'classinfo->structsize == CLASSINFO_SIZE' on line  316 in file 'toobj.c'
> abnormal program termination

when I try to compile.

--bb
January 27, 2007
On Fri, 26 Jan 2007 23:58:56 -0500, Bill Baxter <dnewsgroup@billbaxter.com> wrote:

> Walter Bright wrote:
>> Fixes mixin gc bug.
>>  http://www.digitalmars.com/d/changelog.html
>>  http://ftp.digitalmars.com/dmd.1.004.zip
>
> Amazing turnaround time!
> But no dice.  The bug may be fixed but I can't tell because I get:
>
>  > Assertion failure: 'classinfo->structsize == CLASSINFO_SIZE' on line   316 in file 'toobj.c'
>  > abnormal program termination
>
> when I try to compile.
>
> --bb


Yep, I tracked it down to simply this:

class MyException: Exception
{
	///
	this(char[] msg)
	{
		super(msg);
	}
}

Assertion failure: 'classinfo->structsize == CLASSINFO_SIZE' on line 316 in file
 'toobj.c'

January 27, 2007
Bill Baxter wrote:
>  > Assertion failure: 'classinfo->structsize == CLASSINFO_SIZE' on line  316 in file 'toobj.c'
>  > abnormal program termination
> 
> when I try to compile.

Oops, uploaded the wrong file. Try again.
January 27, 2007
Walter Bright wrote:
> Bill Baxter wrote:
>>  > Assertion failure: 'classinfo->structsize == CLASSINFO_SIZE' on line  316 in file 'toobj.c'
>>  > abnormal program termination
>>
>> when I try to compile.
> 
> Oops, uploaded the wrong file. Try again.

Yay!  All happy now.

--bb
January 27, 2007
Bill Baxter wrote:
> Walter Bright wrote:
>> Bill Baxter wrote:
>>>  > Assertion failure: 'classinfo->structsize == CLASSINFO_SIZE' on line  316 in file 'toobj.c'
>>>  > abnormal program termination
>>>
>>> when I try to compile.
>>
>> Oops, uploaded the wrong file. Try again.
> 
> Yay!  All happy now.

I've automated much of the process of creating an update, but there's still maddening places where I can overlook something.
January 27, 2007
"Walter Bright" <newshound@digitalmars.com> wrote in message news:epekud$128$1@digitaldaemon.com...
> Fixes mixin gc bug.
>
> http://www.digitalmars.com/d/changelog.html
>
> http://ftp.digitalmars.com/dmd.1.004.zip


Still another one mixin bug - causes dmd to crash.
(dmd versions: 1.00, 1.002, 1.004)

Tried to simplify it as much as I could:

template Mix() {
  int  i;
}

struct Z {  //  use unions or structs ...
  union { mixin Mix; }  // ... both cause dmd to crash
};



January 27, 2007
Walter Bright wrote:
> I've automated much of the process of creating an update, but there's still maddening places where I can overlook something.

Please also automate synchronization of std.compiler.version_* constants

vladimir
January 27, 2007
Here is a problem I've found in post-1.00 versions.
I have this unittest in my library:

unittest {
	char[] c = "Computer";
	ArrayCopy!(char)(c, 3, c, 2, 4);
	assert(c == "Coputeer");
	c = "Computer";
	ArrayCopy!(char)(c, 2, c, 3, 4);
	assert(c == "Commputr");
}

I have not changed the ArrayCopy function for months and when I updated from 1.00, the second assert started failing. After some work, I tracked down the problem.
This line:
	c = "Computer";
is not doing anything. I put printf(c) right after that assignment, and it prints "Coputeer".
I didn't test 1.002, but it is broken in 1.001, 1.003, and 1.004.
(I love built-in unittests)



The ArrayCopy function:

void ArrayCopy(T)(T[] srcData, uint srcStart, T[] destData, uint destStart, uint length) {
	if((srcData is destData && srcStart == destStart) || length == 0)
		return;
	if(srcStart > destStart) {
		//copy forward
		for(int i = 0; i < length; ++i)
		  destData[destStart + i] = srcData[srcStart + i];
	} else {
		//copy reverse
		for(int i = length-1; i >= 0; --i)
			destData[destStart + i] = srcData[srcStart + i];
	}
}

« First   ‹ Prev
1 2 3 4