Commit Graph
167 Commits
Author SHA1 Message Date
Dan Sanduleac 2748cdaa88 Fix #49: Static arrays that don't fit in a register should be passed using byval 2012-06-05 02:52:25 +01:00
Alexey Prokhin 2f60c4dcda Codegen the try block before the catches and finally 2012-04-21 22:37:32 +04:00
Alexey Prokhin bca73ec8b9 Merged dmd 2.059beta 2012-04-05 15:30:00 +04:00
David Nadlinger 26e4f91cdc Respect struct packing when generating struct initializers.
Fixes issue #88.

Previously, invalid code would be generated in cases like the following:
---
align(1) struct Test {
    string str;
    int id;
}

Test test = {"asdf", 4};
---
2012-03-16 23:29:10 +01:00
Alexey Prokhin ae7f0ca7e7 Preliminary vector support 2012-02-16 14:42:23 +04:00
Alexey Prokhin 15a903580b Partial fix for #69 — LDC1 from master fails to build Tango.
Fixed regression that has been introduced in commit 9889067.
2012-01-29 12:32:13 +04:00
kai 6726b5da13 Compile LDC2 with VS2010 64bit (LDC changes only).
Contains all changes necessary to LDC specific source to compile LDC2 with VS2010. See https://github.com/D-Programming-Language/dmd/pull/516 for necessary changes to DMDFE.
2012-01-11 07:49:21 +01:00
Alexey Prokhin 43057c64ec Temporary fixes for #60 and #59 until ldc1 frontend is not updated to the latest version 2012-01-10 22:09:22 +04:00
Alexey Prokhin 0ab72a9ef2 Fixed #55 — Illegal instruction
Don't artificially set zero-length arrays to dimension 1.
2012-01-10 19:47:28 +04:00
Alexey Prokhin 9889067420 Fixed #53 — Assertion !isaStruct(t) 2012-01-10 19:46:32 +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 91f4e5d015 Added emission of dwarf lexical blocks.
Also, dropped support for DISABLE_DEBUG_INFO definition.
2011-12-04 15:34:35 +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 7431d58702 Rewritten initialization of global variables. 2011-10-25 15:43:49 +04:00
Alexey Prokhin 0b159f635d Fix an assert in IrStruct::getClassInfoInterfaces() due to mismatched types 2011-10-25 15:43:49 +04:00
Alexey Prokhin aee896f85b Port exceptions to llvm 3.0 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 9a9999854f Named Return Value Optimization 2011-09-13 21:01:38 +04:00
Alexey Prokhin 0e754b5acd Merge dmd v2.055 2011-09-13 21:01:32 +04:00
Alexey Prokhin ed84a21462 Fixed try/finally statements inside another finally 2011-07-22 19:44:16 +04:00
Alexey Prokhin 99f5a73125 Allow nonconstants in associative array initializers 2011-07-19 10:14:15 +04:00
Alexey Prokhin 805fb5cfc1 D2: pass static arrays into functions by value 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
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
Kelly Wilson 72ea043124 Recommit klickverbot's patch for LLVM-2.9. 2011-04-20 09:28:37 -06:00
Kelly Wilson 7c81278b9c Backed out changeset 5253bfbb3890 2011-04-20 00:28:23 -06:00
Kelly Wilson b26b0f4196 Upgrade to LLVM-2.9. Thanks to David Nadlinger for the patch. 2011-04-19 21:57:15 -06:00
Alexey Prokhin 7f0ecdf7b9 More X86_64 ABI 2011-03-26 19:30:17 +03:00
Alexey Prokhin e921998d75 A few fixes for 64bit 2011-02-23 12:49:57 +03:00
Alexey Prokhin f0a183f0e8 Fix a crash when compiling a file which contains an immutable class declaration 2011-02-20 19:00:53 +03:00
Alexey Prokhin 6b6ba75139 Call _d_hidden_func() instead of hidden functions. 2010-12-31 13:29:01 +03:00
Alexey Prokhin eccd26ac93 Fixed crashes when compiling interpret test. 2010-12-17 12:55:28 +03:00
Alexey Prokhin 3eb6b5e8c8 Fixed a crash when compiling test runnable/A16. 2010-12-14 14:35:52 +03:00
Alexey Prokhin c3ea7b27c6 Work on debug 2010-12-14 14:35:48 +03:00
Alexey Prokhin 6d22dd7999 Updated to 2.050 2010-11-08 16:55:35 +03:00
Alexey Prokhin fd73072371 Fixed undefined references to methods without body. 2010-11-02 20:10:52 +03: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
Tomas Lindquist Olsen 1fac40d2bd Update to work with LLVM 2.7.
Removed use of dyn_cast, llvm no compiles
without exceptions and rtti by
default. We do need exceptions for the libconfig stuff, but rtti isn't
necessary (anymore).

Debug info needs to be rewritten, as in LLVM 2.7 the format has
completely changed. To have something to look at while rewriting, the
old code has been wrapped inside #ifndef DISABLE_DEBUG_INFO , this means
that you have to define this to compile at the moment.

Updated tango 0.99.9 patch to include updated EH runtime code, which is
needed for LLVM 2.7 as well.
2010-05-19 12:42:32 +02:00
Matti Niemenmaa e53b6a20f3 Allow unions with void-initialized members. 2009-09-13 22:15:33 +03:00
Tomas Lindquist Olsen 84a319ad23 Fixed issue in exception runtime with recent LLVM revisions, with this in place EH seems to work properly on x86-64. These fixes need to be merged into tango trunk still! 2009-10-21 05:46:56 +02:00
Benjamin Kramer 832f9a9c64 Fix bug #356. Our sorting function was wrong if a value was between two NULL pointers. 2009-08-22 11:45:20 +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 c69e5a5c83 Fixed compiling with llvm rev > 77732 2009-08-01 18:23:52 +02:00
Benjamin Kramer a75873da1c MDNode left the Context!
The changes are in #if LLVM_REV >= 77733 to make the dstress bot happy.
2009-07-31 23:53:06 +02:00
Benjamin Kramer 4c5457ba61 getNullValue is in Constant again
Requires LLVM >= r77721
2009-07-31 23:01:29 +02:00
Tomas Lindquist Olsen d5d3ecdb05 Added back option to disable metadata generation and users. Set USE_METADATA to OFF in ccmake. 2009-07-31 11:28:31 +02:00
Benjamin Kramer e34f07505b use the new NamedMDNode class
this will need a LLVM >= r77619
2009-07-30 20:54:03 +02:00