David Nadlinger
2cebe6408c
Divided ir/irtypestruct.* in general aggregate and struct specific part.
...
This is just to improve clarity, as it was rather non-obvious
what of the code also applied to classes before.
IrTypeAggr::createInitializerConstant would currently belong in
IrTypeStruct, but this will be refactored anyway.
2013-06-12 17:17:09 +02:00
David Nadlinger
848dee32d4
Store bools as i8.
...
I really hope we can refactor this to use a less leaky
abstraction later – it should at least be possible to merge
voidToI8 and i1ToI8.
2013-06-07 03:20:54 +02:00
David Nadlinger
63759239fd
Minor array copy refactoring.
2013-06-07 02:23:00 +02:00
David Nadlinger
41e580a79f
Get rid of now-obsolete DtoConstInitializerType.
2013-05-19 20:25:16 +02:00
David Nadlinger
0a376b9c71
Avoid unnecessary memset when allocating array literals.
...
This completes the merge of pull request #294 . Thanks a lot to
Chris Holdsworth who originally wrote the patch!
GitHub: Fixes #294 .
GitHub: Fixes #141 .
2013-05-04 21:20:09 +02:00
kai
93c4cf3ea5
Replace more occurances of std::vector with an array.
2013-03-17 00:50:05 +01: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
8ff3a8060a
Use llvm_unreachable instead of assert(0).
...
Also removed some unused functions.
2013-02-07 03:38:15 +01:00
kai
045d50deb5
Replace SmallVector/vector with C array for type lists
2013-02-02 15:01:13 +01:00
David Nadlinger
33093a7403
Factor out TOK to icmp predicate conversion into helper method.
2012-12-28 18:08:49 +01:00
David Nadlinger
9458911839
Added LLVM-style license headers to all our files.
2012-12-16 17:19:14 +01:00
David Nadlinger
1cecab16cf
Emit correct TypeInfo argument for _d_arrayassign.
...
Fixes part of DMD testcase 'sdtor'.
2012-09-07 03:51:33 +02:00
kai
2dbee75523
Prefer C++-style casts.
...
This is based on Item 2 of "More Effective C++". In general, the C++ cast operators are more expressive and easy to find,
e.g. by grep. Using const_cast also shuts up some compiler warnings.
2012-08-02 19:55:29 +02:00
Eldar Insafutdinov
feefad412c
Move cl_options out of LDCShared
2012-04-02 14:53:52 +01:00
David Nadlinger
3916835380
Merge remote-tracking branch 'AlexeyProkhin/master' into merge-3.0
...
Conflicts:
CMakeLists.txt
druntime
runtime/CMakeLists.txt
2011-12-04 18:38:09 +01:00
David Nadlinger
fe19ee84f5
Merge branch 'llvm3.0' into merge-3.0
...
Conflicts:
gen/configfile.cpp
2011-12-04 18:16:36 +01:00
Alexey Prokhin
1f4de64360
Fixed appending to an array
2011-12-03 12:24:53 +04:00
Alexey Prokhin
014d6bdd4d
Merged 2.056
2011-12-02 21:50:52 +04:00
kai
a5b3dd29b5
Fixes 2 kinds of warnings.
...
1) The last parameter of getGetElementPtr() has type bool. In some instances, a 2 is used as parameter. This is converted to true.
2) Several loops use int instead of unsigned. This causes warning about signed/unsigned mismatch.
Curiously, only Visual C++ complains about this. Nevertheless I think that the warnings should be fixed.
2011-11-23 19:01:04 +01:00
David Nadlinger
ffe37c4a62
Merge remote-tracking branch 'upstream/llvm3.0'
2011-11-12 19:51:30 +01:00
Alexey Prokhin
22d0f00027
Rewritten DtoArrayInit().
...
It does not create calls to runtime functions and generates a faster code, especially if optimizations are on.
2011-11-01 14:31:00 +04: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
0caba6672d
Call postblit on a struct when appending it to an array. Use _d_arraycatnT to concatenate multiple arrays.
...
Before, _d_arraycatT was used to concatenate multiple arrays. That caused an issue when postblit
was called on a struct multiple times. The next code asserted due to the issue:
void main()
{
static struct S
{
int x;
int pad;
this(this)
{
++x;
}
}
auto sarr = new S[1];
auto sarr2 = sarr ~ sarr ~ sarr;
assert(sarr2[0].x == 1);
assert(sarr2[1].x == 1);
assert(sarr2[2].x == 1);
assert(sarr[0].x == 0);
}
2011-09-10 13:22:05 +04:00
Alexey Prokhin
aef7e0ee36
Fix array append with dollar op
2011-07-19 10:14:12 +04:00
Alexey Prokhin
f3bf9fd277
Improve _d_arrayappendT call
2011-05-11 21:13:43 +04:00
Alexey Prokhin
805fb5cfc1
D2: pass static arrays into functions by value
2011-04-30 15:30:57 +04:00
David Nadlinger
7a24e12736
Cleanup: Remove unused code in backend, silence some warnings.
...
This removed quite some clutter that has presumably piled up because LDC is seldom built with a lot of warnings enabled due to DMDFE.
2011-04-24 12:21:33 +02:00
Alexey Prokhin
375dcb095c
Fix array comparison
2011-03-26 17:58:08 +03:00
Alexey Prokhin
6d89bfa961
Use _d_assocarrayliteralTX to initialize associative arrays. Replace depricated _d_arrayappendcT() by _d_arrayappendcTX(). Make sure that a l-value of a binassign expressions is only evaluated once (reapllied 1784 but only for D2)
2011-02-20 19:00:45 +03:00
Alexey Prokhin
34987f71e2
Fixed some issues with phobos.
2011-01-06 13:00:06 +03:00
Alexey Prokhin
c5e9784863
Updated to dmdfe 2.051
2011-01-05 18:21:40 +03:00
Alexey Prokhin
1c59eed83a
Check for lower slice bound when bounds checking is enabled
2011-01-03 16:50:08 +03:00
Alexey Prokhin
a86f414bc1
Fixed calling of _d_array_bounds and _d_switch_error.
2011-01-02 17:43:02 +03:00
Alexey Prokhin
3c4db7bc87
Fixed initialization of the static arrays
2011-01-02 17:43:02 +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
eccd26ac93
Fixed crashes when compiling interpret test.
2010-12-17 12:55:28 +03:00
Alexey Prokhin
de15f4adbb
That should be in rev. 1744...
2010-12-15 22:24:23 +03:00
Alexey Prokhin
7cf80b3541
Fixed ldc2 crash when compiling static array concatenation.
2010-12-15 18:55:56 +03:00
Alexey Prokhin
88d7b955c8
Reverted rev.1710 and rev.1711
2010-11-04 17:58:27 +03:00
Alexey Prokhin
fbb36404d9
Removed unnecessary temporary variables from getSlice() and DtoCatArrays().
2010-11-04 14:14:08 +03:00
Alexey Prokhin
6b1243cec2
Fixed creating of arrays of immutable types
2010-11-02 16:38:13 +03:00
Alexey Prokhin
dc50773333
Fixed D1 regression. Thanks to mwarning
2010-10-31 15:22: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
eb68fc3d8c
Fixed building of LDC1. Work on arrays
2010-10-08 15:58:10 +04:00
Alexey Prokhin
41a66cf437
Use druntime functions for array operations
2010-10-08 15:10:56 +04:00