Alexey Prokhin
fdead0d154
Fixed #21 — Added -lib switch
2011-12-06 17:24:49 +04:00
Alexey Prokhin
859ae8481f
That was committed by mistake
2011-12-06 14:43:05 +04:00
Alexey Prokhin
8b50928636
Fixed #37 — ICE: llvm::GlobalVariable::setInitializer assert failed
2011-12-06 13:55:01 +04:00
Alexey Prokhin
f8bf70ff7a
Fixed an assert when compiling derelict.
...
The assert was triggered by a line similar to this:
extern(C) void func(float[4] a1, float[4] a2, float[4] a3, float[4] a4, float[4] a5);
2011-12-06 13:14:57 +04:00
Alexey Prokhin
7da47c4ee8
Restored old behavior of initialization of llvm targets.
...
LDC initializes only a llvm host target and targets that were explicitly
requested when building the program.
2011-12-05 21:41:37 +04:00
Alexey Prokhin
bb3908f290
Fixed #36 — ICE: DValue::getLVal(): Assertion '0' failed
2011-12-05 13:19:33 +04:00
Alexey Prokhin
2980f703b1
Fixed #35 — ICE: postfix operation on typedef'd value
2011-12-05 13:09:10 +04:00
Alexey Prokhin
4b22221eb9
Fixed #34 - StructType::setBody assert isOpaque() failed
2011-12-05 13:07:13 +04:00
David Nadlinger
3916835380
Merge remote-tracking branch 'AlexeyProkhin/master' into merge-3.0
...
Conflicts:
CMakeLists.txt
druntime
runtime/CMakeLists.txt
2011-12-04 18:38:09 +01:00
David Nadlinger
fe19ee84f5
Merge branch 'llvm3.0' into merge-3.0
...
Conflicts:
gen/configfile.cpp
2011-12-04 18:16:36 +01:00
David Nadlinger
5458ebb0b2
Merge branch 'master' into merge-3.0
2011-12-04 18:15:21 +01:00
David Nadlinger
16cdb0c252
Whitespace cleanup.
2011-12-04 18:13:42 +01:00
David Nadlinger
d0ea856024
Emit all D inline asm labels as local labels.
...
On OS X, there is an actual significance to the distinction, which before lead e.g. to exception throwing in the below example being broken:
---
import core.exception;
void main() {
asm {
jmp Lfoo;
Lfoo:
;
}
throw cast(OutOfMemoryError)cast(void*)OutOfMemoryError.classinfo.init;
assert(0);
}
---
2011-12-04 18:13:33 +01:00
Alexey Prokhin
cd732537e8
Fixed atomic_store and atomic_load instrinsics
2011-12-04 16:05:48 +04:00
Alexey Prokhin
784e3f1542
Fixed cases when debug info of a variable was emitted several times
2011-12-04 15:34:41 +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
Alexey Prokhin
b8721a8515
Emit debug info for variables that are used in nested functions
2011-12-03 23:45:58 +04:00
Alexey Prokhin
cedb4c0e68
When generating debug info, handle recursive types properly
2011-12-03 14:35:55 +04:00
Alexey Prokhin
1f3d9b98d0
Removed old hack for llvm 2.8, it is not required anymore
2011-12-03 14:20:54 +04:00
Alexey Prokhin
6357c421ac
Updated ldc version and homepage
2011-12-03 13:52:05 +04:00
Alexey Prokhin
1f4de64360
Fixed appending to an array
2011-12-03 12:24:53 +04:00
Alexey Prokhin
014d6bdd4d
Merged 2.056
2011-12-02 21:50:52 +04:00
Alexey Prokhin
250d8ed214
Sanity check — can't create a directory with an empty path
2011-12-02 13:59:49 +04:00
Alexey Prokhin
5e0a2b7761
Merge branch 'llvm3.0' into master
2011-12-02 13:26:31 +04:00
kai
8db112dd68
Stream for object file must have binary flags.
2011-11-27 21:26:44 +01: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
kai
aa20673c72
Fix indentation (TAB -> SPACE in 2 cases).
2011-11-21 20:47:38 +01:00
kai
1ecd536f45
Replace deprecated LLVM functions.
...
Several functions regarding file handling are deprecated. This commit replaces these functions with the new one from llvm::sys::fs and llvm::sys::path. It also removes some warnings about signed/unsigned mismatches.
2011-11-16 19:05:23 +01:00
David Nadlinger
1afc01df72
Whitespace cleanup.
2011-11-14 21:25:56 +01:00
David Nadlinger
abd1d160f4
Tabs->spaces.
2011-11-14 20:10:45 +01:00
Robert Clipsham
4add11b78f
Fix bug #22 .
2011-11-13 14:14:19 +00:00
David Nadlinger
2c7f77eabd
Fixed leftover llvm::Type const qualifier.
2011-11-12 20:17:29 +01:00
David Nadlinger
ffe37c4a62
Merge remote-tracking branch 'upstream/llvm3.0'
2011-11-12 19:51:30 +01:00
David Nadlinger
dc46ae547c
Merge remote-tracking branch 'upstream/ldc-merge-2.056'.
2011-11-12 19:31:19 +01:00
David Nadlinger
23f360c988
Use llvm::InitializeNativeTargetAsmPrinter() now that it is available.
...
This enables us to remove the whole ugly config file parsing hack.
Also includes some minor CMake beautifications (nobody should really be at 2.4 anymore, 2.6 is more than three years old now).
2011-11-12 18:42:01 +01:00
David Nadlinger
7eda270d6b
Search for config next to the binary before trying global dirs.
...
This solves the problem of LDC picking up a pre-existing system-wide config when druntime and Phobos are compiled as part of the build process.
This order was intended by Christian in 919f8d6 , but then backed out again in eb3cd887 with no comment as to why – I hope this doesn't have any unwanted implications.
2011-11-12 14:35:30 +01:00
David Nadlinger
5e18625266
Define MinGW in addition to mingw32 for consistency with GDC.
...
When we get Win64 support, it should be defined there as well.
2011-11-08 21:27:02 +01:00
Alexey Prokhin
4ab6869c50
Fix a crash which occurs when compiling std/conv.d with unittests
2011-11-01 17:06:13 +04:00
Alexey Prokhin
6ef7ee6d32
Unimplemented toConstElem is not a fatal error if errors are gagged.
...
Because ldc uses gagging to check whether an expression is constant.
2011-11-01 14:35:28 +04:00
Alexey Prokhin
22d0f00027
Rewritten DtoArrayInit().
...
It does not create calls to runtime functions and generates a faster code, especially if optimizations are on.
2011-11-01 14:31:00 +04:00
Alexey Prokhin
40fa7653e2
Sync TypeInfoClass flags with dmd
2011-11-01 12:07:59 +04:00
Alexey Prokhin
b52c224d57
Merge v2.056
2011-11-01 11:44:03 +04:00
Alexey Prokhin
7431d58702
Rewritten initialization of global variables.
2011-10-25 15:43:49 +04:00
Alexey Prokhin
66a30803f3
Fixed an assert in DtoNewClass when initializing an inner-class outer reference
2011-10-25 15:43:49 +04:00
Alexey Prokhin
bf463d61da
Readded 'relocation-model' and 'code-model' options
2011-10-25 15:43:49 +04:00
Alexey Prokhin
45426ca60d
Implemented atomic intrinsics for llvm 3.0
...
Unline older versions, llvm 3.0 provides atomic instructions, not intrinsics.
The patch wraps the instructions into intrinsics, so they will be accessible
from d code.
2011-10-25 15:43:49 +04:00
Alexey Prokhin
81426b8cc8
Fix DelegateExp::toElem return type
2011-10-25 15:43:49 +04:00
Alexey Prokhin
b97b32759e
Use LLVM Machine Code (MC) to emit object files. Finilize debug info
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
fb77c05dfd
DMD Issue 3632 - modify float is float to do a bitwise compare
2011-09-15 13:56:22 +04:00