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
Christian Kamm
07f35424f1
Fix debug path.
2008-10-27 17:42:38 +01:00
Tomas Lindquist Olsen
6b9e85df48
Attempt at getting LLVM to provide a proper target data layout. Should assert now if things are borked.
...
Added untested support for Thumb target.
2008-10-27 17:37:34 +01:00
Tomas Lindquist Olsen
f89592b354
Nested access to with statement should work now. fixes #105
2008-10-27 01:40:47 +01:00
Tomas Lindquist Olsen
fdc172377e
Fixed tuple fields, thanx downs
2008-10-27 01:11:41 +01:00
Christian Kamm
4c12540497
Always add trailing slash to source path for debug info.
2008-10-26 17:31:05 +01:00
Christian Kamm
cfcda83291
Change _d_newclass into _d_allocclass. Add initialization to ClassInfo.create.
2008-10-26 14:12:03 +01:00
Christian Kamm
4d7af01374
Fix double field toObjFile for structs with AttribDecls.
2008-10-25 22:07:20 +02:00
Tomas Lindquist Olsen
80e29f86e4
Disabled parameter reversing by default, it broke mini/typeinfo10.d
...
Fixed 'inreg' property placement for functions with reversed parameters.
Made parameter reversal and inreg passing of first arg configurable in premake.lua
2008-10-25 18:12:07 +02:00
Tomas Lindquist Olsen
3c3a5dda14
Implemented correct parameter order according to x86-32 ABI documentation.
...
Changed AA types to just a void* .
2008-10-25 06:03:28 +02:00
Tomas Lindquist Olsen
5ed0ab3ab8
Commented that codegen: <modulename> printf ...
2008-10-23 19:42:55 +02:00
Tomas Lindquist Olsen
f71b7ac284
Added inreg attribute where appropriate on x86 to follow ABI docs.
...
Removed now unnecessary temporary variable in StringExp.
2008-10-23 00:34:46 +02:00
Tomas Lindquist Olsen
a52f0330d0
Implemented first class delegates. closes #101
2008-10-22 21:50:08 +02:00
Christian Kamm
42ae090eaf
Make sure debug info has correct file name and path.
2008-10-22 20:00:57 +02:00
Tomas Lindquist Olsen
f7ea1da010
Removed TypeOpaque from DMD.
...
Changed runtime functions taking opaque[] to void[].
Implemented proper type painting, to avoid "resizing" array casts in runtime calls that previously took opaque[].
Implemented dynamic arrays as first class types, this implements proper ABI for these types on x86.
Added dwarf region end after call to assert function, fixes some problems with llvm not allowing this to be missing.
Reverted change to WithStatement from rev [704] it breaks MiniD, mini/with2.d needs to be fixed some other way...
Fixed tango bug 1339 in runtime, problem with _adReverseChar on invalid UTF-8.
Disabled .bc generation in the compiler runtime part, genobj.d triggers some llvm bug when using debug info. the .o seems to work fine.
2008-10-22 14:55:33 +02:00
Christian Kamm
0fe7297fba
Add missing case to DtoAssign for T[n] = T[]. Fixes downs' initializer bug.
2008-10-16 22:36:26 +02:00