Commit graph

331 commits

Author SHA1 Message Date
Alexey Prokhin
e74e55df89 Merge 2.058beta 2012-02-15 13:23:16 +04:00
Alexey Prokhin
e0dc95052b Check count of arguments passed to ldc specific intrinsics 2012-02-15 13:16:34 +04:00
Alexey Prokhin
f237d85af0 Implemented bt/btc/btr/bts intrinsics 2012-02-15 13:16:34 +04:00
Alexey Prokhin
4d3ba3594c Refactoring: moved ldc specific code from dmd/attrib.c and dmd2/attrib.c into gen/pragma.cpp 2012-02-15 13:16:06 +04:00
Alexey Prokhin
81082996e1 Fixed issue #68 — ICE on Associative Array Of Delegate Literals 2012-01-29 14:06:58 +04:00
Alexey Prokhin
b41688a0b8 DMD Issue 6859 - Segfault when abstract method uses with contract. 2011-12-16 20:15:31 +04:00
Alexey Prokhin
edc4a5f003 DMD Issue 5416 - null should have a type of its own 2011-12-16 20:15:10 +04:00
Alexey Prokhin
2980f703b1 Fixed #35 — ICE: postfix operation on typedef'd value 2011-12-05 13:09:10 +04:00
Alexey Prokhin
4b22221eb9 Fixed #34 - StructType::setBody assert isOpaque() failed 2011-12-05 13:07:13 +04:00
Alexey Prokhin
cd732537e8 Fixed atomic_store and atomic_load instrinsics 2011-12-04 16:05:48 +04:00
Alexey Prokhin
b8721a8515 Emit debug info for variables that are used in nested functions 2011-12-03 23:45:58 +04:00
Alexey Prokhin
1f3d9b98d0 Removed old hack for llvm 2.8, it is not required anymore 2011-12-03 14:20:54 +04:00
Alexey Prokhin
014d6bdd4d Merged 2.056 2011-12-02 21:50:52 +04:00
kai
a5b3dd29b5 Fixes 2 kinds of warnings.
1) The last parameter of getGetElementPtr() has type bool. In some instances, a 2 is used as parameter. This is converted to true.
2) Several loops use int instead of unsigned. This causes warning about signed/unsigned mismatch.

Curiously, only Visual C++ complains about this. Nevertheless I think that the warnings should be fixed.
2011-11-23 19:01:04 +01:00
Alexey Prokhin
6ef7ee6d32 Unimplemented toConstElem is not a fatal error if errors are gagged.
Because ldc uses gagging to check whether an expression is constant.
2011-11-01 14:35:28 +04:00
Alexey Prokhin
b52c224d57 Merge v2.056 2011-11-01 11:44:03 +04:00
Alexey Prokhin
7431d58702 Rewritten initialization of global variables. 2011-10-25 15:43:49 +04:00
Alexey Prokhin
45426ca60d Implemented atomic intrinsics for llvm 3.0
Unline older versions, llvm 3.0 provides atomic instructions, not intrinsics.
The patch wraps the instructions into intrinsics, so they will be accessible
from d code.
2011-10-25 15:43:49 +04:00
Alexey Prokhin
81426b8cc8 Fix DelegateExp::toElem return type 2011-10-25 15:43:49 +04:00
Alexey Prokhin
629f13929e WIP: port to llvm 3.0 2011-10-25 15:43:39 +04:00
Alexey Prokhin
4879a8bc17 Fixed initialization of nested structs 2011-09-13 21:01:39 +04:00
Alexey Prokhin
8f4a15c868 Fix ldc1 regressions 2011-09-10 13:24:29 +04:00
Alexey Prokhin
f3c901af9d Use _d_arraycatT to append an element to an array instead of reallocating the array 2011-09-10 13:23:47 +04:00
David Nadlinger
e397b29722 Fixed #448 for D2 and restored opOpAssign expression cache for D1.
When clearing the lvalue cache, the added-then-backed-out-then-added-back-for-D2-only code by Alexey permanently removed all casts from e1 (e1 is a member variable!), instead of only skipping them for the cachedLvalue assignment.
2011-07-28 23:10:22 +02:00
Alexey Prokhin
46c241009d Fixed a segfault when compiling fail_compilation/fail105.d 2011-07-23 14:06:59 +04:00
Alexey Prokhin
edd1ed5b09 DMD issue 693 & 5946 - Allow using 'this' for alias template parameter 2011-07-19 19:43:05 +04:00
Alexey Prokhin
2cc34c4005 Call desctructors on temporary variables 2011-07-19 19:20:42 +04:00
Alexey Prokhin
c470a715a0 DMD issue 1570 - Wrong return for address operator 2011-07-19 19:20:39 +04:00
Alexey Prokhin
99f5a73125 Allow nonconstants in associative array initializers 2011-07-19 10:14:15 +04:00
Alexey Prokhin
4210f4285a Fixed a few interpret regressions 2011-07-19 10:14:11 +04:00
Alexey Prokhin
6548ce2e79 Fix a crash in OrOrExp::toElem 2011-04-30 15:30:58 +04:00
Alexey Prokhin
8da0d673cf Rework vaarg support on X86_64 2011-04-30 15:30:57 +04:00
David Nadlinger
7a24e12736 Cleanup: Remove unused code in backend, silence some warnings.
This removed quite some clutter that has presumably piled up because LDC is seldom built with a lot of warnings enabled due to DMDFE.
2011-04-24 12:21:33 +02:00
Alexey Prokhin
6d89bfa961 Use _d_assocarrayliteralTX to initialize associative arrays. Replace depricated _d_arrayappendcT() by _d_arrayappendcTX(). Make sure that a l-value of a binassign expressions is only evaluated once (reapllied 1784 but only for D2) 2011-02-20 19:00:45 +03:00
Moritz Warning
ec2ea65977 revert 1784 2011-01-11 03:20:35 +01:00
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