Christian Kamm
b83afa9eca
Fix with(symbol) statement.
2008-12-07 16:02:43 +01:00
Christian Kamm
fe71199772
Only run unittests contained directly in the module.
2008-12-07 14:12:39 +01:00
Tomas Lindquist Olsen
2532856f1c
Commented some logging that could be '''very''' long, cuts -vv output size of a gtkd gl sample down 1.2GB by 3/4.
...
Fixed wrong pointer type for multidimension "deep" slicing.
2008-12-04 16:11:09 +01:00
Tomas Lindquist Olsen
a012859bae
Fixed problem with moduleinfo thinking it imports itself, causing assertion failure, fixes #138
2008-12-04 14:36:11 +01:00
Tomas Lindquist Olsen
3111ff1fc4
Fixed non-static struct initializers.
2008-12-03 01:40:28 +01:00
Tomas Lindquist Olsen
879bed7df6
Added CMake option to disable generation of ClassInfo.offTi arrays, defaults to OFF.
2008-12-02 01:44:17 +01:00
Tomas Lindquist Olsen
91a2c257b0
Implemented allocating storage for a slice if its address is taken, fixes #115
2008-12-02 01:20:22 +01:00
Tomas Lindquist Olsen
c62b31a357
Fixed taking address of global static array element as constant expression.
2008-12-02 01:07:22 +01:00
Tomas Lindquist Olsen
2788a2a0f1
Made ClassInfo.interfaces generation consistent with DMD, fixes #134
...
Removed unneeded includes from dmd/attrib.c
2008-12-01 18:34:02 +01:00
Tomas Lindquist Olsen
649b860d2b
Added error when gcc cannot be found.
2008-12-01 15:21:33 +01:00
Tomas Lindquist Olsen
d3ae488730
Added error when invoking gcc fails
2008-12-01 15:18:22 +01:00
Tomas Lindquist Olsen
8ee1fbca26
Fixed a nasty bug with how interface vtables for class initializers were output, causing some class fields to be skipped.
...
Fixed a problem in definition of ClassInfos where an invalid constant was potentially used. This needs to be looked into proper as it might happen again in the future.
2008-12-01 04:37:54 +01:00
Tomas Lindquist Olsen
e0972b0793
Fixed ModuleInfo generation to no longer use the ModuleInfo class' default initializer for types/defaults, it's unsafe as initializers don't necesarily match the "formal" type. There might be explicit padding.
...
Changed -g switch to emit DW_LANG_D debug info, make demangling work with a patched GDB, still more work to do for full support of D's Dwarf extensions.
Added getNullValue helper method.
2008-12-01 02:10:16 +01:00
Tomas Lindquist Olsen
8553fc9aa0
Fixed ModuleInfo patch check, failed on 64bit
2008-11-30 20:41:17 +01:00
Tomas Lindquist Olsen
577237e073
Changed some hardcoded offset/alignment for classes in DMD, broke offsets for 64bits.
...
Changed ClassInfo generation to no longer access the default initializer of ClassInfo, fixes problems with index mismatch.
2008-11-30 20:22:09 +01:00
Christian Kamm
f14d97d786
Move storage of final vtbl from BaseClass to IrInterface: BaseClass instances are shared!
...
Always use the target's irstruct interfaceMap when building the const initializer.
Tango helloworld works again.
2008-11-30 11:25:40 +01:00
Tomas Lindquist Olsen
dcf3c96f65
Ensure all logging of llvm values/types is only called when -vv is passed
2008-11-29 23:39:04 +01:00
Tomas Lindquist Olsen
d522fef71f
Removed use of DMD's toPrettyChars function for providing llvm value names.
2008-11-29 22:37:36 +01:00
Tomas Lindquist Olsen
5d1366d27f
Removed DtoConstFieldInitializer, it's no longer needed and was buggy.
2008-11-29 21:26:50 +01:00
Tomas Lindquist Olsen
4da2cf066e
Fixed some problems with the addZeros forward declarations having type mismatches.
2008-11-29 20:57:52 +01:00
Tomas Lindquist Olsen
3a2e29d434
merge
2008-11-29 18:28:32 +01:00
Tomas Lindquist Olsen
13e0399ab0
Changed aggregate field initializers to be created lazily, fixes problem with static void arrays in aggregates.
2008-11-29 18:28:17 +01:00
Tomas Lindquist Olsen
f46f865375
Removed KDevelop3 project files, CMake can generate them just fine!
...
Fixed function literals in static initializers.
Changed alignment of delegates from 2*PTRSIZE to just PTRSIZE.
Changed errors to go to stderr instead of stdout.
Fairly major rewriting of struct/union/class handling, STILL A BIT BUGGY !!!
2008-11-29 21:25:43 +01:00
Christian Kamm
497c7e87df
Do put zero in vtable initializer for function without body in abstract class.
2008-11-29 17:13:38 +01:00
Christian Kamm
ca91c52c5a
Use toParent instead of toParent2 to determine whether inside a function body.
2008-11-29 17:06:36 +01:00
Christian Kamm
049e24cef8
Error instead of assert when trying to build a default initializer for void[n].
2008-11-29 12:28:10 +01:00
Christian Kamm
cdbc4f84d2
Fix warnings on x86-64. By fvbommel.
2008-11-28 21:24:08 +01:00
Christian Kamm
cc6bde46f9
Attempt at fixing #126 .
2008-11-27 18:31:09 +01:00
Christian Kamm
5b2a380680
Fix StdCall selection.
2008-11-25 17:15:02 +01:00
Christian Kamm
0120dd767c
Fix float->bool, #130 . Thanks fvbommel.
2008-11-23 21:57:11 +01:00
Christian Kamm
a08f244733
Don't use StdCall on Windows.
2008-11-22 21:08:00 +01:00
Christian Kamm
6efc9a3324
Get rid of DtoBoolean - use DtoCast(... Type::tbool) instead.
...
Fixed some casts to bool that were using truncation.
2008-11-22 18:35:52 +01:00
Tomas Lindquist Olsen
192edc9995
Fixed problem with continue/break in unrolled loop statements.
2008-11-19 14:40:24 +01:00
Christian Kamm
b172c4a668
Fix RawVarDecl double codegen bug. Thanks to downs for the testcase.
2008-11-18 18:07:57 +01:00
Christian Kamm
1228595e7e
Cast result of ...AssignExp to type the frontend expects if necessary. Fixes #116 .
2008-11-14 16:26:12 +01:00
Tomas Lindquist Olsen
d077bbc5e6
D2: Fixed global constants not initialized until module constructor.
2008-11-12 05:40:31 +01:00
Tomas Lindquist Olsen
32f99e7091
Forgot D2 versioning on typeinfo change.
2008-11-12 07:23:34 +01:00
Tomas Lindquist Olsen
582deb9827
D2 changes!
...
Removed druntime from the repository again.. Sorry :/
Updated the druntime port a bit, now requires druntime from trunk.
Added info in runtime/README on how to get druntime from trunk.
Added patch to add LDC support to druntime.
Removed some debug logging from D2 builds.
Fixed broken typeinfo for const/invariant in D2.
2008-11-12 07:22:05 +01:00
Tomas Lindquist Olsen
c36bd9f4b0
Applied fvbommel's patch from #112
...
Added missing TypeInfoInvariant codegen for D2
2008-11-12 02:30:28 +01:00
Tomas Lindquist Olsen
c4c1c1d72e
Added initial D2 support, D2 frontend and changes to codegen to make things compile.
2008-11-11 01:38:48 +01:00
Christian Kamm
fe49ee6448
Special case DtoCastInt for bool.
2008-11-10 20:55:24 +01:00
Christian Kamm
bc80a83666
Merge wilsonk's x86-64 inline assembly.
2008-11-08 22:29:19 +01:00
Christian Kamm
ca6b37cd38
Enable function parameter debug info for a wider range of args.
2008-11-03 15:23:22 +01:00
Christian Kamm
16b38a7fef
Fix compile-time warnings. Adjust include in d-asm-i386.
2008-11-03 12:35:29 +01:00
Tomas Lindquist Olsen
173639bdec
Added DtoRawVarDeclaration routine to handle special variables in some statements.
2008-11-01 18:25:10 +01:00
Christian Kamm
5b17d36ce2
Tried using DtoDeclarationExp for VarDecls in Statements to fix nesting issues
...
(see bug #104 ), but a separate helper that doesn't initialize would be nicer.
2008-11-01 16:48:17 +01:00
Christian Kamm
891d17e4b5
Applied easy part from wilsonk's x86-64 patch in #107
2008-10-30 11:08:34 +01:00
Christian Kamm
e625829f0f
Automated merge with http://hg.dsource.org/projects/ldc
2008-10-30 10:17:05 +01:00
Christian Kamm
36a98404ae
Fix accidental double-inreg caused by shared TupleType. Enabled inreg by default.
2008-10-30 10:16:37 +01:00
Tomas Lindquist Olsen
6cf5ca6aba
Removed warnings on ignored aligns. Only do aligment on packed structs, align(1) struct Packed { ... }
...
Changed the way struct/class fields are added, first small part of cleaning up these...
Make struct/class/union fields aware of any anonymous struct/union they might be part of, not yet really useful, but part of getting better union support.
2008-10-28 15:41:09 +01:00