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
Robert Clipsham
b73e45940a
Merged dmdfe 2.031.
2009-07-07 02:26:11 +01:00