Commit Graph
182 Commits
Author SHA1 Message Date
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
Tomas Lindquist Olsen 1ba0dc70f1 Same fix for align size of void type on D2. 2009-03-01 01:34:20 +01:00
Christian Kamm b7febcf35a Error gracefully for +=, -=, *=, /= if rhs is complex but lhs isn't. 2009-02-28 19:58:30 +01:00
Frits van Bommel 031474c724 Apply previous changes to dmd2/mtype.c as well. 2009-02-28 17:44:53 +01:00
Frits van Bommel 2beff65988 Fix struct field alignment on x86-64 (for align > 8, like real.alignof) 2009-02-27 12:35:31 +01:00
Tomas Lindquist Olsen 57a69e8177 - Fixed LLVM style CL args for D2.
- Moved main() into its own file gen/main.cpp
- Fixed basic cross compilation
- removed the option for setting OS
- added support for llc's mattr, mcpu and mtriple switches
- added basic ABI abstraction for return value rewrites, it's not perfect and will probably be completely rewritten once I get to handling parameter rewrites as well.
- x86-64 extern(C) abi for cfloat returns now match (llvm-)gcc.
2009-02-26 14:11:49 +01:00