Commit Graph

87 Commits

Author SHA1 Message Date
Alexey Prokhin
89375729cf Work on switch statements. 2011-01-03 16:50:08 +03:00
Alexey Prokhin
8a49067776 Increment vgates in static constructors. That fixes static destructors of templates. 2011-01-02 17:43:02 +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
31472eae97 Removed another usage of SymOffExp. 2011-01-02 17:43:02 +03:00
Alexey Prokhin
67880f01e9 Initialize TemplateInstance::emittedInModule with NULL 2011-01-02 17:38:39 +03:00
Alexey Prokhin
a1f14a047b Removed AggregateDeclaration::scope which was added by mistake. 2010-12-31 13:29:15 +03:00
Alexey Prokhin
1f5b7d6759 Fixed casting of a static array to a pointer type. 2010-12-30 14:04:40 +03:00
Alexey Prokhin
c9c4877609 LDC does not use SymOffExp 2010-12-30 14:04:24 +03:00
Alexey Prokhin
1fc3dbaeb0 Get rid of SymOffExp. 2010-12-19 14:08:13 +03:00
Alexey Prokhin
f12b95b36a Fixed many issues with nested structs and classes 2010-12-19 10:20:06 +03:00
Alexey Prokhin
f5f5c2e1f9 Fixed invoking of delegates inside CTFE. 2010-12-17 12:55:28 +03:00
Alexey Prokhin
c089205395 Removed a hack for bug #218. That fixes many regressions in CTFE 2010-12-17 12:55:28 +03:00
Alexey Prokhin
e48d0f6b79 Fixed test runnable/arrayop 2010-12-14 14:38:46 +03:00
Alexey Prokhin
c3ea7b27c6 Work on debug 2010-12-14 14:35:48 +03:00
Alexey Prokhin
6d22dd7999 Updated to 2.050 2010-11-08 16:55:35 +03:00
Eldar Insafutdinov
6e8d25ee0d fix stupid bug with sizes of compiler classes 2010-10-31 23:17:56 +00:00
Alexey Prokhin
4ff4b442f0 Cmake option BUILD_BC_LIBS works again. 2010-10-31 13:38:28 +03:00
Alexey Prokhin
24c92d3a7c CallExp::cacheLvalue is back 2010-10-30 20:51:31 +04:00
Eldar Insafutdinov
f95fa16f58 fix compile errors 2010-10-29 22:58:11 +01: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
5be6206eb8 Applyed Haiku patch by MrSunshine 2010-10-08 10:19:46 +04:00
Alexey Prokhin
4d7a6eda23 Different fixes for d2 2010-10-07 22:35:32 +04:00
Alexey Prokhin
df87607ba2 Updated to 2.049 2010-09-30 21:54:45 +04:00
Alexey Prokhin
93ddf8112b Fixed compilation of ldc2 2010-09-28 20:51:27 +04:00
Moritz Warning
fd4899f46f remove revisions.pl; we go with llvm releases now 2010-10-23 14:10:25 +02:00
Robert Clipsham
70b2156010 Fixed a segfault in ldc2 when compiling synchronized{} blocks. 2009-09-19 13:05:10 +01:00
Robert Clipsham
e44a9aa260 Removed a chunk of code in favour of a shorter and more portable method 2009-09-08 11:21:30 +01:00
Robert Clipsham
089e792258 DMD 2.032 Merge. 2009-09-08 10:07:56 +01:00
Benjamin Kramer
0ee2f34611 Don't use llvm::getGlobalContext() anymore 2009-07-13 20:16:15 +02:00
Robert Clipsham
b73e45940a Merged dmdfe 2.031. 2009-07-07 02:26:11 +01:00
Robert Clipsham
1812c5b00a Fixed some unmerged parts of the D2 frontend.
Removed the automatic linker flags for D2 (temp).
Renamed a runtime function for D2.
2009-07-06 23:54:02 +01:00
Frits van Bommel
8044a67720 Apply changes from r1482 to D2 frontend too. Completely untested, but ldc2
compiles again.
2009-06-08 13:45:26 +02:00
Tomas Lindquist Olsen
e31957dcd8 Change the frontend generated assert(this) or assert(&this) in D2 to set the ThisExp::var field. 2009-06-03 13:11:01 +02:00
Tomas Lindquist Olsen
b218bfc828 Added missing initializer of (LDC introduced) Expression::cachedLvalue in D2 frontend. 2009-06-03 03:49:24 +02:00
Tomas Lindquist Olsen
f6997cb604 D2:
Applied function type from D1 frontend that got removed in D2, it's critical for member function type to be correct.

