Christian Kamm
4e0b6b4bf0
Make sure functions containing inline asm are never inlined to avoid
...
duplicated labels.
2008-09-08 20:38:55 +02:00
Tomas Lindquist Olsen
f411df11e3
Fixed choosing default target machine without needing to link in targets.
2008-09-07 17:44:25 -07:00
Christian Kamm
d44f21687e
Restructure path handling a bit. Fixes #66 .
2008-09-06 12:27:27 +02:00
Tomas Lindquist Olsen
3a8125b7c8
Pointer comparisons were being treated as signed integers. Now they are handled as unsigned integers.
2008-09-04 17:24:10 +02:00
Tomas Lindquist Olsen
ee29f29659
Fixed pointer comparisons with differing types.
2008-09-04 17:17:40 +02:00
Christian Kamm
d6e7a65b69
Automated merge with http://hg.dsource.org/projects/llvmdc
2008-09-02 19:14:37 +02:00
Christian Kamm
877da230a3
Get rid of runtime path. Allow defaultlib and debuglib switches to be given multiple times.
2008-09-02 19:14:25 +02:00
Tomas Lindquist Olsen
1565f00f85
Fixed toobj.cpp to compile with latest LLVM, seems a method overload was removed recently.
2008-08-31 18:38:16 +02:00
Christian Kamm
8efe20f5f9
Link in pthread, dl and m on OS X.
2008-08-29 14:11:20 +02:00
Christian Kamm
b2b013d929
Always call finalizer for stack classes. Checking for the number of
...
destructors of the class type is not sufficient: we may be holding a derived
class with a destructor.
Fixes: run/auto_07
2008-08-28 20:17:21 +02:00
Christian Kamm
0f92afc5b9
Do not assert on non-existing supposed globals. (see nocompile/union_12,14)
2008-08-28 20:15:36 +02:00
Tomas Lindquist Olsen
d78677961b
Removed D_InlineAsm and D_InlineAsm_X86 versions.
...
Made use of 'naked' in inline asm an error.
2008-08-25 19:36:27 +02:00
Christian Kamm
f183d7ce1d
Automated merge with http://hg.dsource.org/projects/llvmdc
2008-08-24 17:02:03 +02:00
Tomas Lindquist Olsen
b41a80cefc
Reverted some changes in the Tango patch, splitting asm block is simply not supported by llvm.
2008-08-24 16:51:17 +02:00
Christian Kamm
72a2db6d7c
Get rid of isLinux and isWindows in favor of global.params.os.
2008-08-24 16:22:58 +02:00
Christian Kamm
ef80c904dc
Make class invariants work.
2008-08-21 15:19:45 +02:00
Tomas Lindquist Olsen
2e1a2bfe4a
Fixed problem with parameterized intrinsics taking bools.
2008-08-20 19:01:56 +02:00
Tomas Lindquist Olsen
5bf3e8911a
Added support for overloaded intrinsics.
...
Added atomic intrinsics in the intrinsics.di header.
2008-08-20 01:02:22 +02:00
Tomas Lindquist Olsen
3346a78e71
First step towards D abi compliance.
...
Framepointer elimination is now disabled for functions using inline asm (with a hack from aKor).
2008-08-19 20:18:01 +02:00
Christian Kamm
9caf74c59b
Fix binops change for OpAssign.
2008-08-17 13:16:35 +02:00
Christian Kamm
521a988e43
Binary ops had the wrong result type for real op imaginary.
...
Fixes:
run/creal_03
2008-08-17 12:21:53 +02:00
Christian Kamm
d0fec06c7d
Abstract functions may have bodies.
...
Fixes:
run/a/abstract_17_A,B
2008-08-17 11:39:36 +02:00
Christian Kamm
fe9b2b7efc
Fix TypeInfo_Tuple array initialization.
...
Fixes:
mini/emptytuple.d
2008-08-16 19:29:56 +02:00
Christian Kamm
6a81f7e66f
Do not need to allocate temporary for function literal.
2008-08-16 14:01:23 +02:00
Christian Kamm
7a535a1798
Fix function literals. They never carry a context.
...
Fixes:
run/f/foreach_36_A
2008-08-16 13:33:37 +02:00
Christian Kamm
981da466b7
Don't assert on empty foreach body.
...
Fixes:
run/f/foreach_28_B
2008-08-16 12:38:53 +02:00
Christian Kamm
e5568d62af
Prevent cast error for cast(void) around expression statements.
...
Fixes:
run/e/ExpressionStatement_10_A
2008-08-16 12:32:22 +02:00
Christian Kamm
ceb292ed85
Fix continue inside dowhile statements.
...
Fixes:
run/do_while_02
2008-08-16 11:19:34 +02:00
Christian Kamm
406cefb53f
Fix delegate equality.
...
Fixes:
mini/delegate.d
run/d/delegate_17_A
2008-08-16 10:48:25 +02:00
Christian Kamm
60617d5444
Add interface comparison to EqualExp: just do pointer comparison.
...
Fixes run/b/bug_e2ir_1786_B,C.
2008-08-15 22:41:47 +02:00
Tomas Lindquist Olsen
2b2291952c
Fixed problem when instantiating a template with private global variables.
2008-08-15 05:08:33 +02:00
Christian Kamm
c31d07e23f
Reverted bad change [506]. Added test case for remaining bug.
2008-08-13 23:54:09 +02:00
Christian Kamm
53f8542719
Got rid of improper static array compile time index check.
...
It had caused tango.core.Variant to fail to compile.
2008-08-13 22:31:46 +02:00
Christian Kamm
575ae2ea33
Provided overload to TypeClass::builtinTypeInfo to return true.
...
Shouldn't almost all types have a builtin typeinfo? Maybe it'd be better to
have the default at true and only overload typedef and friends.
2008-08-13 22:14:43 +02:00
Christian Kamm
8efde8d38d
Do not assert if there's a struct-this nested context.
2008-08-13 20:50:54 +02:00
Tomas Lindquist Olsen
7ffb43fdc6
Fixed uncaught, invalid use of nesting introduced in rev [498]
2008-08-13 17:11:03 +02:00
Tomas Lindquist Olsen
aae027961c
merge
2008-08-13 15:43:34 +02:00
Tomas Lindquist Olsen
0eeedba887
Fixed problems constant multidimensional static array initializers.
2008-08-13 15:43:13 +02:00
Christian Kamm
878faff7fb
Revert accidental change to toobj.cpp.
2008-08-12 19:50:41 +02:00
Christian Kamm
57cd1b4445
Get rid of 'static function cannot access nested' error. It is caught again later.
2008-08-12 19:48:42 +02:00
Christian Kamm
8b1903c0b3
Make llvmdc work with llvm 2.4svn revision 54614. Breaks compatibility with llvm 2.3.
2008-08-10 21:09:23 +02:00
Tomas Lindquist Olsen
43567aca3b
Fixed a critical bug in the runtime, where _d_allocmemoryT would mark
...
the memory block as having pointers (for scanning) opposite of what it
should. So pointers would not be seen and freed. Should fix a bunch of
regressions with AAs.
2008-08-10 17:28:01 +02:00
Christian Kamm
1284721437
Error if there is no this in a call requiring this.
...
Fixes:
nocompile/b/bug_type_308_G,H
nocompile/bug_e2ir_814
nocompile/i/inline_18_A,B
nocompile/inline_07
nocompile/static_09
2008-08-10 10:50:53 +02:00
Christian Kamm
646679fd44
Make struct literals work with typedefs.
...
Fixes run/s/struct_initialization_13_A and run/t/typedef_20_A
2008-08-10 10:40:26 +02:00
Tomas Lindquist Olsen
9d7f16b967
Added pragma(llvmdc, "string") for misc per-module compiler configuration, currently "string" can only be "verbose" which forces -vv for module it appears in.
...
Reimplemented support for nested functions/class using a new approach.
Added error on taking address of intrinsic.
Fixed problems with the ->syntaxCopy of TypeFunction delegate exp.
Removed DtoDType and replaced all uses with ->toBasetype() instead.
Removed unused inplace stuff.
Fixed a bunch of issues in the runtime unittests, not complete yet.
Added mini tests.
2008-08-10 08:37:38 +02:00
Christian Kamm
b2d860374b
Default initialize temporary struct generated from struct literal.
...
This makes sure padding is zeroed out.
2008-08-09 09:03:52 +02:00
Christian Kamm
4ee26b350a
Forgot return in DtoInitializer
2008-08-07 18:17:59 +02:00
Christian Kamm
f7cd3cf969
Move zero init of padding to DtoInitializer in order to respect void initializers.
2008-08-07 18:15:27 +02:00
Christian Kamm
14c3e022e4
Use llvmdc helpers for store and bitcast in fp80 padding init code.
2008-08-05 20:23:44 +02:00
Christian Kamm
b2efd0d317
Zero out padding of fp80.
2008-08-05 20:10:12 +02:00