Commit Graph
3219 Commits
Author SHA1 Message Date
kai e0288564a8 Fix annoying clang warning about missing newline 2013-09-11 06:56:08 +02:00
kai 22749e45b8 Add missing types for Linux/ARM 2013-09-08 18:54:45 +02:00
kai e205eafe74 Enabling multi-lib build for LLVM 3.3.
The required libs are only installed if OPTS contains the string "MULTILIB=ON".
In order to get the curl tests working with the dynamic lib an additional ln
is necessary.
2013-09-08 12:34:56 +02:00
kai d38448d664 Changed mangling for naked assembler on Win32.
Reported by Temtaime on the newsgroup!
2013-09-08 12:30:04 +02:00
kai f627fbbdb3 Fix broken merge 2013-09-08 00:27:04 +02:00
kai 269f8b08db Add types for Linux/AArch64. 2013-09-08 00:02:25 +02:00
David Nadlinger b3d8c497e1 Remove leftover D1-only comment. 2013-09-07 22:14:07 +02:00
kai fc24bd15ca Add version identifier for AArch64 2013-09-07 18:17:02 +02:00
kai 399a0396d2 Fix for issue #467 and partial fir for issue #455 2013-09-06 22:46:06 +02:00
kai ecf40bef59 Reverting last commit as it breaks a test 2013-09-06 22:30:02 +02:00
kai 1ce6e18a6e Fix for issue #467 2013-09-06 21:58:50 +02:00
kai d10c49f4ae Possible fix to issue #451 2013-09-04 06:39:07 +02:00
kai d24239cc5d Add test case for issue #461 2013-09-02 04:48:12 +02:00
kai 3c800d2380 Fix for issue #461 2013-09-01 23:09:06 +02:00
kai a9a9930e33 Add eh_collision stub for Win64 2013-09-01 22:03:29 +02:00
kai 3ba3b12783 Fix more LLVM 3.4 debug info problems.
The expression llvm::DIType(NULL) is not accepted by LLVM.
This commit replaces this with an unspecified type (which is
new in LLVM 3.4).
2013-09-01 16:47:33 +02:00
kai 8524f22d07 Add more FreeBSD files 2013-08-27 22:37:07 +02:00
kai 3b698fa2a1 Add FreeBSD files to druntime build 2013-08-24 17:13:42 +02:00
kai c39a04f038 Do not use llvm-config on Windows.
LLVM 3.4 now also provides a llvm-config tool. The output is
not yet parseable by our cmake module, so just don't use it.
2013-08-24 16:13:38 +02:00
David Nadlinger 6f5abdbe0e Merge pull request #452 from WebDrake/ldflags
Ensure LLVM LDFLAGS are placed after libraries in build commands.

Let's try this – add the removal of the second LLVM_LDFLAGS instance in the LDMD_EXE libraries if new LDMD linker errors pop up.
2013-08-20 13:00:08 -07:00
Joseph Rushton Wakeling 9520eb967e Ensure LLVM LDFLAGS are placed after libraries in build commands. 2013-08-20 17:42:43 +02:00
David Nadlinger 147267d9f8 Merge pull request #450 from redstar/debuginfo
Preliminary fix for debug info generation with LLVM 3.4.
2013-08-20 03:37:22 -07:00
kai 6bd78496a1 Preliminary fix for debug info generation with LLVM 3.4.
There is no debug information generated for several types.
As LLVM 3.4 does not support empty nodes, it is now time to
implement the missing debug info.
2013-08-20 07:47:12 +02:00
kai 6875d8a20f Mark frontend generated strings with attribute unnamed_addr.
This is part of a fix for issue #133.
2013-08-18 23:34:41 +02:00
kai 80a65e34f3 Use memset to initialize arrays with constant byte value.
This extends the existing code for null values.
2013-08-18 21:58:07 +02:00
kai 62683c4efe Simplify calling memcpy/memset 2013-08-18 20:56:24 +02:00
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