Commit Graph

318 Commits

Author SHA1 Message Date
David Nadlinger
ffe37c4a62 Merge remote-tracking branch 'upstream/llvm3.0' 2011-11-12 19:51:30 +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
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