Commit Graph
385 Commits
Author SHA1 Message Date
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
Christian Kamm 8362b86c5a Move AllocaInst creation into DtoAlloca helper. Will enable special zero-init of fp80 reals' padding. 2008-08-05 19:28:19 +02:00
Christian Kamm cc7e5e63b1 Make sure to initialize isBranchToLabel to zero.
Fixes unittest compilation for tango.text.Text.
2008-08-04 21:34:53 +02:00
Tomas Lindquist Olsen 800497f2be Fixed constant expression taking address of function. 2008-08-04 03:38:23 +02:00
Tomas Lindquist Olsen daad516579 Removed the 'needsstorage' thing from Dsymbol. Arguments are not always given storage when applicable. This is not longer treat specially
in this regard. Code for accessing nested variables and contexts rewritten. Probably more. Fairly well tested.
2008-08-04 02:59:34 +02:00
Tomas Lindquist Olsen b0a5f554d6 Fixed problem in AssignExp where the result value might be uninitialized. see mini/assign1.d 2008-08-03 16:59:28 +02:00
Tomas Lindquist Olsen dedc0f4829 Fixed problem with using the variable names _arguments and _argptr in non D-style vararg functions.
Fixed problem with compiling with LLVM 2.3
2008-08-03 16:10:00 +02:00
Christian Kamm aff505ea6e Automated merge with http://hg.dsource.org/projects/llvmdc 2008-08-02 22:54:46 +02:00
Christian Kamm ad8e9ae852 Implement a rough AddrExp::toConstElem() 2008-08-02 22:54:36 +02:00