Commit Graph
151 Commits
Author SHA1 Message Date
Tomas Lindquist Olsen 9f0633a7dd Added some sanity checks for target detection. 2008-08-31 18:51:14 +02:00
Christian Kamm 7963800bd6 Introducing template instantiation traces for static asserts and errors within templates. 2008-08-30 10:30:57 +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 5bf3e8911a Added support for overloaded intrinsics.
Added atomic intrinsics in the intrinsics.di header.
2008-08-20 01:02:22 +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 c092165b3a Fixed mini/missingti.d 2008-08-14 03:09:26 +02:00
Christian Kamm c31d07e23f Reverted bad change [506]. Added test case for remaining bug. 2008-08-13 23:54:09 +02:00
Christian Kamm 575ae2ea33 Provided overload to TypeClass::builtinTypeInfo to return true.
Shouldn't almost all types have a builtin typeinfo? Maybe it'd be better to
have the default at true and only overload typedef and friends.
2008-08-13 22:14:43 +02:00
Christian Kamm d81aeb0d28 Make the alignment computations of the frontend match the llvm default alignment.
Breaks run/double_03 because it assumes double.alignof >= 8, which does not
seem to be the case for llvm.
2008-08-10 13:42:08 +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 691a922850 Changed DMD to make a copy of the TypeFunction in DelegateExp. 2008-08-04 17:32:13 +02:00
Tomas Lindquist Olsen daad516579 Removed the 'needsstorage' thing from Dsymbol. Arguments are not always given storage when applicable. This is not longer treat specially
in this regard. Code for accessing nested variables and contexts rewritten. Probably more. Fairly well tested.
2008-08-04 02:59:34 +02:00
Christian Kamm d87a3cd4ee Path combining on Windows didn't work with / properly. 2008-08-03 12:27:11 +02:00
Christian Kamm ad8e9ae852 Implement a rough AddrExp::toConstElem() 2008-08-02 22:54:36 +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
Tomas Lindquist Olsen 07cfb67178 Removed tango from the repository and instead added a runtime dir with the files needed to patch and build tango from svn.
Reworked the LLVMDC specific pragmas.
2008-08-01 00:32:06 +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 f439de46ab Another fix to DMD's path code. 2008-07-29 18:00:01 +02:00
Christian Kamm fe76eeee4e Missed a line in the dmdfe path code. 2008-07-29 17:45:28 +02:00
Christian Kamm 62e1d77cc1 Allow / as a path separator on Windows. 2008-07-29 17:35:33 +02:00
Christian Kamm dd49c2ca00 Give errors originating from Dsymbol::error the proper 'Error:' heading. 2008-07-29 13:48:46 +02:00
Christian Kamm d9f85de2a1 Fix real comparison for real: allow +0 to be distinguished from -0. 2008-07-28 21:37:47 +02:00
Christian Kamm cf4565095c Use == in RealEquals and get rid of the memcmp there entirely. 2008-07-28 20:50:41 +02:00
Tomas Lindquist Olsen 8c98499193 Fixed issue with internal real representation, incorrect for non x86-32 architectures.
Cleaned up CallExp::toElem, moved implementation to tocall.cpp providing a single procedure to call arbitrary D functions fairly easily.
2008-07-28 02:11:34 +02:00
Christian Kamm 8485be7238 Make RealEquals only compare the data bytes.
Fixes run/t/template_class_13_* regressions introduced in [r401].
2008-07-27 18:52:40 +02:00
Christian Kamm 2592d1caa6 Switch TypePointer::isunsigned from false to true, so CmpExp::toElem chooses the right operand for pointer comparisons.
Fixes run/t/typeinfo_03_A,B,C,D.
2008-07-27 17:10:47 +02:00
Christian Kamm 67d242272b Add back generated impcnvtab.c to make premake work the first time. 2008-07-27 16:27:44 +02:00
Christian Kamm befaf511e6 Fix compile-time comparison of template value parameters of real type. 2008-07-27 13:29:31 +02:00
Christian Kamm e6dd53b61c Made setup for runtime calls in dmd frontend allocate less. 2008-07-24 18:51:36 +02:00
Christian Kamm 169fe68a25 Fix argument types for wchar/char reverse and sort. 2008-07-24 18:20:40 +02:00
Christian Kamm b1e8162b7b Mixed up argument types for aApply and aaApply. 2008-07-23 17:55:20 +02:00
Christian Kamm 8f20b1ed00 Introducing opaque type to dmd frontent to be used with certain runtime array
and aa args and returns. There are still some bugs with aas.
2008-07-22 23:06:46 +02:00
Christian Kamm 566eac93fe Get rid of runTimeHack and instead add proper argument info to the frontend
declatation.
2008-07-22 19:24:40 +02:00
Christian Kamm e12c58abad Do not strip the leading underscore for typeinfo mangles on Windows. 2008-07-21 20:11:42 +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
Christian Kamm bcc4cfdea4 [svn r377] The previous check was too strict, it completely disallowed gotos within finally blocks. This reenables them as long as they don't cross a finally boundary. 2008-07-14 12:00:24 +02:00
Christian Kamm 7e7ac3a6f7 [svn r374] Move label target basic block from AST to IRFunction. This is a first step to allowing labels to be emitted multiple times. (for instance within finally blocks) 2008-07-14 11:07:15 +02:00