David Nadlinger
243146199f
Function literals start again at nesting depth zero.
...
GitHub: Fixes #447 .
2013-09-12 13:47:54 +02:00
David Nadlinger
e5463f77b7
FuncDeclaration::nestedVars should only be filled in DtoCreateNestedContextType.
2013-09-12 13:46:45 +02:00
David Nadlinger
0063546bc3
Added newline at end of file.
2013-09-12 10:23:21 +02:00
David Nadlinger
90127ab87a
Fix broken indentation in debug log output.
2013-09-12 10:21:01 +02:00
David Nadlinger
14bc59f31a
Nested context creation code beautification.
2013-09-12 10:14:17 +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
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