Commit Graph
539 Commits
Author SHA1 Message Date
Tomas Lindquist Olsen 637c59a422 more moreatatime fixes 2008-12-09 18:45:25 +01:00
Tomas Lindquist Olsen 827113a0b2 Fixed another moreatatime (as opposed to oneatatime) issue with indexing unresolved class. 2008-12-09 17:14:52 +01:00
Tomas Lindquist Olsen 99396c2e7a Fixed problem with nested function inside static nested function. see mini/compile_nested2.d. fixes #143 . 2008-12-09 14:57:01 +01:00
Tomas Lindquist Olsen 3c400ff21c Removed error on naked, not fully complete, but I'll be doing more work on it during this Christmas, and some things do work.
Fixed taking delegate of final class method. see mini/delegate3.d.
2008-12-09 14:07:30 +01:00
Tomas Lindquist Olsen 417aa57501 This ''should'' fix #139 , I failed to produce a testcase, but I would imagine this to be correct, and it removes '''that''' error when building Hybrid. 2008-12-09 03:01:19 +01:00
Tomas Lindquist Olsen a2bf0796ce Added back a bunch of static's to gen/classes.cpp, it's not superfluous, it makes the functions internal to the compilation unit, and we don't call them anywhere else. 2008-12-09 02:07:24 +01:00
Tomas Lindquist Olsen b6781a8eae Added proper "need 'this' to access member foo" errors instead of "variable foo not resolved" for some cases, added FIXME for the old error!
Added a bit more information to the runtime's cyclic dependency detection exception.
2008-12-09 01:56:39 +01:00
Christian Kamm c8fdab1715 Add all base interfaces to interfaceMap, not just direct parents.
Removed some superfluous 'static'.
2008-12-07 16:43:20 +01:00
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