Commit Graph

66 Commits

Author SHA1 Message Date
Tomas Lindquist Olsen
f411df11e3 Fixed choosing default target machine without needing to link in targets. 2008-09-07 17:44:25 -07:00
Christian Kamm
d44f21687e Restructure path handling a bit. Fixes #66. 2008-09-06 12:27:27 +02:00
Tomas Lindquist Olsen
ccfa5218c3 merge 2008-09-04 17:05:35 +02:00
Christian Kamm
3779b7c7d1 Split runtime into three parts again. 2008-09-03 22:07:04 +02:00
Tomas Lindquist Olsen
f3b3db7fa9 Changed all '#if linux || __APPLE__' to '#if POSIX' so we can support other platforms too, thanx for the suggestion anders. 2008-09-02 23:10:12 +02:00
Christian Kamm
d6e7a65b69 Automated merge with http://hg.dsource.org/projects/llvmdc 2008-09-02 19:14:37 +02:00
Christian Kamm
877da230a3 Get rid of runtime path. Allow defaultlib and debuglib switches to be given multiple times. 2008-09-02 19:14:25 +02:00
Tomas Lindquist Olsen
9f0633a7dd Added some sanity checks for target detection. 2008-08-31 18:51:14 +02:00
Tomas Lindquist Olsen
c65cd45966 Removed unimplemented switches. 2008-08-26 21:02:25 +02:00
Christian Kamm
2deaf9f238 Do not set Dversion to 1. Dversion = 2 means we use post 1.000 additions to D1. 2008-08-26 20:49:01 +02:00
Christian Kamm
54871f4ea7 Add -enable/-disable for specific features.
Allow setting target os with -t.
Clean up the help message.
2008-08-26 19:31:47 +02:00
Tomas Lindquist Olsen
d78677961b Removed D_InlineAsm and D_InlineAsm_X86 versions.
Made use of 'naked' in inline asm an error.
2008-08-25 19:36:27 +02:00
Tomas Lindquist Olsen
6cb325e2fa Missing 'break' in osx code path. 2008-08-24 17:57:53 +02:00
Tomas Lindquist Olsen
6cd4eda726 Fixed some osx mistakes. 2008-08-24 17:19:31 +02:00
Christian Kamm
8d95fc7b3e Add isnan for __APPLE__ and darwin version ident for OSX. 2008-08-24 16:59:08 +02:00
Jacob Carlborg
81de0c4b23 Add __APPLE__ to most #if linux compile time switches. 2008-08-24 16:54:06 +02:00
Christian Kamm
72a2db6d7c Get rid of isLinux and isWindows in favor of global.params.os. 2008-08-24 16:22:58 +02:00
Christian Kamm
ef80c904dc Make class invariants work. 2008-08-21 15:19:45 +02:00
Tomas Lindquist Olsen
5aae7a6bee Merged DMD 1.034, array operations are not yet implemented ;) 2008-08-14 06:55:41 +02:00
Tomas Lindquist Olsen
9d7f16b967 Added pragma(llvmdc, "string") for misc per-module compiler configuration, currently "string" can only be "verbose" which forces -vv for module it appears in.
Reimplemented support for nested functions/class using a new approach.
Added error on taking address of intrinsic.
Fixed problems with the ->syntaxCopy of TypeFunction delegate exp.
Removed DtoDType and replaced all uses with ->toBasetype() instead.
Removed unused inplace stuff.
Fixed a bunch of issues in the runtime unittests, not complete yet.
Added mini tests.
2008-08-10 08:37:38 +02:00
Christian Kamm
6e78763b3f Get rid of predefined Unix version 2008-08-07 18:59:23 +02:00
Tomas Lindquist Olsen
9500e89eeb Added 'Unix' predefined version identifier. 2008-08-04 19:08:39 +02:00
Tomas Lindquist Olsen
9b45fc5533 Changed the handling of variadic intrinsics a bit.
Removed the -fp80 option and made real be 80bit floats on X86, this is what the D spec really says it should be and fixes a bunch of issues.
Changed the handling of parameter attributes to a bit more generalized approach.
Added sext/zext attributes for byte/short/ubyte/ushort parameters, fixes #60 .
Parameter attribs now properly set for intrinsic calls if necessary.
Made the tango.math.Math patch less intrusive.
Fixed/added some mini tests.
2008-08-01 17:59:58 +02:00
Christian Kamm
7882f4858e Enable array bounds check and emit them in IndexExp. 2008-07-30 18:38:56 +02:00
elrood
dbe905604b fixed configuration file loading issues on windows 2008-07-29 21:52:25 +02:00
Christian Kamm
a6d6fd2365 Fix nativeobj extension for Windows. 2008-07-21 20:11:15 +02:00
Tomas Lindquist Olsen
efd3f0dddf [svn r387] Removed unused MD5 stuff.
Fixed incorrect __VENDOR__ variable and printed DMD frontend version.
2008-07-15 02:01:53 +02:00
Tomas Lindquist Olsen
832504e5d7 [svn r357] Merged DMD 1.033 2008-07-12 19:38:31 +02:00
Christian Kamm
485b638272 [svn r352] Implement SwitchErrorStatement. Fixes #52. 2008-07-11 21:06:39 +02:00
Christian Kamm
bace4dd0e7 [svn r348] Switch on class invariants (except in release mode).
Generate correct member for classInvariant in classinfo struct.
2008-07-10 22:00:27 +02:00
Tomas Lindquist Olsen
2dfb2fcf19 [svn r344] Fixed some very minor issues with the usage listing when calling llvmdc with no arguments.
Changed the way moduleinfo is registered to use the same approach as DMD, this eliminates the need for correct linking order and should make the way for using a natively compiled runtime library. This should speed up linking tremendously and should now be possible.
Fixed the llvm.used array to only be emitted if really necessary.
2008-07-09 23:43:51 +02:00
Tomas Lindquist Olsen
a3c7b8b369 [svn r327] Fixed some more MinGW32 issues. It's now very close to working.
Fixed problems with inline asm like: mov EAX, FS:4 , which incidentally is used in the runtime to get the stack bottom, on Windows.
2008-06-27 23:58:22 +02:00
Tomas Lindquist Olsen
5647598da9 [svn r306] Fixed: it's now possible to compile and link llvmdc with MinGW32 and msys on Win32 :D I tried it myself ;) Building the runtime still needs some work, but it's a step in the right direction. 2008-06-21 03:14:49 +02:00
Tomas Lindquist Olsen
f8b421d4ac [svn r305] Started support for custom class allocators/deallocators. Allocators with more than one argument still need to be fixed.
Removed the LLVM stacktrace code from mars.c.
Moved the LLVM based default target detection code from mars.c to llvmhelpers.cpp.
2008-06-21 02:48:53 +02:00
Tomas Lindquist Olsen
baf0bdeac6 [svn r300] Removed some win32 stuff that was causing problems on mingw32. 2008-06-20 22:25:07 +02:00
Tomas Lindquist Olsen
41a104c0f4 [svn r298] Eliminated the dmd/link.c source file entirely in favor of a llvm::sys based approach to the same functionality. 2008-06-20 22:09:04 +02:00
Tomas Lindquist Olsen
c743549032 [svn r297] Fixed: rewrote linker code to use LLVM's Program facilities instead of DMD's oldschool broken "native" approach. 2008-06-20 17:45:13 +02:00
Tomas Lindquist Olsen
de89b4bc6f [svn r280] Fixed a bunch of issues with switch statements. Ended up a bit far reaching... 2008-06-14 05:13:49 +02:00
Tomas Lindquist Olsen
4d2797526d [svn r267] Fixed debug info for global variables.
Cleaned up the debug info code in general.
2008-06-11 20:53:26 +02:00
Tomas Lindquist Olsen
6ededdd9e3 [svn r253] Removed -inlineasm option. inline asm is now enabled by default unless the new -noasm option is passed.
Tried adding a stack trace print when compiler crashes, not sure it's working though.
Changed data layouts to match that of llvm-gcc.
Fixed casting function pointers.
Added support checks in AsmStatement.
2008-06-08 19:09:24 +02:00
Tomas Lindquist Olsen
346d04aa8a [svn r236] added initial codegen of inline asm, pretty buggy and incomplete still. see the tangotests/asm1.d test for a sample of what does
work!
2008-06-06 20:14:51 +02:00
Christian Kamm
68d5150c1b [svn r235] rough port of GDC's inline assembler code, unfinished 2008-06-05 19:22:37 +02:00
Tomas Lindquist Olsen
d03c3a7757 [svn r233] Added: -oq command line option for writing fully qualified object names.
Added: started support for x86 80bit floating point.
Changed: aggregates passed by value now use the llvm 'byval' parameter attribute, also lays ground work for
using other attributes.
Changed: eliminated a lot more std::vectorS, these showed up pretty much at the top when profiling!
Changed: performed other misc. cleanups.
Changed: halt expression now call the new llvm trap intrinsic instead of an assert(0).
Changed: dstress suite now passes -O0 by default, this only eliminates unreferenced globals, which speeds up
linking quite a bit.
2008-06-05 06:38:36 +02:00
Tomas Lindquist Olsen
3365b4c02f [svn r221] Update: Switched to the 2.3 LLVM svn branch, http://llvm.org/svn/llvm-project/llvm/branches/release_23 .
Fixed: Implemented volatile statements. Uses the LLVM memory barrier intrinsic, closes #21 .
2008-05-13 17:58:11 +02:00
Christian Kamm
7ae4bc6477 [svn r175] merged dmd 1.029 2008-05-01 15:15:28 +02:00
Tomas Lindquist Olsen
cc914ed4b2 [svn r157] Fixed the nasty type==NULL bug :D 2008-03-24 20:48:40 +01:00
Christian Kamm
1af2b2169a [svn r151] fixed #29: out contracts work now 2008-03-10 19:29:39 +01:00
Tomas Lindquist Olsen
94c47aa1fa [svn r143] Fixed: a few bugs in debug information, still only line info, but should be correct files now :)
Fixed: tango.io.Console seems to be working now.
2008-01-22 00:01:16 +01:00
Tomas Lindquist Olsen
4505b9b006 [svn r137] Many fixes towards tango.io.Console working, but not quite there yet...
In particular, assertions has been fixed to include file/line info, and much more!
2008-01-14 05:11:54 +01: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