Alexey Prokhin
553d5518b3
Implemented casting of a global variable to a pointer in an initializer. Implemented adding to a pointer in an initializer
2011-01-08 13:01:54 +03:00
Alexey Prokhin
cbd0296328
Implemented CommaExp::cacheLvalue(). Fixed CallExp::chackLvalue().
2011-01-06 19:41:54 +03:00
Alexey Prokhin
c5e9784863
Updated to dmdfe 2.051
2011-01-05 18:21:40 +03:00
Alexey Prokhin
1c59eed83a
Check for lower slice bound when bounds checking is enabled
2011-01-03 16:50:08 +03:00
Alexey Prokhin
fd52810f1a
Fixed initialization of static arrays
2011-01-03 16:50:08 +03:00
Alexey Prokhin
47239d9058
Work on support for variadic arguments. Updated headers in druntime/import.
2011-01-02 19:14:52 +03:00
Alexey Prokhin
4b34601a79
Make sure that a l-value of a binassign expressions is only evaluated once.
2011-01-02 17:38:40 +03:00
Alexey Prokhin
023b55a772
Run postblit constructors for elements of an array.
2010-12-30 14:04:24 +03:00
Alexey Prokhin
fbbb832187
Added suppport for custom allocators for structs.
2010-12-19 13:02:09 +03:00
Alexey Prokhin
e7c880cd08
Store the right context frame in nested structs and classes.
2010-12-19 12:13:00 +03:00
Alexey Prokhin
7e6807b0df
Fixed calling of _d_delmemory() and _d_delinterface()
2010-12-17 12:55:28 +03:00
Alexey Prokhin
349a6c1c3f
Fixed calling of final methods of interfaces
2010-12-17 12:55:28 +03:00
Alexey Prokhin
bb644d5c91
Fix for delegates.
...
The following code works correctly now:
auto dg = &super.virtualFunc();
2010-12-15 21:47:22 +03:00
Alexey Prokhin
c47bfbcc32
Implemented mod operator for complex numbers
2010-12-15 20:30:38 +03:00
Alexey Prokhin
6d22dd7999
Updated to 2.050
2010-11-08 16:55:35 +03:00
Alexey Prokhin
59d1ec5e0b
Another fix for nested context in structs.
2010-11-05 11:55:23 +03:00
Alexey Prokhin
20b2b4b7f5
Added missing calls of postBlit
2010-11-04 12:50:19 +03:00
Alexey Prokhin
d7047f639e
Rehash associative array right after its creating (DMD seems to be doing the same)
2010-11-03 19:46:19 +03:00
Alexey Prokhin
3943b2866b
Fixed nested context for delegates initialized in structs and classes
2010-11-02 13:22:19 +03:00
Alexey Prokhin
2fe8635e5a
Struct constructors are supported now
2010-11-02 13:22:10 +03:00
Alexey Prokhin
360a99caa9
Resolving nested context for structs.
...
* * *
Another fix for nested structs
* * *
Yet another fix for nested structs
2010-11-02 13:21:36 +03:00
Alexey Prokhin
e3afcf8a8d
Workaround for a bug in llvm 2.8 which appears only when all optimizations are off
2010-11-02 13:20:21 +03:00
Alexey Prokhin
24c92d3a7c
CallExp::cacheLvalue is back
2010-10-30 20:51:31 +04:00
Eldar Insafutdinov
f95fa16f58
fix compile errors
2010-10-29 22:58:11 +01:00
Alexey Prokhin
e4c3179d43
Different fixes: phobos compiles now
2010-10-28 14:53:01 +04:00
Alexey Prokhin
b1e5993873
Started work on phobos
2010-10-27 18:13:46 +04:00
Alexey Prokhin
4d7a6eda23
Different fixes for d2
2010-10-07 22:35:32 +04:00
Moritz Warning
c151d37365
fixes #434 :: add llvm 2.8 support
2010-10-23 13:38:26 +02:00
Kelly Wilson
b38845e88e
Apply patch from klickverbot. This is his 'proper fix' patch for bug #395 .
2010-03-08 23:37:40 -07:00
Christian Kamm
9cd32549c4
Improve array append performance.
...
Actually use the appropriate runtime function, instead of just
growing the array by one!
2010-02-14 10:11:05 +01:00
Robert Clipsham
98e869c7ec
Fixed DStress tests nocompile/c/{const_32_B.d,const_32_C.d}.
...
Updated the runtest script to build libtangobos-partial.a if it hasn't already been built.
Added in signbit() and va_arg!()() to libtangobos-partial.a so more of the phobos dependent DStress tests pass.
2009-11-08 16:16:17 +00:00
Moritz Warning
b7c0c9e25e
allow forward referencing, fix #361
2009-09-09 20:13:17 +02:00
Benjamin Kramer
d24643bb50
Avoid some unecessary heap allocations by using llvm's StringRef class.
2009-08-14 01:43:30 +02:00
Benjamin Kramer
c220dcac05
IntegerType is now contextifed.
...
Requires llvm >= 78969. resistor says this will be the last context API change :)
2009-08-14 00:39:18 +02:00
Benjamin Kramer
977fa551ee
Push the context through StructType::get.
...
Requires LLVM >= 78258. Also remove old #if's.
2009-08-06 01:47:39 +02:00
Tomas Lindquist Olsen
84f820b442
Added framework for writing a static printf call checker for bearophile to implement.
2009-08-06 16:52:43 +02:00
Benjamin Kramer
4c5457ba61
getNullValue is in Constant again
...
Requires LLVM >= r77721
2009-07-31 23:01:29 +02:00
Benjamin Kramer
0a1d467ac7
getTrue/getFalse were moved back to ConstantInt
...
Requires LLVM >= r77685
2009-07-31 19:11:07 +02:00
Benjamin Kramer
652a4b39c0
ConstantAggregateZero moved back to LLVM 2.5-style API
...
Requires LLVM >= 77635
2009-07-31 01:16:30 +02:00
Benjamin Kramer
66101517d7
LLVMContext changes up to r77366
2009-07-30 15:25:10 +02:00
Benjamin Kramer
a398cd39b3
ConstantInt::get{True,False} moved to LLVMContext
...
Non-breaking build fix for LLVM r76533. Also fixes a context related
bug in GarbageCollect2Stack.
2009-07-21 13:11:39 +02:00
Benjamin Kramer
d7049de966
More factory methods moved to LLVMContext
2009-07-15 18:09:41 +02:00
Benjamin Kramer
0ee2f34611
Don't use llvm::getGlobalContext() anymore
2009-07-13 20:16:15 +02:00
Benjamin Kramer
331319dab1
Build fix for the latest LLVMContext changes (LLVM r75445)
...
This shouldn't break the build with older LLVM revs. We include
LLVMContext.h in gen/llvm.h now to make the transition a little bit
easier.
2009-07-13 12:17:58 +02:00
Christian Kamm
756a2cb2a1
Adjust LDC to work with the LLVMContext LLVM changes.
...
This means we now require a fairly new LLVM revision. I use 75234.
2009-07-10 21:30:02 +02:00
Christian Kamm
5658d9bb38
Emit file and line info for 'Array operation ... not recognized' error.
...
Fixes #326 .
2009-06-22 19:31:25 +02:00
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
62dee01d35
Implement equality comparison for associative arrays. The semantics aren't in
...
the spec, but DMD does a simple pointer comparison. Complaints about this go to
http://d.puremagic.com/issues/show_bug.cgi?id=1429 :P.
2009-06-21 00:12:29 +02:00
Christian Kamm
7dbe9baa37
Made is and !is use the same numeric comparison as == and !=, fixes #328
...
Factored out common code from EqualExp and IdentityExp into
DtoBinNumericEquals in binexp.cpp.
2009-06-16 23:00:27 +02:00
Christian Kamm
e54d75354c
Cannot take the address of a slice or struct literal as a constant expression.
2009-06-14 12:27:51 +02:00