Fixed a bunch of type discrepancies in druntime object.di vs. genobj.d .

Disabled (#if 0) some potentally very large type dumps for -vv .

Updated classinfo and typeinfo generation for D2, almost complete now.

Added finer grained checks for vtbl type mismatching, aids debugging.
2009-06-03 02:28:48 +02:00
Frits van Bommel
2cd4d15be1 Merge a fix from the D1 frontend to the D2 frontend. 2009-06-02 20:28:53 +02:00
Frits van Bommel
0c6a40485d Fix a segfault in ldc2 (use of an uninitialized variable). 2009-06-02 19:54:02 +02:00
Frits van Bommel
59f5636391 * Fix some gcc warnings in the D2 frontend code.
* Remove binaries from `dmd2/`
2009-06-02 19:18:48 +02:00
Robert Clipsham
24f426c1bc Removed unused files to allow for a pull. 2009-06-01 19:02:09 +01:00
Robert Clipsham
91ddf6140a More tweaks. 2009-06-01 18:58:21 +01:00
Robert Clipsham
c5be82c5ae LDC 2 compiles again. 2009-05-30 17:23:32 +01:00
Kelly Wilson
a178d9563d Fix for mingw32 segfault 2009-05-23 14:59:04 -06:00
Christian Kamm
8d01068c9b Apply small includes patch for FreeBSD. Thanks kimelto! 2009-04-02 19:16:44 +02:00
Frits van Bommel
e129494812 Allow specific optimization passes to be requested from the command line.
Now you can run "`ldc test.d -c -mem2reg -simplifycfg`" if you feel the urge.
The -O<N> options are still supported, and are inserted in the passes list in
the position where they appear on the command line.
(so -simplifycfg -O1 -instcombine does the "right thing")

One small change: -inline is renamed to -enable-inlining due to a naming
conflict with the option to add the -inline pass. -inline now inserts the
inlining pass in the position specified, not in the middle of -O<N>.
(ldmd has been updated to translate -inline to -enable-inlining)
2009-03-29 15:46:55 +02:00
Frits van Bommel
d6bb243ff5 Apply [1120] to D2 as well (untested). 2009-03-15 16:57:44 +01:00
Frits van Bommel
ad46ec8bd0 Split out LLVM_REV into separate header, to reduce rebuilding when only the LDC
revision has changed.
2009-03-13 16:18:43 +01:00
Frits van Bommel
622a93a810 Make LDC work with LLVM trunk (s/LinkOnceLinkage/LinkOnceOdrLinkage/)
Also moved the #defines for linkage types into a separate header instead of
mars.h so we can #include revisions.h without having to rebuild the entire
frontend every time we update.
(I'm using revisions.h to get the LLVM revision for use in preprocessor
conditionals. It should work with LLVM release 2.5, old trunk and new trunk)
2009-03-08 16:13:10 +01:00
Tomas Lindquist Olsen
c3a53c0128 Added hasUnalignedFields helper to check if a type has unaligned fields - as per request from fvbommel. Result is cached in TypeStruct. 2009-03-03 15:08:26 +01:00
Tomas Lindquist Olsen
8cad8d6c7a Merged ABI changes into D2 frontend. 2009-03-03 14:10:37 +01:00