Commit Graph

57 Commits

Author SHA1 Message Date
Alexey Prokhin
fb31047dcd Prettify our C functions' signatures patch to have a chance to be included into dmd 2013-07-29 16:52:42 +04:00
David Nadlinger
292caa1438 Merge the 2.063 frontend. 2013-06-12 20:16:37 +02:00
David Nadlinger
15fd67be03 Remove code for unimplemented goto-into-asm check.
The check was never fully implemented. We need to look into
this again, as currently we fail with a fairly unintellegible
LLVM ICE (added as GitHub #).
2013-05-11 20:18:34 +02:00
kai
bbdf473ef0 Fix for issue #326.
For a foreach (int i, dchar c; str) loop the compiler generates a
delegate with a different type signature then the runtime uses.
The runtime declares the parameters as void* and passes a pointer
to a size_t variable for the index. The code generated by the
compiler expects a ref int. This works on a little endian architecture,
but on a big endian architecture the index is always 0.
This fix changes the parameter type of the passed index to size_t
and generates a cast to the type specified by the user.
2013-04-11 08:23:33 +02:00
kai
a28f14320c Wrap LDC specific code in #if IN_LLVM blocks.
Only for ForeachStatement as I have to investigate the code here.
2013-04-09 07:47:46 +02:00
David Nadlinger
99819d0c63 Merge branch 'master' into merge-2.062. 2013-03-11 23:07:32 +01:00
kai
0b19b81ac9 Add new intrinsic LDC_never_inline.
LDC_never_inline is a complementary intrinsic to LDC_allow_inline.
It tells the LLVM optimizer to never inline a function. This can be
useful if inlining creates incorrect code.
A possible application is core.thread.getStackTop().
2013-03-11 22:32:40 +01:00
kai
52ba03b259 Fix deprecation messages for non-vendor pragmas.
The deprecation message for non-vendor pragmas was never shown.

Conflicts:
	gen/pragma.cpp
2013-03-09 20:19:02 +01:00
kai
fba9e204d8 Add missing pragma and deprecation warning.
The LDC_allow_inline pragma is not recognized. The deprecation message for
non-vendor pragmas is missing.
2013-03-09 20:11:03 +01:00
kai
bf52dbe389 Merge of DMD 2.062. 2013-03-06 18:18:56 +01:00
kai
820f6dbc7c Fix deprecation messages for non-vendor pragmas.
The deprecation message for non-vendor pragmas was never shown.
2013-02-28 08:00:43 +01:00
kai
5c6ba2ec3b Add missing pragma and deprecation warning.
The LDC_allow_inline pragma is not recognized. The deprecation message for
non-vendor pragmas is missing.
2013-02-28 06:58:45 +01:00
David Nadlinger
d4b391249d Removed redundant global.params.os field.
I hope I have untangled the checks for "native" Windows (Triple::Win32)
vs. Windows/MinGW/Cygwin (Triple::isOSWindows) correctly.

MinGW needs some default libraries as well, has to be fixed later.
2013-02-07 21:20:54 +01:00
David Nadlinger
5c518a16ec Merged 2.061 frontend. 2013-01-04 06:22:53 +01:00
kai
d4521c15c6 Wrap LDC specific code in #ifdef INLLVM / #endif 2012-12-18 18:12:11 +01:00
kai
393d142a78 Revert "Wrap LDC specific code in #ifdef IN_LLVM/#endif"
This reverts commit d92a1842b1.
2012-12-17 09:35:29 +01:00
kai
d92a1842b1 Wrap LDC specific code in #ifdef IN_LLVM/#endif 2012-12-17 00:12:06 +01:00
David Nadlinger
d523be3010 Added explanation for commit 9b80037.
Such uncommented changes to the frontend are potentially a huge
source of confusion during merging new frontend versions
(especially if the piece of code gets changed again before the
next upstream release).
2012-10-13 18:20:56 +02:00
kai
9b80037f56 fix Issue 8675 - Nothrow can't throw Errors
- fixed by checking whether the thrown exception is derived
  from Error before complaining about uncaught throws
2012-10-09 06:43:20 +02:00
kai
4ae64dd2e7 Fix size returned by os_critsecsize() and construct type for D_CRITIAL_SECTION on Windows. 2012-09-08 11:49:37 +02:00
David Nadlinger
bf0d8afc88 Merge branch 'dmd-2.060' into master.
Conflicts:
	dmd2/func.c
	dmd2/mars.c
2012-09-07 04:15:44 +02:00
David Nadlinger
6fea7358dc Fixed several asm-related error message formats. 2012-09-07 03:51:32 +02:00
David Nadlinger
837ef30fec Merged DMD 2.060 frontend.
Upstream Git tag v2.060 (e8fe11c20249cb9e42538be88c99b74ede4d12e3).
2012-09-07 03:51:31 +02:00
kai
521921e5d3 Fix some whitespace issues. 2012-08-25 14:41:33 +02:00
Alexey Prokhin
0e54278c5a Implicitly cast return expression to inferenced return type of a literal function.
The commit fixes a segfault when compiling a code similar to:
  float delegate() d = { return 1.0; };
2012-04-21 22:37:36 +04:00
Alexey Prokhin
27fadea1b9 Merged last dmd2 changes 2012-04-06 15:46:07 +04:00
Alexey Prokhin
bca73ec8b9 Merged dmd 2.059beta 2012-04-05 15:30:00 +04:00
Alexey Prokhin
50bbeb7c6f Remerged dmd2 frontend using git subtree 2012-04-05 11:12:22 +04:00
Alexey Prokhin
038825a195 Temporary removed dmd2 frontend 2012-04-05 11:10:26 +04:00
kai
0a9ba4d283 Move additional #include inside IN_LLVM section. 2012-03-25 15:19:25 +02:00
kai
4616b068c8 Add MSC specific code. 2012-03-22 21:01:07 +01:00
Alexey Prokhin
e74e55df89 Merge 2.058beta 2012-02-15 13:23:16 +04:00
Alexey Prokhin
88cff99bd4 Merge dmdfe 2.057 2011-12-16 19:44:56 +04:00
Alexey Prokhin
b52c224d57 Merge v2.056 2011-11-01 11:44:03 +04:00
Alexey Prokhin
9a9999854f Named Return Value Optimization 2011-09-13 21:01:38 +04:00
Alexey Prokhin
0e754b5acd Merge dmd v2.055 2011-09-13 21:01:32 +04:00
Alexey Prokhin
213524bc61 CTFE: fixed calling of invariant from a constructor 2011-07-22 22:22:06 +04:00
Alexey Prokhin
3c7490e446 Removed compiler warning 2011-07-19 19:20:40 +04:00
Alexey Prokhin
7a31b599cc Updated to dmdfe 2.054 2011-07-19 19:20:38 +04:00
Alexey Prokhin
462cdda4ae Merge dmdfe 2.053beta 2011-07-19 10:14:04 +04:00
Alexey Prokhin
293f5bf880 Updated to dmdfe 2.052 2011-02-20 19:00:52 +03:00
Moritz Warning
cb229578cf fix ldc2 compilation for Haiku; thanks to MrSunshine 2011-01-24 19:18:06 +01:00
Alexey Prokhin
f57409958c Fixed consturctors of structs that have invariant 2011-01-06 15:08:07 +03:00
Alexey Prokhin
c5e9784863 Updated to dmdfe 2.051 2011-01-05 18:21:40 +03:00
Alexey Prokhin
6d22dd7999 Updated to 2.050 2010-11-08 16:55:35 +03:00
Alexey Prokhin
b1e5993873 Started work on phobos 2010-10-27 18:13:46 +04:00
Alexey Prokhin
df87607ba2 Updated to 2.049 2010-09-30 21:54:45 +04: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