Commit Graph
508 Commits
Author SHA1 Message Date
Christian Kamm ca91c52c5a Use toParent instead of toParent2 to determine whether inside a function body. 2008-11-29 17:06:36 +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 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
Christian Kamm 6c532ac149 Hopefully sensible command switch handling. Changed default ext to .o on Windows. 2008-10-16 22:07:02 +02:00
Christian Kamm 8f14246bef Fixed bug with generated functions having wrong calling conventions. Thanks downs. 2008-10-15 20:22:18 +02:00
Tomas Lindquist Olsen 379bd9c330 Fixed weird struct problem from downs, see mini/compile_structs1.d
Rewrote DtoIndexStruct/Class , the old implementation were way too complex for what we really need now - since the DotVar changes.
2008-10-14 15:35:49 +02:00
Tomas Lindquist Olsen 180487b614 Fixed issue with accessing a WithStatement context from inside a nested function. see mini/with2.d
Renamed some LLVM uses of ::create statics to ::Create , lower case ones will be deprecated soon.
2008-10-14 13:21:14 +02:00
Tomas Lindquist Olsen 202c4f7bc2 Changed premake.lua to work with mingw.
Implemented array operations, not perfect but ok for tonight. closes #89
2008-10-13 23:19:32 +02:00
Christian Kamm e76d8f25b4 changed uint to unsigned int, thanks Elrood 2008-10-13 21:08:11 +02:00
Christian Kamm 881a141a1a Guess exe name from first object name if none specified. 2008-10-13 19:02:03 +02:00
Tomas Lindquist Olsen f15b115ee9 Started changing target triple stuff, part of fixing #97 2008-10-13 17:28:39 +02:00