David Nadlinger
c7c1c25f15
DValue: struct->class.
...
This is in line with an incoming upstream change making all
polymorphic structs classes, and also matches common coding
conventions.
2013-06-07 03:20:39 +02:00
kai
1e4a8fffc2
Remove DMDV1 and DMDV2.
2013-03-06 10:20:24 +01:00
David Nadlinger
0a96aea868
Sort includes according to style guidelines:
...
1. Main include corresponding to .cpp file, if any.
2. DMD and LDC includes.
3. LLVM includes.
4. System includes.
Also updated a few include guards to match the default format.
2013-02-07 21:20:55 +01:00
David Nadlinger
9458911839
Added LLVM-style license headers to all our files.
2012-12-16 17:19:14 +01:00
Alexey Prokhin
7431d58702
Rewritten initialization of global variables.
2011-10-25 15:43:49 +04:00
Alexey Prokhin
629f13929e
WIP: port to llvm 3.0
2011-10-25 15:43:39 +04:00
Alexey Prokhin
f3c901af9d
Use _d_arraycatT to append an element to an array instead of reallocating the array
2011-09-10 13:23:47 +04:00
Alexey Prokhin
1c59eed83a
Check for lower slice bound when bounds checking is enabled
2011-01-03 16:50:08 +03:00
Alexey Prokhin
d8115713d2
Fixed initialization of multidimensional static arrays.
2010-12-30 14:04:24 +03:00
Alexey Prokhin
023b55a772
Run postblit constructors for elements of an array.
2010-12-30 14:04:24 +03:00
Alexey Prokhin
e4c3179d43
Different fixes: phobos compiles now
2010-10-28 14:53:01 +04:00
Alexey Prokhin
b1e5993873
Started work on phobos
2010-10-27 18:13:46 +04:00
Alexey Prokhin
4d7a6eda23
Different fixes for d2
2010-10-07 22:35:32 +04:00
Kelly Wilson
b38845e88e
Apply patch from klickverbot. This is his 'proper fix' patch for bug #395 .
2010-03-08 23:37:40 -07:00
Christian Kamm
9cd32549c4
Improve array append performance.
...
Actually use the appropriate runtime function, instead of just
growing the array by one!
2010-02-14 10:11:05 +01:00
Tomas Lindquist Olsen
37cf5a5789
Added Doxygen file.
...
Completely seperated type and symbol generation. Should fix a lot of bugs, but is not yet 100% complete.
2009-04-15 20:06:25 +02: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
30c9af1945
Add _d_newarrayvT and _d_newarraymvT to create arrays without initialization.
...
Adjust DtoNewDynArray to use DtoArrayInit for initialization of new arrays.
Make Type::tvoid->defaultInit() not error.
2008-09-14 10:13:50 +02:00
Christian Kamm
8f14ece3af
Move DtoArrayBoundsCheck from llvmhelpers to arrays.
2008-07-31 19:14:49 +02:00
Christian Kamm
caa61a5523
Error if static array is cast to an array such that oldarraysize % newelemsize != 0.
2008-07-29 12:32:01 +02:00
Christian Kamm
907a03a3be
Give error messages for invalid casts.
...
This required passing Loc information to certain functions.
Fixes nocompile/b/bug_cgcs_354_A/B.
2008-07-26 17:19:16 +02:00
Tomas Lindquist Olsen
ac3744a59d
[svn r329] Cleaned up a bunch of array code for handling special slice cases no
...
longer relevant.
2008-06-28 05:57:16 +02:00
Tomas Lindquist Olsen
599f879149
[svn r316] Fixed array slice assignments like: int[] arr = ...; arr[] = 42;
...
There was problems with most non basic types...
Added an option to premake so we can do: premake --target gnu --no-boehm
to disable the Boehm GC.
2008-06-23 14:48:42 +02:00
Tomas Lindquist Olsen
67dd564222
[svn r307] Fixed: multidimensional new expressions now work. Eg.:
...
auto ma = new int[][] (3,9);
2008-06-21 04:47:14 +02:00
Tomas Lindquist Olsen
8b83eda2a2
[svn r261] Fixed debug info for integer and floating local variables, can now be inspected in GDB.
...
Did a lot of smaller cleans up here and there.
Replaced more llvm::Foo with LLFoo for common stuff.
Split up tollvm.cpp.
2008-06-09 09:37:08 +02:00
Tomas Lindquist Olsen
28382e3567
[svn r250] Fixed the warning about dropping arguments to _Dmain when optimizing.
...
Did a few cleanups in inline asm code.
2008-06-08 08:03:19 +02:00
Tomas Lindquist Olsen
b4bb3aaec4
[svn r229] Updated the object.d implementation to the latest Tango.
...
Fixed a bunch of the built-in typeinfos for arrays, they did not inherit TypeInfo_Array.
Applied patch to tango/text/convert/Layout.d by fvbommel, closes #47 .
Cleaned up some type code.
Replaced uses of llvm::Type with LLType (a typedef), same for Value and Constant.
Fixed a few cases where typeinfo for user structs could be emitted multiple times, seems to still be some cases of this :/
2008-05-30 19:32:04 +02:00
Tomas Lindquist Olsen
c380f43929
[svn r219] Fixed: the tango/lib/gc/basic garbage collector now compiles and links into an executable (change in tango/lib/llvmdc-posix.mak), closes #5 .
...
Changed: removed the crappy realloc based dynamic memory runtime and started moving over to DMD style runtime support, part of moving to real GC.
Fixed: dynamic arrays now use GC runtime for allocating memory.
Fixed: new expression now use GC for allocating memory.
Changed: revamped the dynamic array support routines related to dynamic memory.
Fixed: assertions no longer create exsessive allocas.
Changed: misc. minor cleanups.
2008-05-13 14:42:09 +02:00
Tomas Lindquist Olsen
b15b3484c8
[svn r136] MAJOR UNSTABLE UPDATE!!!
...
Initial commit after moving to Tango instead of Phobos.
Lots of bugfixes...
This build is not suitable for most things.
2008-01-11 17:57:40 +01:00
Tomas Lindquist Olsen
a807cbfc91
[svn r112] Fixed 'case 1,2,3:' style case statements.
...
Fixed a bunch of bugs with return/break/continue in loops.
Fixed support for the DMDFE hidden implicit return value variable. This can be needed for some foreach statements where the loop body is converted to a nested delegate, but also possibly returns from the function.
Added std.math to phobos.
Added AA runtime support code, done ground work for implementing AAs.
Several other bugfixes.
2007-11-20 05:29:20 +01:00
Tomas Lindquist Olsen
c99938debf
[svn r106] Turns out the last commit wasn't enough, now the D->LLVM process is even more split up.
...
Basically it tries to do the following in order: Resolve types, Declare symbols, Create constant initializers, Apply initializers, Generate functions bodies.
ClassInfo is now has the most useful(biased?) members working.
Probably other stuf...
2007-11-18 06:52:57 +01:00
Tomas Lindquist Olsen
7d6bbcd87d
[svn r103] Array comparisons are now fully implemented, that is - to the extent that TypeInfo is.
2007-11-15 00:24:44 +01:00
Tomas Lindquist Olsen
302015d7e8
[svn r102] Further delayed emission of function bodies to avoid problems with circular-forward-references.
...
Now uses the DMD _adEq(void[], void[], TypeInfo) runtime function for array equality comparison.
2007-11-14 23:39:10 +01:00
Tomas Lindquist Olsen
48492229ec
[svn r90] Major updates to the gen directory. Redesigned the 'elem' struct. Much more... !!!
...
Lots of bugfixes.
Added support for special foreach on strings.
Added std.array, std.utf, std.ctype and std.uni to phobos.
Changed all the .c files in the gen dir to .cpp (it *is* C++ after all)
2007-11-03 14:44:58 +01:00
Tomas Lindquist Olsen
6bb534fb2a
[svn r85] Fixed: if a return statement appeared in the try block of a nested try-finally, only the inner-most finally block would be executed.
...
Changed: Renamed all the LLVM_Dto... helper function to just Dto...
2007-11-01 17:27:18 +01:00
Tomas Lindquist Olsen
58b6fc972a
[svn r73] Identity expression for dynamic array and null was broken.
2007-10-28 04:23:38 +01:00
Tomas Lindquist Olsen
498c442bc1
[svn r68] Added support for multi-dimensional static arrays.
...
Several bugfixes to array support.
2007-10-25 12:09:13 +02:00
Tomas Lindquist Olsen
be330878c2
[svn r62] Added support for TypeInfo _Array, _Function, _Pointer, _Delegate, _Enum
...
Added initial support for CatExp aka 'a ~ b'
Fixed global constant static arrays initialized with string literals
Fixed casting any dynamic array to void*
Fixed new expression with temporary storage
Fixed alias declarations in function scope
Fixed relational comparisons of pointers
2007-10-25 09:02:55 +02:00
Tomas Lindquist Olsen
039bc0880d
[svn r58] Fixed cond expression resulting in a non-basic type.
...
Fixed identity expression for dynamic arrays.
Revamped the system to keep track of lvalues and rvalues and their relations.
Typedef declaration now generate the custom typeinfo.
Other bugfixes.
2007-10-24 01:37:34 +02:00
Tomas Lindquist Olsen
5fee3fc8b7
[svn r56] Initial support for TypeInfo.
...
Enums not work.
Several other bugfixes.
2007-10-23 05:55:12 +02:00
Tomas Lindquist Olsen
6445254a7b
[svn r52] fixed static arrays in struct literals
2007-10-19 17:15:30 +02:00
Tomas Lindquist Olsen
10db08076c
[svn r44] Lots of bug fixes.
...
New array literal support
New array ~= operator support (for single element)
New with statement support
More...
2007-10-19 07:43:21 +02:00
Tomas Lindquist Olsen
67a92f5d51
[svn r41] new'd dynamic arrays are now initialized with the element type's default initializer.
...
initial label/goto support.
2007-10-10 03:38:24 +02:00
Tomas Lindquist Olsen
4fdad2c750
[svn r40] Cleaned up some of the array routines to use gep/load/store instead of memcpy/memset.
...
Resizing arrays did not allocate enough memory for types bigger than 1 byte.
2007-10-09 07:51:13 +02:00
Tomas Lindquist Olsen
3db5b9bb98
[svn r38] * resizing dynamic arrays support
...
* throw is replaced with assert(0)
* catch is ignored
* better foreach support
* various bugfixes
2007-10-09 02:50:00 +02:00
Tomas Lindquist Olsen
879d2f10be
[svn r25] * Fixed a lot of problems with string literals
...
* Fixed slice-slice copying assignment
2007-10-04 07:01:15 +02:00
Tomas Lindquist Olsen
4eab68b36c
[svn r15] * Fixed a bunch problems with virtual calls. Seems I did some rather poor testing.
...
* Now 50/51 tests compile.
* Added a simple runalltests.d scripts that should be run with 'gdmd -run runalltests.d' - LLVMDC will not compile it yet.
2007-10-02 05:10:18 +02:00
Tomas Lindquist Olsen
fcbcd83d8b
[svn r8] changed backend includes to always use the gen/<foo>.h prefix
...
fixed passing string literals as array parameters
few other fixes
moved some array routines into gen/arrays
2007-09-03 17:34:30 +02:00