Commit Graph

3287 Commits

Author SHA1 Message Date
David Nadlinger
21a05aa971 Merge branch 'default' into 'merge'. 2011-07-29 00:37:30 +02:00
David Nadlinger
618051022f Fixed crash in DtoCreateNestedContextType().
In some cases, like the following, DtoDeclareFunction() hasn't already been called when DtoCreateNestedContextType() is invoked. This seems to have been anticipated when the function was originally written, but DtoDeclareFunction() was previously called after the ir func was already accessed in fd->ir.irFunc->nestedContextCreated.

---
void main() {
  mixin({
    string foo() {
      return "";
    }

    string bar()() {
      return foo();
    }

    return bar();
  }());
}
---
2011-07-28 23:17:20 +02: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
David Nadlinger
15c5316e26 Prevent two function with same mangled name but different types from being declared.
Previously, LDC would crash in the backend due to the fact that the IR is typed in such cases (we recently had such an instance with Tango, where an extern( C ) function was declared once with int and once with size_t).
2011-07-27 23:01:22 +02:00
Alexey Prokhin
71a0a968ef Fixed #6 2011-07-26 09:48:10 +04:00
Alexey Prokhin
a41b822420 Fixed ldc1 compilation 2011-07-26 09:30:36 +04:00
Alexey Prokhin
46c241009d Fixed a segfault when compiling fail_compilation/fail105.d 2011-07-23 14:06:59 +04:00
Alexey Prokhin
457f4dffbe ICE involving pointers 2011-07-23 13:19:51 +04:00
Alexey Prokhin
213524bc61 CTFE: fixed calling of invariant from a constructor 2011-07-22 22:22:06 +04:00
Alexey Prokhin
ed84a21462 Fixed try/finally statements inside another finally 2011-07-22 19:44:16 +04:00
Alexey Prokhin
ac2e7b033b Fixed compilation of lifetime.d 2011-07-22 12:51:23 +04:00
Alexey Prokhin
79edefdc37 Fixed compilation of functions that does not have return statement but contain inline asm 2011-07-19 22:22:49 +04:00
Alexey Prokhin
06baaacdc0 Fixed an undefined reference if a postblit is annotated with @disabled 2011-07-19 20:20:00 +04:00
Alexey Prokhin
6576b68dfd Added empty ImportStatement::toIR(). That fixes import from a function 2011-07-19 20:02:39 +04:00
Alexey Prokhin
4cc10019ee Fixed an assertion in DtoType() 2011-07-19 19:58:38 +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
f97fd92433 Fixed compilation of test32() from runnable/template1 2011-07-19 19:42:41 +04:00
Alexey Prokhin
ce799e9974 Fixed postblit call 2011-07-19 19:20:43 +04:00
Alexey Prokhin
2cc34c4005 Call desctructors on temporary variables 2011-07-19 19:20:42 +04:00
Alexey Prokhin
3c7490e446 Removed compiler warning 2011-07-19 19:20:40 +04:00
Alexey Prokhin
2220dd0559 'even' opcode on x86_64 2011-07-19 19:20:40 +04:00
Alexey Prokhin
c470a715a0 DMD issue 1570 - Wrong return for address operator 2011-07-19 19:20:39 +04:00
Alexey Prokhin
7a31b599cc Updated to dmdfe 2.054 2011-07-19 19:20:38 +04:00
Alexey Prokhin
99f5a73125 Allow nonconstants in associative array initializers 2011-07-19 10:14:15 +04:00
Alexey Prokhin
bb2676dbe3 Fix unresolved symbol in the runnable/mixin2 test 2011-07-19 10:14:14 +04:00
Alexey Prokhin
596aad3738 DMD issue 3086 - TypeInfo opEquals returns incorrect results 2011-07-19 10:14:13 +04:00
Alexey Prokhin
aef7e0ee36 Fix array append with dollar op 2011-07-19 10:14:12 +04:00
Alexey Prokhin
4210f4285a Fixed a few interpret regressions 2011-07-19 10:14:11 +04:00
Alexey Prokhin
462cdda4ae Merge dmdfe 2.053beta 2011-07-19 10:14:04 +04:00
Alexey Prokhin
928fa9c4de Created branch 'merge' 2011-07-26 09:07:04 +04:00
Moritz Warning
b122315f2f set used LLVM version to 2.9 2011-06-15 19:16:50 +02:00
Alexey Prokhin
f3bf9fd277 Improve _d_arrayappendT call 2011-05-11 21:13:43 +04:00
Kelly Wilson
5d0f918e9e Fix cmpxchg16b instruction for asm blocks. Thanks to wolfwood from the Xomb project for this fix. 2011-05-05 20:56:46 -06:00
Moritz Warning
5824fe4da7 fixes #450 :: real inside a class breaks interface casting on x86_64; patch by prokhin_alexey 2011-05-01 20:05:49 +02:00
David Nadlinger
882e81ec1c Explicitly add %st as second argument to fucomip.
It should really be assumed implicitly, but the GNU as shipping with Mac OS X 10.6 (Apple Inc version cctools-800~26, GNU assembler version 1.38) chokes on the instruction otherwise.
2011-05-01 01:16:36 +02:00
Alexey Prokhin
3a0dfac597 Fix file paths in debug info 2011-04-30 17:35:40 +04:00
Alexey Prokhin
316e3b6fe7 That should really be in rev.1954 2011-04-30 17:35:35 +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
Alexey Prokhin
805fb5cfc1 D2: pass static arrays into functions by value 2011-04-30 15:30:57 +04:00
Alexey Prokhin
069f0a6262 Merged changes in TypeDArray::builtinTypeInfo() from dmdfe. 2011-04-30 15:30:57 +04:00
Alexey Prokhin
f351084089 Fix #408: Exception not caught for -inline. Thanks, lindquist, for your hint. 2011-04-30 15:30:57 +04:00
Alexey Prokhin
6bc2431b6b Skip unittests in imported modules 2011-04-30 15:30:57 +04:00
Alexey Prokhin
7070239e7d Temporary fix for inlining 2011-04-30 15:30:57 +04:00
Alexey Prokhin
73e498ace1 Do not use internal linkage for a function nested in a small function that can be inlined from other modules 2011-04-30 15:30:57 +04:00
Kelly Wilson
9e5b0e79e2 Fix up ldc.conf to reflect newer naming convention for tango lib. 2011-04-26 09:16:33 -06: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
David Nadlinger
009ce6e161 Avoid switch warning in irtype.cpp. 2011-04-24 11:41:41 +02:00
David Nadlinger
8f5f93057c Changed DtoResolveNestedContext() return type to void – it didn't even have a return statement! 2011-04-24 11:39:53 +02:00
David Nadlinger
ca76012343 Add header files to CMake build.
This way, they will be available in IDE project files generated via CMake.
2011-04-24 11:36:09 +02:00