Commit Graph

531 Commits

Author SHA1 Message Date
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