Commit Graph

3287 Commits

Author SHA1 Message Date
David Nadlinger
75f990aa08 Merge pull request #478 from klickverbot/symoffexp-toconstelem
Fix SymOffExp::toConstElem.
2013-09-25 03:51:50 -07:00
David Nadlinger
20cc082413 Merge pull request #479 from klickverbot/ldmd-quiet
LDMD: Ignore -quiet, it is the default.
2013-09-21 10:00:08 -07:00
David Nadlinger
f35176efad Fix SymOffExp::toConstElem.
I am surprised and horrified at the same time that the test suite
(on platforms other than Windows, where the code path is triggered
in core.stdc.stdio) did not catch this at all.

The elemSize-dependent path probably doesn't make too much sense for
global variables, as it always refers to the total size of the global.
Should add a special case for arrays for clearer codegen in those cases.

GitHub: Fixes #477.
2013-09-21 18:53:26 +02:00
David Nadlinger
cf18366c46 LDMD: Ignore -quiet, it is the default.
GitHub: Fixes #472.
2013-09-21 18:31:14 +02:00
David Nadlinger
b17a6421a4 Merge pull request #475 from klickverbot/assert-release-trap
Emit trap for assert(0) in release mode.
2013-09-15 23:46:26 -07:00
David Nadlinger
fe20a7dfac Merge pull request #474 from klickverbot/mingw-invariant
Fix _d_invariant mangling on MinGW/Win32.
2013-09-15 14:54:22 -07:00
David Nadlinger
945f4882c2 Emit trap for assert(0) in release mode. 2013-09-15 23:53:52 +02:00
David Nadlinger
0a8e1f78b7 Do not append unique suffix to asm file when -output-s is given.
This fixes a regression introduced by commit 50f145640
(pull request #473).
2013-09-15 23:41:55 +02:00
David Nadlinger
3556f52b95 Fix _d_invariant mangling on MinGW/Win32.
This is getting uglier and uglier, should probably just switch back
to extern(C) irrespective of what upstream DMD does.
2013-09-15 19:57:25 +02:00
David Nadlinger
286770ed7b Only use long double replacements on Win64; the MinGW runtime has them.
GitHub: Fixes #411.
2013-09-15 19:28:02 +02:00
David Nadlinger
61bc9eba52 Merge pull request #473 from klickverbot/assemble-temp-file
Use PathV1 for creating temporary files on pre-3.4 LLVM.
2013-09-15 08:59:35 -07:00
David Nadlinger
50f145640f Use PathV1 for creating temporary files on pre-3.4 LLVM.
GitHub: Fixes #471.
2013-09-15 17:03:39 +02:00
David Nadlinger
dd2a2a6cf9 Merge pull request #456 from klickverbot/issue-447
Properly handle delegate literals in nested context code.
2013-09-12 14:38:03 -07:00
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
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