Commit Graph
3193 Commits
Author SHA1 Message Date
kai 3dd67a7631 Add more #if's around LDC specific code 2013-08-18 20:05:24 +02:00
kai c95de2ce69 Test case for issue #119 2013-08-18 19:49:50 +02:00
kai f769406216 Fix for issue #119.
Instead of creating individual stores to the array elements an constant
array is created and assigned to the destination memory. This is much
less IR than before. With -O it is optimized to a memset.
2013-08-18 19:36:58 +02:00
kai e24c76ec70 Add test case for issue #266 2013-08-18 13:51:57 +02:00
kai b1160c3d16 Fix for issue #440 2013-08-17 13:02:26 +02:00
kai 89f59b4eeb Fix an assertion error regarding void type with LLVM 3.4.
In Dwarf debug symbol generation the void type was modelled as
DIType(NULL). This triggers an assertion error with LLVM 3.4.
The solution is to use the unspecified type provided by Dwarf for
this purpose.
2013-08-11 22:16:48 +02:00
kai f4637b1c3d Minimize differences to DMD source. 2013-08-08 06:51:18 +02:00
kai 967b986629 Fix for issue #430 2013-08-05 21:36:02 +02:00
Kai Nacke 07cb4cca0d Merge pull request #434 from AlexeyProkhin/minimize-dmd-diff
Minimize dmd diff
2013-07-30 22:39:10 -07:00
Alexey Prokhin 54078eca66 Set global.params.isOS variables so we do not have to modify dmd frontend to use targetTriple 2013-07-29 18:49:09 +04:00
Alexey Prokhin fb31047dcd Prettify our C functions' signatures patch to have a chance to be included into dmd 2013-07-29 16:52:42 +04:00
Alexey Prokhin d45931972c Move Target implementation out of dmdfe 2013-07-29 11:18:25 +04:00
Alexey Prokhin 153febd093 Remove minor differences with upstream 2013-07-29 11:18:18 +04:00
Kai Nacke 94f1a5bb5a Merge pull request #381 from redstar/dibuilder
Introduce a debug info builder.
2013-07-28 15:45:13 -07:00
kai c28c7fb134 Introduce a debug info builder.
Moves all code from todebug into a new class.
Also caches the compilation unit in order to fix a LLVM 3.4 compile error.
2013-07-29 00:04:08 +02:00
Alexey Prokhin 21b07c783a Remove Module::moduleInfoType 2013-07-28 21:59:01 +04:00
Alexey Prokhin 69e7907875 Move implementation of Module::buildTargetFiles and Module::buildFilePath to gem/module.cpp 2013-07-28 21:17:25 +04:00
kai 4e8acf7eb6 Fix for LLVM 3.4 2013-07-20 20:23:31 +02:00
Kai Nacke 795df4da1b Merge pull request #427 from AlexeyProkhin/issue426
Fixed issue #426 — dtor / destructor not called for (rvalue) struct used in opApply
2013-07-20 11:19:07 -07:00
kai 81bf8c19a5 Fix a typo in keyowrd 2013-07-20 18:20:24 +02:00
Alexey Prokhin 8b783da523 Fixed cases where the destructor is called on an uninitialized temporary 2013-07-10 18:15:05 +04:00
Alexey Prokhin cf32ced6a9 Fixed issue #426 — dtor / destructor not called for (rvalue) struct used in opApply 2013-07-10 13:34:52 +04:00
Alexey Prokhin 1999749415 Issue #426 part 2. Generate a try-finally block only if it is required
(i.e. there are actually some destructor calls that are needed to be put into finally)
2013-07-10 13:34:52 +04:00
Alexey Prokhin 71023952d4 Issue #426 part 1. Wrap destructor calls of temporary variables in a try/finally expression. 2013-07-10 13:34:52 +04:00
Alexey Prokhin 407f45b07d Extend IRLandingPad to support arbitrary finally blocks.
Just laying down the ground work before fixing issue 426.
2013-07-10 13:34:16 +04:00
kai e5655c5e05 Add command line option for the thread model.
On Linux/PPC, just ignore the provided model. Only local-exec is supported.
2013-07-10 07:52:48 +02:00
kai 625be12aee Add more Linux/PPC stuff 2013-07-07 18:42:14 +02:00
kai 5c87cdf3e2 Add first Linux/PPC files 2013-07-07 17:35:08 +02:00
kai dc5f0f9f1e Tests for issues #355 and #424 2013-07-07 16:16:12 +02:00
kai 9fd5d42e46 Fix ldmd using LLVM 3.4.
unique_file was renamed to createUniqueFile.
2013-07-07 15:34:09 +02:00
kai 02d40239aa unique_file was renamed to createUniqueFile in LLVM.
Fixes yet another LLVM 3.4 compile error.
2013-07-07 14:33:47 +02:00
kai a2f7246c49 Fix for part 1 of issue 424.
Yet another difference between static arrays and vectors. Initializing a static
array with one element is handled especially. This fix adds the same handling for
vector types.
2013-07-04 08:06:09 +02:00
kai 5c1b4104d5 Add latest Linux/PPC64 to druntime. 2013-07-03 22:21:56 +02:00
kai 1669c16f2b More fixes to debug info.
In many places a compilation unit is expected but only a DIDescriptor is passed
to the builder. This can result in assertion errors.
2013-07-03 06:42:54 +02:00
kai a78ccbf851 Fix assertion error with LLVM 3.4.
There is a distinction between compile unit and file which is disregarded by ldc.
It is possible that more places are broken.
2013-07-02 22:48:04 +02:00
kai fa40b29160 Fix for issue #419.
The vector type was not handled in `DtoConstArrayInitializer()`.
2013-07-01 07:30:27 +02:00
kai 1a8c3588b5 Fix for issue #420.
The frontend only creates a scalar literal instead of an
array literal in order to initialize a vector field. This
commit adds the missing code.
2013-07-01 00:48:44 +02:00
Kai Nacke ebadc7fcb3 Merge pull request #412 from AlexeyProkhin/cpp
extern(C++) interfaces
2013-06-30 15:37:10 -07:00
kai 67a9391f79 Replace an old-style cast. 2013-06-30 22:30:13 +02:00
kai 72ddd21814 Head is now at 2.063.2
Increment version number and add phobos changes.
2013-06-30 17:17:16 +02:00
Kai Nacke 84d2069d93 Merge pull request #418 from redstar/merge-2.063.2
Merge of v2.063.2
2013-06-29 13:40:27 -07:00
kai 7faa23f99c Merge of v2.063.2 2013-06-29 19:01:42 +02:00
kai 508bf67e2d Fix a gcc 4.4.7 issue and an LLVM 3.4 oversight. 2013-06-29 17:24:03 +02:00
kai 272230fe59 Make driver/toobj.cpp compatible with LLVM 3.4. 2013-06-29 17:11:14 +02:00
kai 707c134d6e Make ldmd source compatible with LLVM 3.4. 2013-06-29 16:10:52 +02:00
kai bb37ef656b Replace llvm::sys::Path with llvm::SmallString in gen_gccbuiltins.cpp. 2013-06-29 15:25:34 +02:00
kai 8fb0b12e9e Replace llvm::sys::Path with llvm::SmallString in configfile.cpp.
Also adds some required functions for LLVM 3.4.
2013-06-29 15:10:30 +02:00
kai cf88271ab9 Replace llvm::sys::Path with std::string.
In many cases this is straightforward. It makes the source LLVM 3.4 compatible without using #idef's.
2013-06-29 14:20:44 +02:00
kai 7194ccff0c Simplify file handling code.
Removes dependency of a DMD class and is compatible with LLVM 3.x.
2013-06-29 13:00:46 +02:00
kai 9facd2592b Centralize version numbers.
The top level CMakeLists.txt file should be the only file containing version informations.
2013-06-23 16:08:21 +02:00