Christian Kamm
265cbea170
Make == for associative arrays test for equality, not identity.
...
_aaEq was added to runtime/internal/aaA.d which forwards to
TypeInfo_AssociativeArray.equals in genobj.d. On the codegen side, DtoAAEquals
was added to gen/aa.cpp and is called from EqualExp::toElem in gen/toir.cpp.
I assume that the frontend will produce an error if == is used on associative
arrays of different type.
This fixes DMD bug 1429.
2009-06-21 19:05:24 +02:00
Frits van Bommel
46cd6504fa
Adjust some more code that was depending on the function and delegate calling
...
conventions being equal.
There's also an instance in `tango.text.convert.Layout` that should be adjusted:
{{{
Index: tango/text/convert/Layout.d
===================================================================
--- tango/text/convert/Layout.d (revision 4578)
+++ tango/text/convert/Layout.d (working copy)
-660,8 +660,12 @@
case TypeCode.STRUCT:
auto s = cast(TypeInfo_Struct) type;
- if (s.xtoString)
- return Utf.fromString8 (s.xtoString(p), result);
+ if (s.xtoString) {
+ char[] delegate() toString;
+ toString.ptr = p;
+ toString.funcptr = cast(char[] function()) s.xtoString;
+ return Utf.fromString8 (toString(), result);
+ }
goto default;
case TypeCode.INTERFACE:
}}}
2009-05-31 15:27:01 +02:00
Frits van Bommel
a517adb426
Adjust runtime for recent ABI change on x86-64, since member functions are no
...
longer equivalent to regular functions with `this` as their first argument.
(They weren't anyway, but it happened to work as long as there was no `sret`
parameter)
2009-05-31 14:27:01 +02:00
Tomas Lindquist Olsen
e8780d50e8
Merged DMD 1.045 !!!
2009-05-16 22:21:31 +02:00
Tomas Lindquist Olsen
0ab77de246
Increased a buffer size in TypeInfo_StaticArray from 10 to 20 to avoid assertion failures! Thanks LeoD.
2009-05-10 17:25:47 +02:00
Tomas Lindquist Olsen
ea2279b11a
Updated the interal runtime's ClassInfo type to match the one in object.di .
...
Runtime now compiles and runminitest is back to normal except for typeinfo10.d .
2009-04-17 02:54:16 +02:00
Christian Kamm
253e743d05
Apply fawzi's stacktracing update from #254 .
2009-04-05 15:02:44 +02:00
Christian Kamm
ef62f7965c
Bring FrameInfo definition up to date with recent Tango developments. Thanks fawzi!
2009-03-22 14:51:03 +01:00
Frits van Bommel
d1911d40d6
Fix some issues with fawzi's patch.
...
- It now actually compiles:
- import stdc.stdio for string formatting functions)
- remove extra '{'
- Use snprintf() instead of sprintf().
- Use return value from snprintf instead of strlen().
- Don't print the filename in Exception.writeOut() if it has zero length and
the line number is 0
(It would previously only skip these if the filename was null, but not if it
was a different empty string)
- Ignore empty filename + line number 0 in FrameInfo.writeOut() as well.
2009-03-18 15:33:19 +01:00
Frits van Bommel
e847f60fb1
Apply fawzi's patch from #235 .
...
This has some issues which are addressed in my next commit.
2009-03-18 15:20:07 +01:00
Tomas Lindquist Olsen
b6781a8eae
Added proper "need 'this' to access member foo" errors instead of "variable foo not resolved" for some cases, added FIXME for the old error!
...
Added a bit more information to the runtime's cyclic dependency detection exception.
2008-12-09 01:56:39 +01:00
Christian Kamm
b3b98c3284
Fix broken indentation from last commit.
2008-10-26 21:18:24 +01:00
Christian Kamm
d3bb0b74bd
Enable arg reversal on x86 by default. Make change to TypeInfo_Struct.compare to accomodate for it.
2008-10-26 21:16:21 +01:00
Christian Kamm
cfcda83291
Change _d_newclass into _d_allocclass. Add initialization to ClassInfo.create.
2008-10-26 14:12:03 +01:00
Christian Kamm
a3a418150e
Some missed LLVMDC -> LDC.
2008-10-06 22:54:08 +02:00
Tomas Lindquist Olsen
07cfb67178
Removed tango from the repository and instead added a runtime dir with the files needed to patch and build tango from svn.
...
Reworked the LLVMDC specific pragmas.
2008-08-01 00:32:06 +02:00